以下の内容はhttps://baba-s.hatenablog.com/entry/2020/10/05/080500より取得しました。


【Unity】RuntimeInitializeOnLoadMethod のタイミングではゲームオブジェクトを生成できないことがある

検証環境

  • Unity 2020.1.6f1
  • Android 8.0.0

概要

using UnityEngine;

public class Example : MonoBehaviour
{
    [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.AfterSceneLoad )]
    private static void InitializeAfterSceneLoad()
    {
        new GameObject( nameof( RuntimeInitializeLoadType.AfterSceneLoad ) );
    }

    [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSceneLoad )]
    private static void InitializeBeforeSceneLoad()
    {
        new GameObject( nameof( RuntimeInitializeLoadType.BeforeSceneLoad ) );
    }

    [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.AfterAssembliesLoaded )]
    private static void InitializeAfterAssembliesLoaded()
    {
        new GameObject( nameof( RuntimeInitializeLoadType.AfterAssembliesLoaded ) );
    }

    [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSplashScreen )]
    private static void InitializeBeforeSplashScreen()
    {
        new GameObject( nameof( RuntimeInitializeLoadType.BeforeSplashScreen ) );
    }

    [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.SubsystemRegistration )]
    private static void InitializeSubsystemRegistration()
    {
        new GameObject( nameof( RuntimeInitializeLoadType.SubsystemRegistration ) );
    }

    private void OnGUI()
    {
        GUI.color = Color.white;

        foreach ( var x in FindObjectsOfType<Transform>() )
        {
            GUILayout.Label( x.name );
        }
    }
}

上記のように RuntimeInitializeOnLoadMethod のタイミングで new GameObject する場合、
Unity エディタ上ではどのタイミングでもゲームオブジェクトが生成されるが
例えば Android の Mono2x ビルドや IL2CPP ビルドで作成したアプリでは

  • AfterSceneLoad
  • BeforeSceneLoad

のタイミングならゲームオブジェクトは生成され、

  • AfterAssembliesLoaded
  • BeforeSplashScreen
  • SubsystemRegistration

のタイミングだとゲームオブジェクトは生成されない




以上の内容はhttps://baba-s.hatenablog.com/entry/2020/10/05/080500より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14