Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Easy Save - The Complete Save Data & Serialization Asset

Discussion in 'Assets and Asset Store' started by JoelAtMoodkie, May 28, 2011.

  1. pkessler94

    pkessler94

    Joined:
    Dec 20, 2018
    Posts:
    21
    Installing the package and enabling Auto Save gives me these errors. I tried reinstalling and same issue:

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:424)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:415)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:92)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Plugins/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Plugins/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:355)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
    Aborting
    UnityEngine.GUILayoutGroup.GetNext () (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/LayoutGroup.cs:129)
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:458)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:415)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:92)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Plugins/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Plugins/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:376)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:676)
    UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:536)
    UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRenderer/UIRenderers.cs:130)
    Rethrow as ImmediateModeException
    UnityEngine.UIElements.UIR.RenderChain.Render () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRRenderChain.cs:519)
    UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRRepaintUpdater.cs:79)
    UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/VisualTreeUpdater.cs:111)
    UnityEngine.UIElements.Panel.UpdateForRepaint () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:1026)
    UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:1087)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:454)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:205)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:424)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:415)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:92)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:355)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
    Aborting
    UnityEngine.GUILayoutGroup.GetNext () (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/LayoutGroup.cs:129)
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:458)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:415)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:92)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:376)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:676)
    UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:536)
    UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRenderer/UIRenderers.cs:130)
    Rethrow as ImmediateModeException
    UnityEngine.UIElements.UIR.RenderChain.Render () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRRenderChain.cs:519)
    UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Renderer/UIRRepaintUpdater.cs:79)
    UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/VisualTreeUpdater.cs:111)
    UnityEngine.UIElements.Panel.UpdateForRepaint () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:1026)
    UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:1087)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:454)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:205)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.TextEditor.UpdateScrollOffset () (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1032)
    UnityEngine.TextEditor.UpdateScrollOffsetIfNeeded (UnityEngine.Event evt) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1024)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText, System.Char maskChar) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:620)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:585)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:580)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:95)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:376)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:676)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:648)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:641)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:601)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:590)
    UnityEngine.UIElements.IMGUIContainer.ProcessEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:514)
    UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:267)
    UnityEngine.UIElements.CallbackEventHandler.HandleEventAtCurrentTargetAndPhase (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:189)
    UnityEngine.UIElements.CallbackEventHandler.UnityEngine.UIElements.IEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:206)
    UnityEngine.UIElements.EventDispatchUtilities.HandleEventAcrossPropagationPath (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/IEventDispatchingStrategy.cs:143)
    UnityEngine.UIElements.EventDispatchUtilities.PropagateEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/IEventDispatchingStrategy.cs:90)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.SendEventToRegularTarget (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/MouseEventDispatchingStrategy.cs:36)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.SendEventToTarget (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/MouseEventDispatchingStrategy.cs:26)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel iPanel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/MouseEventDispatchingStrategy.cs:19)
    UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:422)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:363)
    UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:321)
    UnityEngine.UIElements.EventDispatcher.OpenGate () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:285)
    UnityEngine.UIElements.EventDispatcherGate.Dispose () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:77)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:413)
    UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:229)
    UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:457)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:477)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:205)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.TextEditor.UpdateScrollOffset () (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1032)
    UnityEngine.TextEditor.UpdateScrollOffsetIfNeeded (UnityEngine.Event evt) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1024)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText, System.Char maskChar) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:620)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:585)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:580)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:95)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:376)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:676)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:648)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:641)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:601)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:590)
    UnityEngine.UIElements.IMGUIContainer.ProcessEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:514)
    UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:267)
    UnityEngine.UIElements.CallbackEventHandler.HandleEventAtCurrentTargetAndPhase (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:189)
    UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/EventHandler.cs:173)
    UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/MouseCaptureDispatchingStrategy.cs:88)
    UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:422)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:363)
    UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:321)
    UnityEngine.UIElements.EventDispatcher.OpenGate () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:285)
    UnityEngine.UIElements.EventDispatcherGate.Dispose () (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:77)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:413)
    UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:229)
    UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:457)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:477)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:205)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:424)
    UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayoutUtility.cs:415)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:92)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:355)
    UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32) (at /Users/bokken/build/output/unity/unity/Editor/Mono/EditorGUI.cs:3825)

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.TextEditor.UpdateScrollOffset () (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1032)
    UnityEngine.TextEditor.UpdateScrollOffsetIfNeeded (UnityEngine.Event evt) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/TextEditor.cs:1024)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText, System.Char maskChar) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:620)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style, System.String secureText) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:585)
    UnityEngine.GUI.DoTextField (UnityEngine.Rect position, System.Int32 id, UnityEngine.GUIContent content, System.Boolean multiline, System.Int32 maxLength, UnityEngine.GUIStyle style) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUI.cs:580)
    UnityEngine.GUILayout.DoTextField (System.String text, System.Int32 maxLength, System.Boolean multiline, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:95)
    UnityEngine.GUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUILayout.cs:50)
    ES3Editor.AutoSaveWindow.OnGUI () (at Assets/Easy Save 3/Editor/AutoSaveWindow.cs:102)
    ES3Editor.ES3Window.OnGUI () (at Assets/Easy Save 3/Editor/ES3Window.cs:180)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at /Users/bokken/build/output/unity/unity/Editor/Mono/HostView.cs:512)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:386)
    UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/build/output/unity/unity/Editor/Mono/GUI/DockArea.cs:377)
    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:376)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:676)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:648)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:641)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:601)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/IMGUIContainer.cs:590)
    UnityEngine.UIElements.CommandEventDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Events/CommandEventDispatchingStrategy.cs:21)
    UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:422)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:363)
    UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/EventDispatcher.cs:229)
    UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/Panel.cs:457)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:477)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:205)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/ModuleOverrides/com.unity.ui/Core/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:190)
    UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32) (at /Users/bokken/build/output/unity/unity/Editor/Mono/EditorGUI.cs:3825)
     
  2. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there, and thanks for getting in contact.

    This appears to be a bug at Unity's end in the latest version of Unity 2022 LTS. If you private message me your invoice number I can send over an update which works around this.

    All the best,
    Joel
     
  3. pep_dj

    pep_dj

    Joined:
    Nov 7, 2014
    Posts:
    178
    That's a great plugin. But I'm having an issue with the latest version (3.5.5): inherited fields are not saved.

    I think the problem is in the method GetSerializableFields(...), in the file ES3Reflection.cs. In this release, you commented this code because This isn't necessary as GetFields will get base fields with the above binding flags:

    Code (CSharp):
    1. var baseType = BaseType(type);
    2. if (baseType != null && baseType != typeof(System.Object) && baseType != typeof(UnityEngine.Object))
    3.         GetSerializableFields(BaseType(type), serializableFields, safe, memberNames);
    But the problem is that GetFields method is not getting base fields because of this binding flag: BindingFlags.DeclaredOnly (Specifies that only members declared at the level of the supplied type's hierarchy should be considered. Inherited members are not considered.)

    So, it works either if I uncomment the commented code, or if I remove BindingFlags.DeclaredOnly.

    I hope you can fix in the correct way, and release a new version.

    Thank you, and sorry for my bad English.
     
  4. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there, and thanks for the report, much appreciated.

    Looking at our repo it looks like we performed a merge which restored the DeclaredOnly flag when it should have been removed, so I'll have this fixed in the next update.

    All the best,
    Joel
     
    pep_dj likes this.
  5. dariuspowell

    dariuspowell

    Joined:
    Jun 11, 2015
    Posts:
    28
    Hello.
    I'm trying to figure out if I can achieve something with Easy Save 3. For an installation, users will create they own creatures by scanning them into a running game. This side I've done successfully before but I struggling to save new objects after they are created and to maintain their material.

    I am planning to do the following:

    - Create a new game object at runtime from a prefab
    - New game object is given a new material on creation
    - On creation of new game object and material, save game.
    Repeat for each new object.
    - If game is closed/crashes and reloaded, the latest save game is loaded with all the new game objects in the world.

    I believe the issue is around materials not being saved? Any advice would be greatly appreciated.

    thanks
    Darius
     
  6. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi Darius,

    This is indeed possible with Easy Save, and is a common use case. The Saving and Loading GameObjects and Prefabs guide will be most useful to you, especially the Saving and loading prefab instances section:

    https://docs.moodkie.com/easy-save-3/es3-guides/saving-loading-gameobjects-prefabs/

    There's also an example of this here:
    https://moodkie.com/forum/viewtopic.php?t=2692

    By default Easy Save will save your Materials by reference. However, as your Materials are generated at runtime you would need to save them by value. If you private message me your invoice number I can send over a package which will ensure that materials on your MeshRenderers are saved by value.

    Just another thing to note: if your Material uses a Texture, that Texture will need to be a dependency of your scene prior to runtime so that Easy Save knows that it needs to be added to the reference manager.

    All the best,
    Joel
     
  7. dariuspowell

    dariuspowell

    Joined:
    Jun 11, 2015
    Posts:
    28

    Thanks for the quick reply. I've sent private message.

    On the texture side of things. I will capturing a screenshot from a webcam. I was thinking I would have to do save to file as jpg and then load in at game start. But must be another way and will potentially 1000s of images to load it might be too much at load?

    Or will Easy Save store texture if captured to streaming assets?

    Thanks
     
  8. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    If your Textures are also generated at runtime then you will need to save these by value also. If the Material is always going to be the same and it's only the Texture which differs, you don't actually need to save the Material, just the Texture.

    If you already have these stored in StreamingAssets then the easiest way would be to store the filename, rather than the Texture itself. Then when you save the List of your prefabs, you would also save a list of filenames which indicates the Texture for each of the prefabs you just saved. And then when loading, load the Texture with the given filename and apply it to the corresponding prefab instance.

    For performance you may also want to make a Dictionary containing your Textures and their corresponding filenames so that if multiple objects refer to the same Texture, you're not having to load that same Texture from disk multiple times.

    You could save the Texture by value when saving the Material, but I would very strongly recommend against this as performance will be inherently bad for a few reasons not specific to Easy Save or Unity.

    All the best,
    Joel
     
  9. dariuspowell

    dariuspowell

    Joined:
    Jun 11, 2015
    Posts:
    28
    Thanks Joel that is really helpful. I'm feeling better about it today with thanks to your help! I'll give it a go and get back to you if I get stuck. Many thanks
     
    JoelAtMoodkie likes this.
  10. dariuspowell

    dariuspowell

    Joined:
    Jun 11, 2015
    Posts:
    28
    Hi.

    I'm suddenly having the following error on build. Googling came up with a possible connect to Easy Save 3. Any idea how to resolve? Thanks

    An asset is marked with HideFlags.DontSave but is included in the build:
    Asset: 'Library/unity editor resources'
    Asset name: DefaultReflectionForPrefabMode
     
  11. dariuspowell

    dariuspowell

    Joined:
    Jun 11, 2015
    Posts:
    28
    OK. I found it offending asset was in Lighting and wad assigned to skybox settings. I have taken it out and now works.

    Thanks
     
  12. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Glad you managed to resolve your issue.

    All the best,
    Joel
     
  13. abcarroll3

    abcarroll3

    Joined:
    Jun 12, 2017
    Posts:
    7
    I've been trying for several days to use EasySave 3 with Invector and it will not work. Only my transforms or other base game objects get saved, not AI or player controllers. Too many layers for EasySave to handle perhaps. Still an issue even if I modify the invector code and remove protections. Hoping they (ES3) can help solve
     
  14. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    I'm currently providing you support for this via email.

    All the best,
    Joel
     
  15. Tanoshimi2000

    Tanoshimi2000

    Joined:
    Feb 10, 2014
    Posts:
    46
    I'm also using Invector's Third Person Controller - Shooter, and I cannot seem to get the CurrentHealth to set. It always saves 100%, or loads it as 100% or doesn't load. Could you post something? I do believe it's a Protected field. I also tried the _currentHealth. No good.

    Also, my project has a LOT of objects, so running through the hierarchy in the AutoSave tab looking for something takes a long time. Could you add a search bar at the top of the hierarchy?
     
  16. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    We don't have any experience with Invector and don't officially support it (it's the responsibility of the creators of the assets to make their classes serializable at runtime). Please could you create a new project with a simple scene which replicates this and private message it to me with instructions and your invoice number so I can see what is happening.

    There is a search bar at the top of the hierarchy (see screenshot), so it sounds like you might be using a very old version of Easy Save. I recommend ensuring that you're using the latest version of Easy Save.

    All the best,
    Joel
     

    Attached Files:

    Last edited: Jul 18, 2023
  17. Tanoshimi2000

    Tanoshimi2000

    Joined:
    Feb 10, 2014
    Posts:
    46
    OK, so I had downloaded ES3 last week and installed it, and didn't get the search bar, but I just went in, re-downloaded it, imported it, and now I have it! Thanks!

    Next question: multiple AutoSaves. It looks like the autosaves is a List, since there's a .Current and also a .Add. I'd like to have multiple autosaves for the same scene. Here's what I'm trying to do:

    1. When you exit the game it autosaves so that you can resume where you left off without penalty. (this works)
    2. When you hit a trigger it saves the waypoint. (this works)
    3. When you die in-game, I want it to load the last waypoint. Right now, I only have the .Current, and that's saving the last time you died if you haven't made it to the next waypoint yet.
    4. I'd like a menu where I can let the player return to any previous waypoint.

    What I'd like to do, if this is a list, is have AutoSave[0] be the current location, and then Autosave[1..n] be for each waypoint so that going to waypoint 3 would just be
    Code (CSharp):
    1. ES3AutoSaveMgr.autoSaves[3].Load()
    . Is that possible?
     
  18. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    This isn't the intended purpose of Auto Save so for this you would need to use code, as you can only have one Auto Save Manager per scene. You could however change the key of the Auto Save (i.e. ES3AutoSaveMgr.Current.key) to something which uniquely identifies that checkpoint to have multiple pieces of save data for the same scene.

    All the best,
    Joel
     
  19. Adam_Benko

    Adam_Benko

    Joined:
    Jun 16, 2018
    Posts:
    101
    Hi. Is there any guide explaining how to use multiple save files for a single game, like save slot 1, save slot 2, and how to create them ?
    I have already implemented save system in my game so I wonder if there is a way to set a default save file for the ES3, so that I dont have to specify the save file name whenever I want to save a variable.
    Thanks.
     
  20. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    There's information on this at the very top of the Settings, Paths and Storage locations guide:
    https://docs.moodkie.com/easy-save-3/es3-guides/settings-paths-locations/

    There's a sample scene of this here:
    https://moodkie.com/forum/viewtopic.php?t=2466

    All the best,
    Joel
     
  21. disappearer

    disappearer

    Joined:
    Jun 7, 2019
    Posts:
    74
    My native language is not english but as far as i understand this tool is not a simple save game tool, it allows to save all "assignable" values in scripts, and synchronize these values when it is called automatically, right?
     
  22. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    I'm not sure what you mean by "assignable" values, but you can find information on what fields it will save automatically here:
    https://docs.moodkie.com/easy-save-3/es3-supported-types/

    If using Auto Save these will be saved and loaded on the events you provide to it (by default On Application Quit and Awake). See the Auto Save docs for more info:
    https://docs.moodkie.com/easy-save-3/es3-guides/auto-save-saving-without-code/

    All the best,
    Joel
     
  23. disappearer

    disappearer

    Joined:
    Jun 7, 2019
    Posts:
    74
    assignable values is assignable values.
     
  24. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    See my previous post for what fields will be serialized by default and how to choose which ones are serialized.

    All the best,
    Joel
     
  25. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hey Joel,

    I'm having an issue with EasySave3 not saving a Sprite variable. upload_2023-8-2_22-38-40.png
    upload_2023-8-2_22-40-39.png
    I have 22 keys that I Save/Load using the PM Action Load/Save Multiple and they all work correctly except for the Sprite value, it saves correctly but always loads nothing so the image value is always empty. Is there any special consideration I should have when working with Sprites or is there something else wrong?
     
  26. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Are you getting any warnings in console? (you'll also want to check that warnings are enabled in the console).

    All the best,
    Joel
     
    EpicMcDude likes this.
  27. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    When saving I don't get an error as it gets saved successfully, but when loading sometimes I get a null reference exception because it doesn't load anything.
    Here's the save file when I save the "Crosshair" key upload_2023-8-3_20-22-24.png
    Thanks for the help!

    EDIT:
    Trying to fix this bug and noticed ES3 tried to load a Mesh Renderer from an object... What
    upload_2023-8-3_23-18-28.png
    So upon further tries ES3 seems to be getting random components and random game objects?
    upload_2023-8-3_23-21-23.png
    upload_2023-8-3_23-23-30.png
    This is Load Multiple PM action. Only happens with this key.
     
    Last edited: Aug 3, 2023
  28. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Please could you replicate this in a new project with a simple scene and private message it to me with instructions as I don't appear to be getting this behaviour at my end, and I've had no reports of this

    All the best,
    Joel
     
    EpicMcDude likes this.
  29. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hey Joel,

    Seems like I fixed it, I tried it in another project and it didn't have any issues so it was definitely local. Still not sure what was happening with the variable going null, but it's working now!

    Thanks
     
    JoelAtMoodkie likes this.
  30. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hi again Joel,

    I'm trying to make sense on how to best approach this situation. upload_2023-8-24_18-18-3.png
    I need to save a Game Object variable but the Save All action saves every variable from every FSM on that variable "Target Object", causing a System Overflow exception. Is there a way to only save all of the local FSM variables on the FSM the action Save All is in and not the FSMs from other Game Object variables?

    I tried the Save Multiple action but saving multiple Keys doesn't work because I want to use the same Key on every value (like Save All action) since I generate a random Key for every object that can be saved.

    Thank you!
     
  31. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    You should add an ES3GameObject Component to the GameObject(s) you're saving and unselect any PlayMaker Components (i.e. the FSM Component), and any other Components which you don't need to persist the variables of. If you just need to save a reference to that GameObject (rather than the values of the GameObject iself), you can uncheck all of it's Components.

    All the best,
    Joel
     
    EpicMcDude likes this.
  32. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Ohhh very interesting, I did not realize that component worked with the PM action. Thank you very much again!
     
    JoelAtMoodkie likes this.
  33. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Having an issue! I added that ES3CameObject component to the GameObject that I want to reference as a variable (Target Object in the previous image) in my FSM - everything is ticked off because I only want the GameObject itself.
    upload_2023-8-25_17-36-40.png
    But when I load the game it creates a duplicate empty transform of the GameObject variable and sets that as the reference in the variable, while the original is still there.
    upload_2023-8-25_18-24-50.png
    If I disable the Get and Set Fsm Game Object then ES3 doesn't create a duplicate since it's no longer a variable it works with.
     

    Attached Files:

  34. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Are you getting any warnings in console? You may need to check PlayMakers console unless you have enabled the setting which forwards the PlayMaker console to Unity's console.

    Also is the GameObject created at runtime? And if so, is it created from a prefab?
     
  35. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    One
    No prefab, it's an object that persists through scenes so it's inside DontDestroyOnLoad in the Scene Hierarchy. The only thing I'm doing in the FSM is using Get Fsm Game Object on save and Set Fsm Game Object on Load using Save All and Load All, but an empty Transform of the same name gets created from that reference at world position 0,0,0 inside the scene once loaded.
    upload_2023-8-25_22-44-31.png
    There's no errors or warnings or anything either.

    I was having the same issue with an NPC duplicated, since I was storing it's reference in a variable as well. What fixed it was using separate EasySave3 Managers for every scene (I was using only 1 that didn't get destroyed), but that doesn't fix it here since it's not even the same object, it's just an empty transform of the same name.
     
    Last edited: Aug 25, 2023
  36. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    In order to be able to load a GameObject by reference it needs an Easy Save 3 Manager in the same scene. If you move your GameObject to DontDestroyOnLoad, you would also need to move the Easy Save 3 Manager for the scene it belonged to into DontDestroyOnLoad.

    In your case there will be warnings logged to console, so I would double-check that your console is enabled to show warnings.

    If this doesn't resolve your issue please could you create a new project with a very simple scene containing only the minimal content required to replicate your issue and private message it to me with step-by-step instructions so I can see what is happening.

    All the best,
    Joel
     
    EpicMcDude likes this.
  37. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Thanks for sending that over Luis.

    You may want to check your Unity Console settings as I am indeed getting warnings with the project you sent me:
    This is expected behaviour for your project because you're not marking your Easy Save 3 Manager as DontDestroyOnLoad as previously mentioned. Once I mark it as DontDestroyOnLoad your scene works fine for me.

    Note that if you go straight to Scene B rather than via Scene A then you will always encounter this issue because it's not possible to load a reference to something which doesn't exist. As your Player Object only exists in Scene A, it will never exist.

    All the best,
    Joel
     
    Last edited: Aug 27, 2023
    EpicMcDude likes this.
  38. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Thank you Joel, is it OK to have a ES3 Manager on the DontDestroyOnLoad and also another once on each loaded Scene?

    I don't understand why but today it no longer creates duplicates of the game object, even though when I was putting the ES3 Manager on DontDestroyOnLoad to fix this missing reference, it was creating duplicates of the NPC calling the Load All action I assume because it has a reference to itself inside the FSM.
    But now it doesn't...? It's why I wasn't doing it this way. o_O

    EDIT: Okay I see what happened, since I was adding the ES3 Manager to Don'tDestroyOnLoad I was deleting it from the other Scene since I thought having 2 would get references mixed up because I was also having another problem of ES3 loading an NPC from another scene onto the current scene. But having 2 ES3 Managers co-exist works without issues so far!
     
  39. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    You should have an Easy Save 3 Manager in every scene which contains references that you want to save, so having multiple is fine.

    All the best,
    Joel
     
    EpicMcDude likes this.
  40. IgorGalimskiy

    IgorGalimskiy

    Joined:
    May 30, 2017
    Posts:
    31
    If you had a serialised class before, and you delete this class - you gonna have NRE

    Code (CSharp):
    1. Can't publish message of type GameVersionChangedMessage exception System.NullReferenceException: Object reference not set to an instance of an object.
    2.  at ES3Writer.Merge (ES3Reader reader) [0x00000] in <00000000000000000000000000000000>:0
    3.  at ES3Writer.Merge () [0x00000] in <00000000000000000000000000000000>:0
    4.  at ES3Writer.Save (System.Boolean overwriteKeys) [0x00000] in <00000000000000000000000000000000>:0
    5.  at ES3.Save[T] (System.String key, T value, ES3Settings settings) [0x00000] in <00000000000000000000000000000000>:0
    it creates issues - I have to keep class even when I don't use it any more
     

    Attached Files:

  41. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    I don't appear to be able to replicate this, and I've had no other reports of this. I tried replicating this by first running this script:
    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class DeleteClassTest : MonoBehaviour
    4. {
    5.     void Start()
    6.     {
    7.         ES3.Save("key", 123);
    8.         ES3.Save("deletedClass", new DeleteClass());
    9.         ES3.Save("anotherKey", Vector3.zero);
    10.     }
    11. }
    12.  
    13. public class DeleteClass
    14. {
    15.     public int myInt = 123;
    16. }
    And then running this script:

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class DeleteClassTest : MonoBehaviour
    4. {
    5.     void Start()
    6.     {
    7.         ES3.Save("key", 456);
    8.     }
    9. }
    If a key of a type which no longer exists is encountered it is automatically removed from the file during a merge. No exception is thrown.

    First check that you're using the latest version of Easy Save. If this isn't the issue please could you create a new project with a simple scene with the bare minimum to replicate the issue and send it to me at moodkie.com/contact along with your invoice number.

    All the best,
    Joel
     
  42. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hi Joel,

    Wondering if you could help me with a thought process.
    I'm saving information between scenes to their respectively named save files so that changes persist throughout scenes during their playtime.
    But the Player also has the ability to quicksave and manually save, so if the Player were in Scene A and he did a bunch of stuff in Scene B where he no longer is, how could I retrieve the information from the Scene B save file and merge that information on to the quicksave or manual save file?
    Would this be the right way to do it?

    Additionally, if the Player doesn't save the game, would the best way to reset the scene data is to always delete the scene save files if the Player doesn't save the game? So that the changes made in Scene B don't persist if the Player doesn't save the game.

    Thought you might have an insight on some workflow!
     
    Last edited: Sep 20, 2023
  43. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Generally you wouldn't have a separate save file for each scene but instead save data for all scenes to a single file (perhaps by appending the scene name to the keys you're saving). That way your Quicksave/Manual Save/etc are all separate files and can be managed as such.

    It's not possible to merge save files without loading the data from one and re-saving it to the other, so your current approach would be difficult at best, but impossible if you're saving references to anything.

    All the best,
    Joel
     
  44. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    I see, thank you for your insight!
     
  45. MaciejKrzykwa

    MaciejKrzykwa

    Joined:
    Aug 28, 2015
    Posts:
    52
    Hello, I have a problem.
    If I refresh the references, I have two errors in the build

    1.A scripted object (script unknown or not yet loaded) has a different serialization layout when loading. (Read 44 bytes but expected 221160 bytes)
    Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

    2.
    A scripted object (script unknown or not yet loaded) has a different serialization layout when loading. (Read 44 bytes but expected 8492 bytes)
    Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

    If I remove the References, this error does not occur.

    Thanks for reply
     
  46. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    This would usually mean that an object is being added to the references List which doesn't follow Unity's conventions for serializing objects. In this case I would recommend manually managing references so that this object isn't automatically added, and so that you can work out what object is causing it.

    You can do this by going to Tools > Easy Save 3 > Settings, unchecking Auto Add References and Add Prefabs to Manager. You can then delete your Easy Save 3 Manager to remove the existing references and re-add it using Tools > Easy Save 3 > Add Manager to Scene. Then you will need to manually add anything you might need to save or load by reference by right-clicking it and selecting Easy Save 3 > Add References to Manager.

    You can also use this to work out what object is causing the issue, as adding that object to the manager will trigger the issue.

    All the best,
    Joel
     
  47. ale23univ

    ale23univ

    Joined:
    Sep 19, 2023
    Posts:
    2
    Hi Joel,

    can i ask you for an example of loading and next saving data from a spreadsheet in Unity-VisualScripting?
    Thanks in advance
     
  48. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    We only current create sample projects if there is significant demand for them as they take some time to prepare, and this is the first time this has been requested. However, Unity Visual Scripting simply mirrors Easy Save's methods, so it works in the same way as described in the spreadsheet guide:

    https://docs.moodkie.com/easy-save-3/es3-guides/spreadsheets-and-excel/

    You would create an ES3Spreadsheet object using the ES3Spreadsheet's Create method. Then call that ES3Spreadsheet's SetCell method to set a specific cell, and it's Save method to store that spreadsheet to file.

    Then to load a spreadsheet, create the spreadsheet as above and call it's Load method to load the cells into the spreadsheet. You can then use the spreadsheet's GetCell method to get a specific cell.

    Note that if you can use a script for this is usually recommend doing so as visual scripting tends to be more complicated for things such as this.

    All the best,
    Joel
     
  49. GloomBox

    GloomBox

    Joined:
    Dec 12, 2022
    Posts:
    2
    Hi Joel,

    My users are getting this error within their logs upon launch; the game quickly crashes after this:

    Code (CSharp):
    1. ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
    2.   at ES3Internal.ES3Stream.CreateStream (ES3Settings settings, ES3Internal.ES3FileMode fileMode) [0x00111] in <b33ffca4b38d454d9328169986f0efa8>:0
    3.   at ES3Reader.Create (ES3Settings settings) [0x00000] in <b33ffca4b38d454d9328169986f0efa8>:0
    4.   at ES3.Load[T] (System.String key, ES3Settings settings) [0x00016] in <b33ffca4b38d454d9328169986f0efa8>:0
    5.   at ES3.Load (System.String key) [0x00008] in <b33ffca4b38d454d9328169986f0efa8>:0
    6.   at Unity.VisualScripting.StaticFunctionInvoker`2[TParam0,TResult].<CreateDelegate>b__7_0 (TParam0 param0) [0x00015] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    7.   at Unity.VisualScripting.StaticFunctionInvoker`2[TParam0,TResult].InvokeUnsafe (System.Object target, System.Object arg0) [0x00000] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    8.   at Unity.VisualScripting.StaticFunctionInvoker`2[TParam0,TResult].Invoke (System.Object target, System.Object arg0) [0x00030] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    9.   at Unity.VisualScripting.Member.Invoke (System.Object target, System.Object arg0) [0x00027] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    10.   at Unity.VisualScripting.InvokeMember.Invoke (System.Object target, Unity.VisualScripting.Flow flow) [0x00060] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    11.   at Unity.VisualScripting.InvokeMember.Enter (Unity.VisualScripting.Flow flow) [0x00008] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    12.   at Unity.VisualScripting.Flow.InvokeDelegate (Unity.VisualScripting.ControlInput input) [0x00046] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    13.   at Unity.VisualScripting.Flow.Invoke (Unity.VisualScripting.ControlOutput output) [0x00039] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    14.   at Unity.VisualScripting.Flow.Invoke (Unity.VisualScripting.ControlOutput output) [0x00044] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    15.   at Unity.VisualScripting.Flow.Invoke (Unity.VisualScripting.ControlOutput output) [0x00044] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    16.   at Unity.VisualScripting.Flow.Invoke (Unity.VisualScripting.ControlOutput output) [0x00044] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    17.   at Unity.VisualScripting.Flow.Run (Unity.VisualScripting.ControlOutput port) [0x00000] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    18.   at Unity.VisualScripting.EventUnit`1[TArgs].Run (Unity.VisualScripting.Flow flow) [0x00056] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    19.   at Unity.VisualScripting.EventUnit`1[TArgs].InternalTrigger (Unity.VisualScripting.GraphReference reference, TArgs args) [0x00020] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    20.   at Unity.VisualScripting.EventUnit`1[TArgs].Trigger (Unity.VisualScripting.GraphReference reference, TArgs args) [0x00000] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    21.   at Unity.VisualScripting.EventUnit`1+<>c__DisplayClass14_0[TArgs].<StartListening>b__0 (TArgs args) [0x00000] in <1bd62dad9b4f4bbca5a8c7ba6a9d90df>:0
    22.   at Unity.VisualScripting.EventBus.Trigger[TArgs] (Unity.VisualScripting.EventHook hook, TArgs args) [0x00074] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    23.   at Unity.VisualScripting.EventMachine`2[TGraph,TMacro].TriggerRegisteredEvent[TArgs] (Unity.VisualScripting.EventHook hook, TArgs args) [0x00000] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    24.   at Unity.VisualScripting.EventMachine`2[TGraph,TMacro].TriggerEvent (System.String name) [0x00011] in <f03323abcb774f40a1ab6ca07acfb2fa>:0
    25.   at Unity.VisualScripting.EventMachine`2[TGraph,TMacro].Start () [0x00000] in <f03323abcb774f40a1ab6ca07acfb2fa>:0  
     
  50. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Are you using the latest version of Easy Save? I don't appear to be able to see anywhere in ES3Internal.ES3Stream.CreateStream which could throw this exception.

    Please could you also show me the code you're using to save and load. The only other time I've seen an error message similar to this is when trying to load encrypted data (or corrupt/tampered data) without encryption enabled, but is triggered at a different point.

    All the best,
    Joel

    All the best,
    Joel