Class GameObjectConversionSystem
Derive from this class to create a system that can convert GameObjects and assets into Entities.
Use one of the GameObject*Group system groups with [UpdateInGroup]
to select a particular phase of conversion
for the system (default if left unspecified is GameObjectConversionGroup).
Inheritance
GameObjectConversionSystem
Syntax
[WorldSystemFilter(WorldSystemFilterFlags.GameObjectConversion)]
public abstract class GameObjectConversionSystem : ComponentSystem
Properties
BlobAssetStore
Declaration
public BlobAssetStore BlobAssetStore { get; }
Property Value
DstEntityManager
Declaration
public EntityManager DstEntityManager { get; }
Property Value
Methods
AddHybridComponent(Component)
Declaration
public void AddHybridComponent(Component component)
Parameters
Configures rendering data for picking in the editor.
Declaration
public void ConfigureEditorRenderData(Entity entity, GameObject pickableObject, bool hasGameObjectBasedRenderingRepresentation)
Parameters
Type |
Name |
Description |
Entity |
entity |
The entity to which we apply the configuration
|
GameObject |
pickableObject |
The game object that should be picked when clicking on an entity
|
Boolean |
hasGameObjectBasedRenderingRepresentation |
If there is a game object based rendering representation, like MeshRenderer this should be true. If the only way to render the object is through entities it should be false
|
CreateAdditionalEntity(Component)
Declaration
public Entity CreateAdditionalEntity(Component component)
Parameters
Returns
CreateAdditionalEntity(Object)
Declaration
public Entity CreateAdditionalEntity(Object uobject)
Parameters
Type |
Name |
Description |
Object |
uobject |
|
Returns
DeclareDependency(Component, Component)
Declaration
public void DeclareDependency(Component target, Component dependsOn)
Parameters
DeclareDependency(GameObject, GameObject)
Declaration
public void DeclareDependency(GameObject target, GameObject dependsOn)
Parameters
DeclareLinkedEntityGroup(GameObject)
Adds a LinkedEntityGroup to the primary Entity of this GameObject for all Entities that are created from this GameObject and its descendants.
As a result, EntityManager.Instantiate and EntityManager.SetEnabled will work on those Entities as a group.
Declaration
public void DeclareLinkedEntityGroup(GameObject gameObject)
Parameters
DeclareReferencedAsset(Object)
DeclareReferencedAsset includes the referenced asset in the conversion process.
Once it has been declared, you can use GetPrimaryEntity to find the Entity for the asset.
This Entity will also be tagged with the Asset component.
Declaration
public void DeclareReferencedAsset(Object asset)
Parameters
Type |
Name |
Description |
Object |
asset |
|
DeclareReferencedPrefab(GameObject)
DeclareReferencedPrefab includes the referenced Prefab in the conversion process.
Once it has been declared, you can use GetPrimaryEntity to find the Entity for the Prefab.
If the object is a Prefab, all Entities in it will be made part of a LinkedEntityGroup, thus Instantiate will clone the whole group.
All Entities in the Prefab will also be tagged with the Prefab component thus will not be picked up by an EntityQuery by default.
Declaration
public void DeclareReferencedPrefab(GameObject prefab)
Parameters
ForkSettings(Byte)
Extremely specialized use that is a (hopefully) temporary workaround our inability to generate multiple prefabs
into the same World from the same source. Temporary because we want to switch to BlobAsset prefabs, but until
then we need a way to avoid duplication of EntityGuids for these multiple prefabs. So we reserve space for a
"namespace ID" in the EntityGuid, where if nonzero it is up to the developer to manage.
Declaration
public GameObjectConversionSettings ForkSettings(byte entityGuidNamespaceID)
Parameters
Type |
Name |
Description |
Byte |
entityGuidNamespaceID |
|
Returns
GetEntities(Component)
Declaration
public MultiListEnumerator<Entity> GetEntities(Component component)
Parameters
Returns
GetEntities(Object)
Declaration
public MultiListEnumerator<Entity> GetEntities(Object uobject)
Parameters
Type |
Name |
Description |
Object |
uobject |
|
Returns
GetGuidForAssetExport(Object)
Declaration
public Guid GetGuidForAssetExport(Object asset)
Parameters
Type |
Name |
Description |
Object |
asset |
|
Returns
GetPrimaryEntity(Component)
Declaration
public Entity GetPrimaryEntity(Component component)
Parameters
Returns
GetPrimaryEntity(Object)
Declaration
public Entity GetPrimaryEntity(Object uobject)
Parameters
Type |
Name |
Description |
Object |
uobject |
|
Returns
HasPrimaryEntity(Component)
Returns true if the GameObject owning component
is included in the set of converted objects.
Declaration
public bool HasPrimaryEntity(Component component)
Parameters
Returns
HasPrimaryEntity(Object)
Returns true if the uobject
is included in the set of converted objects.
Declaration
public bool HasPrimaryEntity(Object uobject)
Parameters
Type |
Name |
Description |
Object |
uobject |
|
Returns
OnCreate()
Declaration
protected override void OnCreate()
Overrides
TryCreateAssetExportWriter(Object)
Declaration
public Stream TryCreateAssetExportWriter(Object asset)
Parameters
Type |
Name |
Description |
Object |
asset |
|
Returns
TryGetPrimaryEntity(Component)
Declaration
public Entity TryGetPrimaryEntity(Component component)
Parameters
Returns
TryGetPrimaryEntity(Object)
Declaration
public Entity TryGetPrimaryEntity(Object uobject)
Parameters
Type |
Name |
Description |
Object |
uobject |
|
Returns
Extension Methods
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.