I managed to understand at least what could be causing the problem and maybe the explanation could help find a solution.
I'm using
PlayMaker 1.9.9 in
Unity 2023.1.20f1. The project was originally from 2015, receiving updates since then, for Android and iOS.
After reading the manual about
fixing missing script references, I compared GUIDs from assets (FSM scripts on scenes and FSM templates) with the
PlayMaker.dll GUID and found out that the GUID used in all assets were the one from the
PlayMaker.dll in
Assets/Plugins/PlayMaker/WP8 instead of the main one in the root of
Assets/Plugins/PlayMaker.
By updating the GUID, some assets (the ones with simpler FSM, using few states) worked, but others, especially the more complex templates, despite opening, had errors like the one below:
Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs' line='1618'">C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs:1618)
HutongGames.PlayMakerEditor.FsmEditor.OnSelectionChange () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs:1225)
HutongGames.PlayMakerEditor.FsmEditor.Init () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs:591)
HutongGames.PlayMakerEditor.FsmEditor.OnEnable () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/FsmEditor.cs:556)
HutongGames.PlayMakerEditor.FsmEditorWindow.Initialize () (at Assets/Vendor/PlayMaker/Editor/FsmEditorWindow.cs:193)
HutongGames.PlayMakerEditor.BaseEditorWindow.OnGUI () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Editor/Classes/BaseEditorWindow.cs:131)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:509)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:393)
UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:384)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:381)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:197)
I tried replacing the main DLL from
Assets/Plugins/PlayMaker with the one in
Assets/Plugins/PlayMaker/WP8 and vice versa without success.
I've also tried the tool
PlayMaker/Tools/Update All FSMs in Build before updating the Unity version, also without success.
If I create a new template from the existing ones, they work. Looking at their GUID, they use the one from
Assets/Plugins/PlayMaker, not the
WP8 one.
Any idea on how to to solve it to allow Unity update without having to recreate all FSMs by hand? Thank you very much!
