I am using Playmaker and EasySave3 to save my scene. I use a C# script to instantiate my prefabs into the scene. These prefabs have been marked for autosave, I have a ES3 Manager in the scene, auto saved is turned to on. The prefabs consist of a script, an FSM and some child gameobjects for visuals. I have also updated Easy Save earlier today. I am running Unity 2021.1.13f1.
I set up UI buttons to trigger Playmaker actions ES3 Auto Save Save and ES3 Auto Save Load. The Save action seems to work (no errors) but the Load action throws the following error:
Code: Select all
NullReferenceException: Object reference not set to an instance of an object
ES3Types.ES3Type_Fsm.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/PlayMaker/ES3PlayMaker.cs:1726)
ES3Types.ES3Type_Fsm.ReadObject[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/PlayMaker/ES3PlayMaker.cs:1747)
ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:54)
ES3Reader.ReadObject[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3UserType_PlayMakerFSM.ReadComponent[T] (ES3Reader reader, System.Object obj) (at Assets/Easy Save 3/Types/ES3UserType_PlayMakerFSM.cs:34)
ES3Types.ES3ComponentType.ReadUnityObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:36)
ES3Types.ES3UnityObjectType.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:65)
ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:77)
ES3Types.ES3Type_GameObject.ReadComponents (ES3Reader reader, UnityEngine.GameObject go) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:216)
ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:167)
ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:77)
ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:131)
ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:54)
ES3Reader.ReadObject[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3CollectionType.ReadICollection[T] (ES3Reader reader, System.Collections.Generic.ICollection`1[T] collection, ES3Types.ES3Type elementType) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3CollectionType.cs:52)
ES3Types.ES3ArrayType.Read (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3ArrayType.cs:36)
ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:274)
ES3.Deserialize (ES3Types.ES3Type type, System.Byte[] bytes, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:799)
ES3.Deserialize[T] (System.Byte[] bytes, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:788)
ES3File.Load[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/ES3File.cs:246)
ES3.Load[T] (System.String key, T defaultValue, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:433)
ES3AutoSaveMgr.Load () (at Assets/Plugins/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:85)
ES3PlayMaker.ES3AutoSaveLoad.OnEnter () (at Assets/Plugins/Easy Save 3/PlayMaker/ES3PlayMaker.cs:1515)
HutongGames.PlayMaker.FsmState.ActivateActions (System.Int32 startIndex) (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/FsmState.cs:222)
HutongGames.PlayMaker.FsmState.OnEnter () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/FsmState.cs:192)
HutongGames.PlayMaker.Fsm.EnterState (HutongGames.PlayMaker.FsmState state) (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/Fsm.cs:3055)
HutongGames.PlayMaker.Fsm.SwitchState (HutongGames.PlayMaker.FsmState toState) (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/Fsm.cs:2994)
HutongGames.PlayMaker.Fsm.UpdateStateChanges () (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/Assets/PlayMaker/Classes/Fsm.cs:2927)
HutongGames.PlayMaker.Fsm.DoTransition (HutongGames.PlayMaker.FsmTransition transition, System.Boolean isGlobal) (at C:/Projects/Playmaker_1.9.1/Projects/Playmaker.source.unity/
As another test, I have created an array of gameobjects (those same prefabs I instantiated) and tried to load and save these arrays. No issues using playmaker action Save All to save the array of gameobjects. Using Playmaker action Load All led to this error:
Code: Select all
Furniture Save Manager : FSM : State 1 : LoadAll : System.FormatException: Expected '{' or "null", found '0'.
at ES3Internal.ES3JSONReader.ReadNullOrCharIgnoreWhitespace (System.Char expectedChar) [0x0009f] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3JSONReader.cs:359
at ES3Internal.ES3JSONReader.StartReadObject () [0x00007] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3JSONReader.cs:111
at ES3Reader.ReadObject[T] (ES3Types.ES3Type type) [0x00000] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:246
at ES3Reader.Read[T] (ES3Types.ES3Type type) [0x00076] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:278
at ES3Types.ES3DictionaryType.Read (ES3Reader reader) [0x0003e] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Types\Collection Types\ES3DictionaryType.cs:99
at ES3Reader.Read[T] (ES3Types.ES3Type type) [0x00064] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:276
at ES3Reader.Read[T] () [0x00000] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:126
at ES3Types.ES3Type_PMDataWrapper.ReadObject[T] (ES3Reader reader, System.Object obj) [0x0005d] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:1678
at ES3Types.ES3Type_PMDataWrapper.ReadObject[T] (ES3Reader reader) [0x00006] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:1699
at ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) [0x00034] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Types\ES3ObjectType.cs:54
at ES3Reader.ReadObject[T] (ES3Types.ES3Type type) [0x00012] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:249
at ES3Reader.Read[T] (ES3Types.ES3Type type) [0x00076] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:278
at ES3Reader.Read[T] (System.String key) [0x0004b] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:197
at ES3.Load[T] (System.String key, ES3Settings settings) [0x0003b] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\Scripts\ES3.cs:391
at ES3PlayMaker.LoadAll.Enter () [0x00000] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:432
at ES3PlayMaker.ActionBase.OnEnter () [0x00000] in C:\Users\user\OneDrive\Documents\Unity\Fitment\Fitment\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:42
0x00007ff62ecfa53c (Unity) StackWalker::GetCurrentCallstack
0x00007ff62ed006d9 (Unity) StackWalker::ShowCallstack
0x00007ff62f4f5a83 (Unity) GetStacktrace
0x00007ff6303f849a (Unity) DebugStringToFile
0x00007ff62ee8bd1d (Unity) DebugLogHandler_CUSTOM_Internal_Log
0x000001a9fd74b67b (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
0x000001a9fd74b5cb (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
0x000001a9fd7718e1 (Mono JIT Code) UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object)
0x000001a9fd7717ca (Mono JIT Code) UnityEngine.Debug:LogError (object,UnityEngine.Object)
0x000001a9fd76ba63 (Mono JIT Code) [FsmLog.cs:175] HutongGames.PlayMaker.FsmLog:AddEntry (HutongGames.PlayMaker.FsmLogEntry,bool)
0x000001a9fd771043 (Mono JIT Code) [FsmLog.cs:364] HutongGames.PlayMaker.FsmLog:LogAction (HutongGames.PlayMaker.FsmLogType,string,bool)
0x000001a9fd770e13 (Mono JIT Code) [FsmStateAction.cs:303] HutongGames.PlayMaker.FsmStateAction:LogError (string)
0x000001a9fd770d83 (Mono JIT Code) [ES3PlayMaker.cs:65] ES3PlayMaker.ActionBase:HandleError (string)
0x000001a9fd76ff3b (Mono JIT Code) [ES3PlayMaker.cs:47] ES3PlayMaker.ActionBase:OnEnter ()
0x000001a9fd76ca40 (Mono JIT Code) [FsmState.cs:224] HutongGames.PlayMaker.FsmState:ActivateActions (int)
0x000001a9fd76c73b (Mono JIT Code) [FsmState.cs:192] HutongGames.PlayMaker.FsmState:OnEnter ()
0x000001a9fd76c3bb (Mono JIT Code) [Fsm.cs:3058] HutongGames.PlayMaker.Fsm:EnterState (HutongGames.PlayMaker.FsmState)
0x000001a9fd76c19b (Mono JIT Code) [Fsm.cs:2996] HutongGames.PlayMaker.Fsm:SwitchState (HutongGames.PlayMaker.FsmState)
0x000001a9fd76bfb3 (Mono JIT Code) [Fsm.cs:2925] HutongGames.PlayMaker.Fsm:UpdateStateChanges ()
0x000001a9fd77dccb (Mono JIT Code) [Fsm.cs:2967] HutongGames.PlayMaker.Fsm:DoTransition (HutongGames.PlayMaker.FsmTransition,bool)
0x000001a9fd76d903 (Mono JIT Code) [Fsm.cs:2490] HutongGames.PlayMaker.Fsm:ProcessEvent (HutongGames.PlayMaker.FsmEvent,HutongGames.PlayMaker.FsmEventData)
0x000001aa0237a95b (Mono JIT Code) [Fsm.cs:2896] HutongGames.PlayMaker.Fsm:SendEventToFsmOnGameObject (UnityEngine.GameObject,string,HutongGames.PlayMaker.FsmEvent)
0x000001a9fd76d17b (Mono JIT Code) [Fsm.cs:2632] HutongGames.PlayMaker.Fsm:Event (HutongGames.PlayMaker.FsmEventTarget,HutongGames.PlayMaker.FsmEvent)
0x000001aa0237a0db (Mono JIT Code) [SendEvent.cs:43] HutongGames.PlayMaker.Actions.SendEvent:OnEnter ()
0x000001a9fd76ca40 (Mono JIT Code) [FsmState.cs:224] HutongGames.PlayMaker.FsmState:ActivateActions (int)
0x000001a9fd76c73b (Mono JIT Code) [FsmState.cs:192] HutongGames.PlayMaker.FsmState:OnEnter ()
0x000001a9fd76c3bb (Mono JIT Code) [Fsm.cs:3058] HutongGames.PlayMaker.Fsm:EnterState (HutongGames.PlayMaker.FsmState)
0x000001a9fd76c19b (Mono JIT Code) [Fsm.cs:2996] HutongGames.PlayMaker.Fsm:SwitchState (HutongGames.PlayMaker.FsmState)
0x000001a9fd76bfb3 (Mono JIT Code) [Fsm.cs:2925] HutongGames.PlayMaker.Fsm:UpdateStateChanges ()
0x000001a9fd77dccb (Mono JIT Code) [Fsm.cs:2967] HutongGames.PlayMaker.Fsm:DoTransition (HutongGames.PlayMaker.FsmTransition,bool)
0x000001a9fd76d903 (Mono JIT Code) [Fsm.cs:2490] HutongGames.PlayMaker.Fsm:ProcessEvent (HutongGames.PlayMaker.FsmEvent,HutongGames.PlayMaker.FsmEventData)
0x000001a9fd76d083 (Mono JIT Code) [Fsm.cs:2619] HutongGames.PlayMaker.Fsm:Event (HutongGames.PlayMaker.FsmEventTarget,HutongGames.PlayMaker.FsmEvent)
0x000001a9fd76e3bb (Mono JIT Code) [Fsm.cs:2707] HutongGames.PlayMaker.Fsm:Event (HutongGames.PlayMaker.FsmEvent)
0x000001aa0237a04b (Mono JIT Code) [Fsm.cs:2688] HutongGames.PlayMaker.Fsm:Event (string)
0x000001aa02379fb3 (Mono JIT Code) [PlayMakerFSM.cs:762] PlayMakerFSM:SendEvent (string)
0x000001aa02379f59 (Mono JIT Code) UnityEngine.Events.InvokableCall`1<T1_REF>:Invoke (T1_REF)
0x000001aa02379ee3 (Mono JIT Code) UnityEngine.Events.CachedInvokableCall`1<T_REF>:Invoke (object[])
0x000001a9fd5e9a77 (Mono JIT Code) UnityEngine.Events.UnityEvent:Invoke ()
0x000001aa02379003 (Mono JIT Code) [Button.cs:71] UnityEngine.UI.Button:Press ()
0x000001aa02378f63 (Mono JIT Code) [Button.cs:115] UnityEngine.UI.Button:OnPointerClick (UnityEngine.EventSystems.PointerEventData)
0x000001aa02378f09 (Mono JIT Code) [ExecuteEvents.cs:58] UnityEngine.EventSystems.ExecuteEvents:Execute (UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData)
0x000001aa0237388a (Mono JIT Code) [ExecuteEvents.cs:272] UnityEngine.EventSystems.ExecuteEvents:Execute<T_REF> (UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents/EventFunction`1<T_REF>)
0x000001a9fd7c97db (Mono JIT Code) [InputSystemUIInputModule.cs:386] UnityEngine.InputSystem.UI.InputSystemUIInputModule:ProcessPointerButton (UnityEngine.InputSystem.UI.PointerModel/ButtonState&,UnityEngine.EventSystems.PointerEventData)
0x000001a9fd7c4beb (Mono JIT Code) [InputSystemUIInputModule.cs:233] UnityEngine.InputSystem.UI.InputSystemUIInputModule:ProcessPointer (UnityEngine.InputSystem.UI.PointerModel&)
0x000001a9fd7c3ba3 (Mono JIT Code) [InputSystemUIInputModule.cs:1556] UnityEngine.InputSystem.UI.InputSystemUIInputModule:Process ()
0x000001a9fd7aa97f (Mono JIT Code) [EventSystem.cs:504] UnityEngine.EventSystems.EventSystem:Update ()
0x000001aa0238f5e0 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007fffd701e640 (mono-2.0-bdwgc) [mini-runtime.c:2812] mono_jit_runtime_invoke
0x00007fffd6fa2ad2 (mono-2.0-bdwgc) [object.c:2921] do_runtime_invoke
0x00007fffd6fabb2f (mono-2.0-bdwgc) [object.c:2968] mono_runtime_invoke
0x00007ff62ec45984 (Unity) scripting_method_invoke
0x00007ff62ec40ff1 (Unity) ScriptingInvocation::Invoke
0x00007ff62ec112c4 (Unity) MonoBehaviour::CallMethodIfAvailable
0x00007ff62ec113cc (Unity) MonoBehaviour::CallUpdateMethod
0x00007ff62e798b68 (Unity) BaseBehaviourManager::CommonUpdate<BehaviourManager>
0x00007ff62e79eb5a (Unity) BehaviourManager::Update
0x00007ff62e991fea (Unity) `InitPlayerLoopCallbacks'::`2'::UpdateScriptRunBehaviourUpdateRegistrator::Forward
0x00007ff62e97ad9c (Unity) ExecutePlayerLoop
0x00007ff62e97ae73 (Unity) ExecutePlayerLoop
0x00007ff62e97ff99 (Unity) PlayerLoop
0x00007ff62f0fb991 (Unity) PlayerLoopController::UpdateScene
0x00007ff62f0f9f51 (Unity) Application::TickTimer
0x00007ff62f4fb7b1 (Unity) MainMessageLoop
0x00007ff62f4ff3e6 (Unity) WinMain
0x00007ff63102d662 (Unity) __scrt_common_main_seh
0x00007ff884da7034 (KERNEL32) BaseThreadInitThunk
0x00007ff8850c2651 (ntdll) RtlUserThreadStart