Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


BeforeSceneLoad

Callback invoked when the first scene's objects are loaded into memory but before Awake has been called.
Read time 1 minuteLast updated 5 days ago

Definition

  • Type: Field
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule
BeforeSceneLoad = 1

Remarks

For more info on ordering see RuntimeInitializeOnLoadMethodAttribute.

Examples

// Demonstration of the RuntimeInitializeLoadType.BeforeSceneLoad attribute to find inactive objects before Awake has been // called for the first scene being loaded. Then from these inactive objects we find which ones will be active after Awake is called later.using UnityEngine;class MyClass{ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] private static void FirstSceneLoading() { var components = UnityEngine.Object.FindObjectsByType(typeof(MonoBehaviour), FindObjectsInactive.Include, FindObjectsSortMode.None); var willBeActiveAfterSceneLoad = 0; foreach (var c in components) { if (WillBeActiveAfterSceneLoad(((Component)c).gameObject)) willBeActiveAfterSceneLoad++; } Debug.Log("BeforeSceneLoad. Will be Active after Awake, count: " + willBeActiveAfterSceneLoad); } static bool WillBeActiveAfterSceneLoad(GameObject gameObject) { Transform current = gameObject.transform; while (current != null) { if (!current.gameObject.activeSelf) return false; current = current.parent; } return true; }}