SCENE MANAGEMENT
A downloadable tool
Download NowName your own price
Version: 1.7.1
Description:
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
- SceneManager (singleton)
- Attach to a GameObject.
- Use this singleton to load scenes.
- SceneList
- A customizable list of SceneDatas.
- Create > Scriptable Objects > Scene Management > SceneList
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 GetSceneByPath(String scenePath)
- 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 String ID { get; }
- public String Path { get; }
- public String Directory { get; }
- public String Name { get; }
- public String SceneName { get; }
- public Int32 BuildIndex { get; }
- public Boolean BuildEnabled { get; }
- public ScreenOrientation ScreenOrientation { get; }
- public List<scenelist> DependencyLists { get; }</scenelist>
- public List<sceneasset> DependencyScenes { get; }</sceneasset>
- public List<string> Dependencies { get; }</string>
- Methods:
- public void CacheBuildDetails(Int32 index, Boolean enabled)
- public Boolean DependsOn(Scene scene)
- public void Load(float delay)
- public void Load()
- public virtual void ActivateSettings()
- public virtual void OnThisSceneLoaded()
- public virtual void OnThisSceneUnloaded()
- public virtual void Reset()
- public virtual void OnValidate()
- public static class SceneDataManager
- public class SceneList : ScriptableObject
- Properties:
- public List<sceneasset> Scenes { get; }</sceneasset>
- public List<string> SceneNames { get; }</string>
- public static class SceneListSorts
- public static class SceneListsManager
- 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, float delay)
- public void LoadSceneByID(String id, float delay)
- public void LoadScene(SceneData scene, float delay)
- public SceneData GetActiveSceneData()
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
- Actions:
- public event Action OnSceneDataChanged
- Properties:
- public SceneData SceneData { get; set; }
- public class BasicSceneChangeButtonList : MonoBehaviour
- public class BasicSceneChangeButtonSceneNameLabel : MonoBehaviour
- 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 88 kB
Leave a comment
Log in with itch.io to leave a comment.