Struct UnityObjectRef<T>
A utility structure that stores a reference of an Object for Entities. Allows references to be stored on unmanaged component.
Namespace: Unity.Entities
Assembly: Unity.Entities.dll
Syntax
[Serializable]
public struct UnityObjectRef<T> where T : Object
Type Parameters
Name | Description |
---|---|
T | Type of the Object that is going to be referenced by UnityObjectRef. |
Remarks
Stores the Object's instance ID. Will also serialize asset references in SubScenes the same way managed components do with direct references to Object. This is the recommended way to store references to Unity assets in Entities as it remains unmanaged.
Serialization is supported on IComponentData ISharedComponentData and IBufferElementData
Unity assets referenced in this way will be prevented from being collect by Asset Garbage Collection (such as calling UnloadUnusedAssets).
Properties
Name | Description |
---|---|
Value | Object being referenced by this UnityObjectRef<T>. |
Methods
Name | Description |
---|---|
Equals(object) | Checks if this object references the same UnityEngine.Object as another object. |
Equals(UnityObjectRef<T>) | Checks if this reference and another reference are equal. |
GetHashCode() | Computes a hash code for this object. |
IsValid() | Returns 'true' if the UnityObjectRef is still valid, as in the Object still exists. |
Operators
Name | Description |
---|---|
operator ==(UnityObjectRef<T>, UnityObjectRef<T>) | Returns true if two UnityObjectRef<T> are equal. |
implicit operator bool(UnityObjectRef<T>) | Overload of the 'bool' operator to check for the validity of the instance ID. |
implicit operator T(UnityObjectRef<T>) | Implicitly converts an UnityObjectRef<T> to an Object. |
implicit operator UnityObjectRef<T>(T) | Implicitly converts an Object to an UnityObjectRef<T>. |
operator !=(UnityObjectRef<T>, UnityObjectRef<T>) | Returns true if two UnityObjectRef<T> are not equal. |