SCENE MANAGEMENT
A downloadable tool
Download NowName your own price
Version: 1.4.0
A system for loading scenes, tracking scene dependencies, and storing scene metadata.
Use Cases:
- Manage scene metadata, such as id, initial screen orientation, and initial Time.scale.
- Load scenes with fade effects (fade old scene out, fade loading scene in, fade loading scene out, fade new scene in)
- Build loading screens with progress bars and percentage counters.
- Manage scene dependencies and automatically load them when they're needed.
- Manage lists of scenes, and apply a list to the build settings.
Directions for Use:
SceneData
Scriptable Object that stores metadata about a scene.
Must be named exactly the same as the scene it represents.
Create > Scriptable Objects > Scene Management > SceneData
SceneDatabase
Stores all SceneData instances, and is used to rapidly switch between scenes.
Create > Scriptable Objects > Scene Management > Database
SceneList
A customizable list of SceneDatas.
Create > Scriptable Objects > Scene Management > SceneList
SceneManager (singleton)
Attach to a GameObject.
Use this singleton to load scenes.
Package Mirrors:
Key Scripts & Components:
- public class Database : ScriptableObject
- Properties:
- public List<scenedata> Scenes { get; }</scenedata>
- public SceneData LoginScene { get; }
- public SceneData FirstGameScene { get; }
- Methods:
- public SceneData GetSceneByName(String sceneName)
- public SceneData GetSceneByID(String id)
- public SceneData GetRandomScene()
- public void SortList()
- public void RebuildDictionary()
- public override String ToString()
- public class LoadSceneAfterSeconds : SceneChanger
- public class SceneChanger : MonoBehaviour
- Methods:
- public void LoadScene(SceneData sceneData)
- public class SceneData : ScriptableObject
- Properties:
- public SceneAsset Scene { get; }
- public String ID { get; }
- public String Path { get; }
- public String Name { get; }
- public ScreenOrientation ScreenOrientation { get; }
- public float StartTimeScale { get; }
- public List<string> Dependencies { get; }</string>
- Methods:
- public Boolean DependsOn(Scene scene)
- public virtual void ActivateSettings()
- public virtual void OnThisSceneLoaded()
- public virtual void OnThisSceneUnloaded()
- public virtual void Reset()
- public class SceneList : ScriptableObject
- Properties:
- public List<sceneasset> Scenes { get; }</sceneasset>
- public List<string> SceneNames { get; }</string>
- public class SceneManager : MonoBehaviour
- Properties:
- public Database SceneDatabase { get; }
- public float Progress { get; }
- public float GameSceneFadeOutSeconds { get; }
- public float LoadingSceneFadeInSeconds { get; }
- public float LoadingSceneFadeOutSeconds { get; }
- public float GameSceneFadeInSeconds { get; }
- public State CurrentState { get; }
- Methods:
- public SceneData GetSceneByName(String sceneName)
- public SceneData GetSceneByID(String id)
- public SceneData GetRandomScene()
- public void LoadLoginScene()
- public void LoadSceneByName(String sceneName)
- public void LoadSceneByID(String id)
- public void LoadScene(SceneData scene)
Launch
- public interface ISceneLaunchPlugin
- Actions:
- public event Action OnStatusMessageChanged
- Properties:
- public Int32 Priority { get; }
- public Boolean IsReady { get; }
- public String StatusMessage { get; }
- public SceneData SceneToLaunch { get; }
- public class RuntimePlatformSceneLaunchPlugin : MonoBehaviour
- Actions:
- public event Action OnStatusMessageChanged
- Properties:
- public Int32 Priority { get; }
- public Boolean IsReady { get; }
- public String StatusMessage { get; }
- public SceneData SceneToLaunch { get; }
- public class SceneLaunchManager : SceneChanger
- Actions:
- public event Action OnCurrentPluginChanged
- Properties:
- public ISceneLaunchPlugin CurrentPlugin { get; }
- public Boolean Launching { get; }
- Methods:
- public void Launch()
- public class SceneLaunchPlugin : MonoBehaviour
- Actions:
- public event Action OnStatusMessageChanged
- Properties:
- public Int32 Priority { get; }
- public Boolean IsReady { get; }
- public String StatusMessage { get; }
- public SceneData SceneToLaunch { get; }
Launch. U I
- public class SceneLaunchManagerStatusText : MonoBehaviour
U I
- public class BasicSceneChangeButton : SceneChangeButton
- Properties:
- public SceneData SceneData { get; }
- public class CloseApplicationButton : MonoBehaviour
- public abstract class SceneChangeButton : SceneChanger
- public class SceneFadingAnimation : MonoBehaviour
- public class SceneLoadingProgressText : MonoBehaviour
- public class SceneLoadingScreen : MonoBehaviour
Status | Released |
Category | Tool |
Author | Iron Mountain |
Tags | Unity |
Download
Download NowName your own price
Click download now to get access to the following files:
com.iron-mountain.scene-management.unitypackage 80 kB
Leave a comment
Log in with itch.io to leave a comment.