docs.unity3d.com
    Show / Hide Table of Contents

    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
    Object
    ComponentSystemBase
    ComponentSystem
    GameObjectConversionSystem
    Inherited Members
    ComponentSystem.PostUpdateCommands
    ComponentSystem.InitEntityQueryCache(Int32)
    ComponentSystem.Entities
    ComponentSystem.Update()
    ComponentSystem.OnUpdate()
    ComponentSystemBase.Enabled
    ComponentSystemBase.EntityQueries
    ComponentSystemBase.GlobalSystemVersion
    ComponentSystemBase.LastSystemVersion
    ComponentSystemBase.EntityManager
    ComponentSystemBase.World
    ComponentSystemBase.Time
    ComponentSystemBase.OnCreateForCompiler()
    ComponentSystemBase.OnCreate()
    ComponentSystemBase.OnDestroyManager()
    ComponentSystemBase.OnCreateManager()
    ComponentSystemBase.OnStartRunning()
    ComponentSystemBase.OnStopRunning()
    ComponentSystemBase.OnDestroy()
    ComponentSystemBase.ShouldRunSystem()
    ComponentSystemBase.GetArchetypeChunkComponentType<T>(Boolean)
    ComponentSystemBase.GetArchetypeChunkComponentTypeDynamic(ComponentType)
    ComponentSystemBase.GetArchetypeChunkBufferType<T>(Boolean)
    ComponentSystemBase.GetArchetypeChunkSharedComponentType<T>()
    ComponentSystemBase.GetArchetypeChunkEntityType()
    ComponentSystemBase.GetComponentDataFromEntity<T>(Boolean)
    ComponentSystemBase.GetBufferFromEntity<T>(Boolean)
    ComponentSystemBase.RequireForUpdate(EntityQuery)
    ComponentSystemBase.RequireSingletonForUpdate<T>()
    ComponentSystemBase.HasSingleton<T>()
    ComponentSystemBase.GetSingleton<T>()
    ComponentSystemBase.SetSingleton<T>(T)
    ComponentSystemBase.GetSingletonEntity<T>()
    ComponentSystemBase.GetEntityQuery(ComponentType[])
    ComponentSystemBase.GetEntityQuery(NativeArray<ComponentType>)
    ComponentSystemBase.GetEntityQuery(EntityQueryDesc[])
    Namespace: Global Namespace
    Syntax
    [WorldSystemFilter(WorldSystemFilterFlags.GameObjectConversion)]
    public abstract class GameObjectConversionSystem : ComponentSystem

    Properties

    BlobAssetStore

    Declaration
    public BlobAssetStore BlobAssetStore { get; }
    Property Value
    Type Description
    BlobAssetStore

    DstEntityManager

    Declaration
    public EntityManager DstEntityManager { get; }
    Property Value
    Type Description
    EntityManager

    Methods

    AddHybridComponent(Component)

    Declaration
    public void AddHybridComponent(Component component)
    Parameters
    Type Name Description
    Component component

    ConfigureEditorRenderData(Entity, GameObject, Boolean)

    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
    Type Name Description
    Component component
    Returns
    Type Description
    Entity

    CreateAdditionalEntity(Object)

    Declaration
    public Entity CreateAdditionalEntity(Object uobject)
    Parameters
    Type Name Description
    Object uobject
    Returns
    Type Description
    Entity

    DeclareDependency(Component, Component)

    Declaration
    public void DeclareDependency(Component target, Component dependsOn)
    Parameters
    Type Name Description
    Component target
    Component dependsOn

    DeclareDependency(GameObject, GameObject)

    Declaration
    public void DeclareDependency(GameObject target, GameObject dependsOn)
    Parameters
    Type Name Description
    GameObject target
    GameObject dependsOn

    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
    Type Name Description
    GameObject gameObject

    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
    Type Name Description
    GameObject prefab

    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
    Type Description
    GameObjectConversionSettings

    GetEntities(Component)

    Declaration
    public MultiListEnumerator<Entity> GetEntities(Component component)
    Parameters
    Type Name Description
    Component component
    Returns
    Type Description
    MultiListEnumerator<Entity>

    GetEntities(Object)

    Declaration
    public MultiListEnumerator<Entity> GetEntities(Object uobject)
    Parameters
    Type Name Description
    Object uobject
    Returns
    Type Description
    MultiListEnumerator<Entity>

    GetGuidForAssetExport(Object)

    Declaration
    public Guid GetGuidForAssetExport(Object asset)
    Parameters
    Type Name Description
    Object asset
    Returns
    Type Description
    Guid

    GetPrimaryEntity(Component)

    Declaration
    public Entity GetPrimaryEntity(Component component)
    Parameters
    Type Name Description
    Component component
    Returns
    Type Description
    Entity

    GetPrimaryEntity(Object)

    Declaration
    public Entity GetPrimaryEntity(Object uobject)
    Parameters
    Type Name Description
    Object uobject
    Returns
    Type Description
    Entity

    HasPrimaryEntity(Component)

    Returns true if the GameObject owning component is included in the set of converted objects.

    Declaration
    public bool HasPrimaryEntity(Component component)
    Parameters
    Type Name Description
    Component component
    Returns
    Type Description
    Boolean

    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
    Type Description
    Boolean

    OnCreate()

    Declaration
    protected override void OnCreate()
    Overrides
    ComponentSystemBase.OnCreate()

    TryCreateAssetExportWriter(Object)

    Declaration
    public Stream TryCreateAssetExportWriter(Object asset)
    Parameters
    Type Name Description
    Object asset
    Returns
    Type Description
    Stream

    TryGetPrimaryEntity(Component)

    Declaration
    public Entity TryGetPrimaryEntity(Component component)
    Parameters
    Type Name Description
    Component component
    Returns
    Type Description
    Entity

    TryGetPrimaryEntity(Object)

    Declaration
    public Entity TryGetPrimaryEntity(Object uobject)
    Parameters
    Type Name Description
    Object uobject
    Returns
    Type Description
    Entity

    Extension Methods

    ComponentSystemBaseManagedComponentExtensions.HasSingleton<T>(ComponentSystemBase)
    ComponentSystemBaseManagedComponentExtensions.GetSingleton<T>(ComponentSystemBase)
    ComponentSystemBaseManagedComponentExtensions.SetSingleton<T>(ComponentSystemBase, T)
    JobForEachExtensions.GetEntityQueryForIJobForEach(ComponentSystemBase, Type)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023