Unity6.4からInstanceIdがObsoleteになり、EntityIdになった

Unity6.4からInstanceIdがObsoleteになり、EntityIdになった話です。

InstanceIdがObsoleteになった

これまでUnity.Objectの識別子には、InstanceIDが使われていました。
インスタンスIDは、以下のようにして取得することができました。

using UnityEngine;

public sealed class Example : MonoBehaviour
{
    void Start()
    {
        int instanceId = GetInstanceID();
    }
}

Unity 6.4からは、これがObsoleteになりました。

InstanceIdがObsoleteに

EntityIdが登場

代わりにEntityIdという構造体が作られ、今後はこれを使用するようです。
GetInstanceIDと同じように、GetEntityIDでIDを取得することができます。

using UnityEngine;

public sealed class Example : MonoBehaviour
{
    void Start()
    {
        EntityId entityId = GetEntityId();
    }
}

影響範囲については、リリースノートを参照してください。

unity.com

経緯については知らなくても困らなそうなので調べていませんが、その名前から、ECSを統合する一環だと思われます。

参考

unity.com