Persistent parameters

My understanding is that if I create a parameter and set persistent to “false” it is not suppose to load it’s value with the preset but instead just remain the same. When I load the program again the value resets back to its default value. Isn’t this option supposed to be used to keep a parameter the same no matter what? My goal is to create a parameter and then have it remain the same as a global option so that reloading it keeps it enabled once it is activated.

If you set persistent to false then its value will not be saved (and restored) with the preset and therefore it always loads with its default value.
It also doesn’t appear in edit history so undo or redo will have no effect on its value. If you want it to load with a value other than default you can use the onLoad and onSave callbacks.

From what I’ve read, onSave is only ran when the script is saved. So unless the end-user saves the state of the parameter it isn’t actually stored? Also is it possible for any program in my library that’s accessing the script to pull the data? My goal is to create a parameter who’s value isn’t particularly part of the program but instead is just universally true or false across any program loaded in the slot that’s part of the same library. For example, if I created a parameter that turns oscillator 2 off. I would want the end-user to be able to press the switch that performs the action and then from there it would be off in every preset the end user loads from that library. Is something like that even possible?