ガベージコレクション(GC)を起こさせない様にする方法

小さなデータを扱う場合、クラスを構造体にすることで、ガベージコレクションを起こさない様にすることができます。

変更前

using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    class MyClass
    {
        public int hp;
        public string name;
    }
    void Start()
    {
        MyClass myClass = new MyClass
        {
            hp = 10,
            name = "Falcon"
        };

        Debug.Log(myClass.hp);
        Debug.Log(myClass.name);
    }
}

変更後

using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    struct MyStruct
    {
        public int hp;
        public string name;
    }
    void Start()
    {
        MyStruct myStruct = new MyStruct
        {
            hp = 10,
            name = "Falcon"
        };

        Debug.Log(myStruct.hp);
        Debug.Log(myStruct.name);
    }
}

C#

Posted by hidepon