docs.unity3d.com
    Show / Hide Table of Contents

    Class CustomPhysicsSystemGroupBase

    This abstract class can be used to create a system group for a custom physics world. You most likely want to use CustomPhysicsSystemGroup, as you don't need to implement callback methods there.

    Inheritance
    Object
    ComponentSystemBase
    SystemBase
    ComponentSystemGroup
    CustomPhysicsSystemGroupBase
    CustomPhysicsSystemGroup
    Inherited Members
    ComponentSystemGroup.GetUnmanagedSystems(Allocator)
    ComponentSystemGroup.GetAllSystems(Allocator)
    ComponentSystemGroup.AddSystemToUpdateList(ComponentSystemBase)
    ComponentSystemGroup.AddSystemToUpdateList(SystemHandle)
    ComponentSystemGroup.RemoveSystemFromUpdateList(ComponentSystemBase)
    ComponentSystemGroup.RemoveSystemFromUpdateList(SystemHandle)
    ComponentSystemGroup.SortSystems()
    ComponentSystemGroup.SetRateManagerCreateAllocator(IRateManager)
    ComponentSystemGroup.EnableSystemSorting
    ComponentSystemGroup.Created
    ComponentSystemGroup.ManagedSystems
    ComponentSystemGroup.FixedRateManager
    ComponentSystemGroup.RateManager
    ComponentSystemGroup.RateGroupAllocators
    SystemBase.CompleteDependency()
    SystemBase.Update()
    SystemBase.GetComponent<T>(Entity)
    SystemBase.SetComponent<T>(Entity, T)
    SystemBase.HasComponent<T>(Entity)
    SystemBase.HasBuffer<T>(Entity)
    SystemBase.GetComponentLookup<T>(Boolean)
    SystemBase.GetComponentDataFromEntity<T>(Boolean)
    SystemBase.GetBuffer<T>(Entity, Boolean)
    SystemBase.GetBufferLookup<T>(Boolean)
    SystemBase.GetBufferFromEntity<T>(Boolean)
    SystemBase.GetEntityStorageInfoLookup()
    SystemBase.GetStorageInfoFromEntity()
    SystemBase.Exists(Entity)
    SystemBase.Dependency
    SystemBase.CheckedStateRef
    SystemBase.Entities
    SystemBase.Job
    ComponentSystemBase.ShouldRunSystem()
    ComponentSystemBase.GetComponentTypeHandle<T>(Boolean)
    ComponentSystemBase.GetDynamicComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetBufferTypeHandle<T>(Boolean)
    ComponentSystemBase.GetSharedComponentTypeHandle<T>()
    ComponentSystemBase.GetDynamicSharedComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetEntityTypeHandle()
    ComponentSystemBase.RequireForUpdate(EntityQuery)
    ComponentSystemBase.RequireAnyForUpdate(EntityQuery[])
    ComponentSystemBase.RequireAnyForUpdate(NativeArray<EntityQuery>)
    ComponentSystemBase.RequireForUpdate<T>()
    ComponentSystemBase.RequireSingletonForUpdate<T>()
    ComponentSystemBase.HasSingleton<T>()
    ComponentSystemBase.GetSingleton<T>()
    ComponentSystemBase.GetSingletonRW<T>()
    ComponentSystemBase.GetSingletonBuffer<T>(Boolean)
    ComponentSystemBase.TryGetSingleton<T>(T)
    ComponentSystemBase.TryGetSingletonBuffer<T>(DynamicBuffer<T>)
    ComponentSystemBase.SetSingleton<T>(T)
    ComponentSystemBase.GetSingletonEntity<T>()
    ComponentSystemBase.TryGetSingletonEntity<T>(Entity)
    ComponentSystemBase.GetEntityQuery(ComponentType[])
    ComponentSystemBase.GetEntityQuery(NativeArray<ComponentType>)
    ComponentSystemBase.GetEntityQuery(EntityQueryDesc[])
    ComponentSystemBase.GetEntityQuery(EntityQueryBuilder)
    ComponentSystemBase.Enabled
    ComponentSystemBase.EntityQueries
    ComponentSystemBase.GlobalSystemVersion
    ComponentSystemBase.LastSystemVersion
    ComponentSystemBase.EntityManager
    ComponentSystemBase.World
    ComponentSystemBase.SystemHandle
    ComponentSystemBase.SystemHandleUntyped
    ComponentSystemBase.Time
    ComponentSystemBase.WorldUpdateAllocator
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Physics.Systems
    Syntax
    public abstract class CustomPhysicsSystemGroupBase : ComponentSystemGroup

    Constructors

    CustomPhysicsSystemGroupBase(UInt32, Boolean)

    Constructor. Your subclass needs to implement an empty constructor which is calling this one to properly set up the world index.

    Declaration
    public CustomPhysicsSystemGroupBase(uint worldIndex, bool shareStaticColliders)
    Parameters
    Type Name Description
    UInt32 worldIndex

    A world index for a physics world.

    Boolean shareStaticColliders

    Should static colliders be shared between main world and this one.

    Fields

    m_WorldData

    PhysicsWorldData.

    Declaration
    protected PhysicsWorldData m_WorldData
    Field Value
    Type Description
    PhysicsWorldData

    m_WorldFilter

    PhysicsWorldIndex.

    Declaration
    protected PhysicsWorldIndex m_WorldFilter
    Field Value
    Type Description
    PhysicsWorldIndex

    Methods

    AddExistingSystemsToUpdate(List<Type>)

    An interface method to specify an additional set of managed systems which are copied to the custom physics world. This will be called the first time OnUpdate runs.

    Declaration
    protected virtual void AddExistingSystemsToUpdate(List<Type> systems)
    Parameters
    Type Name Description
    List<Type> systems

    The systems.

    AddExistingUnmanagedSystemsToUpdate(List<Type>)

    An interface method to specify an additional set of unmanaged systems which are copied to the custom physics world. This will be called the first time OnUpdate runs.

    Declaration
    protected virtual void AddExistingUnmanagedSystemsToUpdate(List<Type> systems)
    Parameters
    Type Name Description
    List<Type> systems

    The systems.

    PostGroupUpdateCallback()

    Called after the systems in this group are updated. It is useful in cases of needing to restore system state (such as NativeArrays, NativeLists etc), after it is ran in a custom group.

    Declaration
    protected abstract void PostGroupUpdateCallback()

    PreGroupUpdateCallback()

    Called before the systems in this group are updated. It is useful in cases of needing to store system state (such as NativeArrays, NativeLists etc), before it is ran in a custom group.

    Declaration
    protected abstract void PreGroupUpdateCallback()
    Back to top
    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