Referenceable objects can be referenced by other objects without creating duplicates when serializing/deserializing.
The canonical example is a component referencing an entity. Deserializing the component should not create a new entity when the entity property of the component is deserialized.
Instead, when the component is serialized, a reference to the entity should be serialized out. When the component is deserialized, the reference will be resolved and the property will be set to the instance of the entity.
Users should not extend this class directly. Only built-in types and user-defined custom components can be referenceable.
Base class for referenceable objects.
Remarks
Referenceable objects can be referenced by other objects without creating duplicates when serializing/deserializing. The canonical example is a component referencing an entity. Deserializing the component should not create a new entity when the entity property of the component is deserialized. Instead, when the component is serialized, a reference to the entity should be serialized out. When the component is deserialized, the reference will be resolved and the property will be set to the instance of the entity. Users should not extend this class directly. Only built-in types and user-defined custom components can be referenceable.