Version: Unity 6.3 LTS (6000.3)
LanguageEnglish
  • C#

EntityId

struct in UnityEngine

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

A unique identifier for a Unity object.

Unity assigns an EntityId to every object it loads or creates, and uses that identifier to refer to the object for as long as the object exists. To get the identifier of an object, use Object.GetEntityId. To resolve an identifier back to an object, use Resources.EntityIdToObject.

The internal representation of EntityId is an implementation detail and might change between versions. To ensure compatibility, avoid the following patterns:

  • Assuming any particular bit layout or sign conventions.
  • Manipulating individual bits of the EntityId value.
  • Sorting EntityId values to determine creation order.
  • Using Object.GetHashCode as a substitute for, or to derive, an EntityId.
  • Serializing EntityId with ToString and deserializing with integer parsing.

To work with EntityId values, use the provided API methods, such as EntityId.IsValid, EntityId.Equals, and EntityId.GetHashCode.

EntityId converts implicitly to and from int, so existing code that contains object identifiers in integers continues to compile. Store object identity in EntityId fields, parameters, and collection keys rather than in int values, and use the EntityId API instead of integer arithmetic.

Note: Code that previously used InstanceID as an integer should be updated to use the EntityId API methods instead.

Additional resources: Migrate from InstanceID to EntityId.

Static Properties

Property Description
NoneGets an EntityId that represents no valid Object or Entity. Use this to indicate an invalid or unassigned identifier.

Public Methods

Method Description
CompareToCompares this EntityId to another EntityId.
EqualsDetermines whether the specified object is equal to this EntityId.
GetHashCodeReturns a hash code for this EntityId.
IsValidDetermines whether this EntityId is set to a value other than None.
ToStringReturns a string representation of this EntityId.

Operators

Operator Description
EntityIdImplicitly converts an integer to an EntityId.
intImplicitly converts an EntityId to an integer.
operator !=Determines whether two EntityId instances are not equal.
operator <Determines whether the first EntityId is less than the second.
operator ==Determines whether two EntityId instances are equal.
operator >Determines whether the first EntityId is greater than the second.
Unknown operatorDetermines whether the first EntityId is less than or equal to the second.
Unknown operatorDetermines whether the first EntityId is greater than or equal to the second.