playMaker

Author Topic: Changes on Prefab FSMs can degenerate into mangled FSMs on Variants  (Read 23268 times)

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 824
One way or another, I don't know how, it's possible to corrupt the relation between a FSM on a Prefab and its modified versions on Variant assets. At this point I simply cannot bring any modification on a particular FSM on a Prefab without the corresponding ones that I have locally modified on Variants to suffer so many senseless alterations: states disappearing or moved, sometimes hiding behind other states, selected states that stay glued to the mouse cursor, actions being modified or added to states that were empty, the Start event literally gone, transition colors being changed, etc.

In other words, while a manually and locally modified FSM on a Variant should not accept the changes brought to the original FSM on a Prefab (yet it does partially by design), because doing changes to an instance separates it from the source (it should do it fully), there remains an influence that keeps trying to apply changes despite the separation and this truly creates deformities, absolute FSM abominations. It's really weird and terribly annoying because any modification brought to the FSM that for some reason is now corrupt on the Prefab forces me to check for its manually altered brethren on the Variants just to correct the horrible mutations.

Sometimes, for some unknown reason, the plague seems to spread to other FSMs too so that every once in a very odd while, a reference to another GameObject will simply pop off and be lost in another manually altered FSM on a Variant.
No amount of tricks and fiddling to repair the implicit links between the Prefab, the Variants and their respective FSMs will work. Once a corruption has entered a FSM, it's definitive.  :(

I am providing a little clarification here.  I know that Playmaker runs some kind of hybrid methodology where it both allows FSMs to be modified locally while still trying to apply changes that are made to the source if it can find correspondances. When this works, it is useful, but when it's getting messed up it backfires spectacularly to the point of becoming a huge waste of time.

Perhaps this begs for a tool to be able to compare the modified FSM and the source and select every single element that we want to revert or apply, state and each action. Say in a popup window.
Also this "intelligent" hybrid process should be activable in the Preferences to allow for a true separation of the FSM from the model, with no bizarre implicit semi-links, but with the possibility to revert the FSM if needed at any time. Which means this option would not act as the unpacking one where a modification to a FSM completely separates an instanced GO from the prefab.
« Last Edit: December 19, 2024, 11:23:34 AM by Broken Stylus »