diff --git a/Source/Editor/Modules/SceneModule.cs b/Source/Editor/Modules/SceneModule.cs
index 33d41ddd6..3e6662f6c 100644
--- a/Source/Editor/Modules/SceneModule.cs
+++ b/Source/Editor/Modules/SceneModule.cs
@@ -251,6 +251,15 @@ namespace FlaxEditor.Modules
if (!Editor.StateMachine.CurrentState.CanChangeScene)
return;
+ // In play-mode Editor mocks the level streaming script
+ if (Editor.IsPlayMode)
+ {
+ if (!additive)
+ Level.UnloadAllScenesAsync();
+ Level.LoadSceneAsync(sceneId);
+ return;
+ }
+
if (!additive)
{
// Ensure to save all pending changes
@@ -272,6 +281,13 @@ namespace FlaxEditor.Modules
if (!Editor.StateMachine.CurrentState.CanChangeScene)
return;
+ // In play-mode Editor mocks the level streaming script
+ if (Editor.IsPlayMode)
+ {
+ Level.UnloadSceneAsync(scene);
+ return;
+ }
+
// Ensure to save all pending changes
if (CheckSaveBeforeClose())
return;
@@ -289,6 +305,13 @@ namespace FlaxEditor.Modules
if (!Editor.StateMachine.CurrentState.CanChangeScene)
return;
+ // In play-mode Editor mocks the level streaming script
+ if (Editor.IsPlayMode)
+ {
+ Level.UnloadAllScenesAsync();
+ return;
+ }
+
// Ensure to save all pending changes
if (CheckSaveBeforeClose())
return;
diff --git a/Source/Editor/States/PlayingState.cs b/Source/Editor/States/PlayingState.cs
index 171022745..6258975ae 100644
--- a/Source/Editor/States/PlayingState.cs
+++ b/Source/Editor/States/PlayingState.cs
@@ -28,6 +28,9 @@ namespace FlaxEditor.States
///
public override bool CanEditScene => true;
+ ///
+ public override bool CanChangeScene => true;
+
///
public override bool CanUseUndoRedo => false;