After using the Merge option to Load a Plugin Preset on an Atom, any pre-existing plugins are lost on a Scene Save (or Plugin Preset Save).
Merging plugin presets works fine for the current active scene, and any existing plugins have a prefix added to their name of "pluginOrig#", however when saving they are not included. Investigating the problem using scripting shows the GetJSON() on the MVRPluginMgr only returns the plugins that have been merged and not any pre-existing plugins. The Storables for all the plugins are correctly output in any save files, but the PluginManager does not contain the correct list of all plugins.
Attached is an example of a Plugin Preset created after this scenario. It can be seen that the PluginManager and the Plugin Storables no longer align.
Tested on Person Atom in VAM 1.20.0.10
Detailed steps to reproduce:
1) Create a Person Atom in an empty scene
2) Load FloatParamRandomizer plugin on Person atom.
3) Create a Plugin Preset called "Test" from Person atom.
4) Merge Load the new Plugin Preset "Test" - results in two FloatParamRandomizer plugins on the Person Atom
5) Save Scene as "Test Scene"
6) Load Scene "Test Scene"
7) Check Plugins on Person Atom.
EXPECTED RESULT: Two FloatParamRandomizer Plugins
ACTUAL RESULT: One FloatParamRandomizer Plugins
NOTE: I use GetJSON on the MVRPluginMgr extensively in my own plugins to determine what plugins are loaded on an Atom and then interact with those plugins. Once this condition has arisen it creates significant problems which I cant code around.
Merging plugin presets works fine for the current active scene, and any existing plugins have a prefix added to their name of "pluginOrig#", however when saving they are not included. Investigating the problem using scripting shows the GetJSON() on the MVRPluginMgr only returns the plugins that have been merged and not any pre-existing plugins. The Storables for all the plugins are correctly output in any save files, but the PluginManager does not contain the correct list of all plugins.
Attached is an example of a Plugin Preset created after this scenario. It can be seen that the PluginManager and the Plugin Storables no longer align.
Tested on Person Atom in VAM 1.20.0.10
Detailed steps to reproduce:
1) Create a Person Atom in an empty scene
2) Load FloatParamRandomizer plugin on Person atom.
3) Create a Plugin Preset called "Test" from Person atom.
4) Merge Load the new Plugin Preset "Test" - results in two FloatParamRandomizer plugins on the Person Atom
5) Save Scene as "Test Scene"
6) Load Scene "Test Scene"
7) Check Plugins on Person Atom.
EXPECTED RESULT: Two FloatParamRandomizer Plugins
ACTUAL RESULT: One FloatParamRandomizer Plugins
NOTE: I use GetJSON on the MVRPluginMgr extensively in my own plugins to determine what plugins are loaded on an Atom and then interact with those plugins. Once this condition has arisen it creates significant problems which I cant code around.