diff --git a/Source/Editor/Surface/AnimGraphSurface.cs b/Source/Editor/Surface/AnimGraphSurface.cs index 21c750a1e..40cb1fd9a 100644 --- a/Source/Editor/Surface/AnimGraphSurface.cs +++ b/Source/Editor/Surface/AnimGraphSurface.cs @@ -167,7 +167,7 @@ namespace FlaxEditor.Surface bool hasTypeFromGameScripts = Editor.Instance.CodeEditing.AnimGraphNodes.HasTypeFromGameScripts; // Check any surface parameter comes from Game scripts module to handle scripts reloads in Editor - if (!hasTypeFromGameScripts) + if (!hasTypeFromGameScripts && RootContext != null) { foreach (var param in Parameters) { diff --git a/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs b/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs index 6f0b60b43..995f510a9 100644 --- a/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs +++ b/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs @@ -317,7 +317,7 @@ namespace FlaxEditor.Viewport.Previews private void OnScriptsReloadBegin() { // Prevent any crashes due to dangling references to anim events - _previewModel.ResetAnimation(); + _previewModel?.ResetAnimation(); } /// diff --git a/Source/Editor/Windows/Assets/AssetEditorWindow.cs b/Source/Editor/Windows/Assets/AssetEditorWindow.cs index 8d2c81b7f..646112441 100644 --- a/Source/Editor/Windows/Assets/AssetEditorWindow.cs +++ b/Source/Editor/Windows/Assets/AssetEditorWindow.cs @@ -171,6 +171,11 @@ namespace FlaxEditor.Windows.Assets { if (!IsHidden) { + if (IsEdited && _item != null) + { + Editor.Log($"Auto-saving local changes to asset '{_item.Path}' before reloading code"); + Save(); + } Editor.Instance.Windows.AddToRestore(this); Close(); }