Inspector Save/Load multiple runtime parameter values

Before I make my own, wondering if there is an asset store script/plugin that already does this better than what I would go make…

I want to be able to save/load runtime configurations of inspector property values. Ideally it would have a text field for naming saves and a dropdown to load any previously saved values. My specific use, though I’m sue anyone can think of situations this is useful:

I’ve exposed a couple dozen float parameters for a fractal shader configuration where runtime toying with values has completely different visual results that I would like to save out and use again later. Seems like someone would have already made a great utility for doing this but so far I haven’t found the right search term on the asset store.

Advanced Inspector, maybe?

1 Like

If I’m understanding what you want to do here, I don’t think it can be done, but I for sure could be wrong. I was watching a tutorial on scriptable objects by someone on the Unity team, and one thing they mentioned is you can not save any changes you make in the property inspector during runtime (i.e. it’s not even possible), and that was part of the reason to use scriptable objects (as changes to those can be done/saved at run time).

Again, don’t quote me on that, nor should you sue me if I’m wrong (which is very possible) :slight_smile: It seems like there should be some sort of workaround to allow you to do this, but I was a little too sleepy to pay attention to the full explanation as to why it can’t be done. lol

(of course there is the one work around of copying components or gameobjects during runtime and pasting back in editor after stopping, but that’s pretty hoakey and obviously not what you’re after here)

Edit: looks like the link BlackPete suggested does have a way to get around this issue…
“Watch and Save values at runtime”

Alternatively, since you mentioned that you want to be able to save multiple sets of values at run time to use again later, one thing you could try doing is creating a prefab out of the current set of data, change some more data, create another prefab, etc.