{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Class CustomPhysicsSystemGroup | Unity Physics | 1.1.0-pre.3
docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class CustomPhysicsSystemGroup

    This abstract class can be used to create a system group for a custom physics world. To create a custom physics group, derive from this class and implement empty constructor which calls one of two constructors of this class, and potentially implement some of the other virtual functions.

    Inheritance
    object
    ComponentSystemBase
    SystemBase
    ComponentSystemGroup
    CustomPhysicsSystemGroupBase
    CustomPhysicsSystemGroup
    Inherited Members
    CustomPhysicsSystemGroupBase.m_WorldData
    CustomPhysicsSystemGroupBase.m_WorldFilter
    CustomPhysicsSystemGroupBase.AddExistingSystemsToUpdate(List<Type>)
    CustomPhysicsSystemGroupBase.AddExistingUnmanagedSystemsToUpdate(List<Type>)
    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>(bool)
    SystemBase.GetComponentDataFromEntity<T>(bool)
    SystemBase.GetBuffer<T>(Entity, bool)
    SystemBase.GetBufferLookup<T>(bool)
    SystemBase.GetBufferFromEntity<T>(bool)
    SystemBase.GetEntityStorageInfoLookup()
    SystemBase.GetStorageInfoFromEntity()
    SystemBase.Exists(Entity)
    SystemBase.Dependency
    SystemBase.CheckedStateRef
    SystemBase.Entities
    SystemBase.Job
    ComponentSystemBase.ShouldRunSystem()
    ComponentSystemBase.GetComponentTypeHandle<T>(bool)
    ComponentSystemBase.GetDynamicComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetBufferTypeHandle<T>(bool)
    ComponentSystemBase.GetSharedComponentTypeHandle<T>()
    ComponentSystemBase.GetDynamicSharedComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetEntityTypeHandle()
    ComponentSystemBase.RequireForUpdate(EntityQuery)
    ComponentSystemBase.RequireAnyForUpdate(params EntityQuery[])
    ComponentSystemBase.RequireAnyForUpdate(NativeArray<EntityQuery>)
    ComponentSystemBase.RequireForUpdate<T>()
    ComponentSystemBase.RequireSingletonForUpdate<T>()
    ComponentSystemBase.HasSingleton<T>()
    ComponentSystemBase.GetSingleton<T>()
    ComponentSystemBase.GetSingletonRW<T>()
    ComponentSystemBase.GetSingletonBuffer<T>(bool)
    ComponentSystemBase.TryGetSingleton<T>(out T)
    ComponentSystemBase.TryGetSingletonBuffer<T>(out DynamicBuffer<T>)
    ComponentSystemBase.SetSingleton<T>(T)
    ComponentSystemBase.GetSingletonEntity<T>()
    ComponentSystemBase.TryGetSingletonEntity<T>(out Entity)
    ComponentSystemBase.GetEntityQuery(params ComponentType[])
    ComponentSystemBase.GetEntityQuery(NativeArray<ComponentType>)
    ComponentSystemBase.GetEntityQuery(params EntityQueryDesc[])
    ComponentSystemBase.GetEntityQuery(in 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
    Assembly: solution.dll
    Syntax
    public abstract class CustomPhysicsSystemGroup : CustomPhysicsSystemGroupBase
    Remarks

    If class that derives CustomPhysicsSystemGroup doesn't need the Simulation to be recreated on each OnStartRunning then it should override OnStartRunning and guard instantiation of new Simulation so it happens only once. It also has to override OnStopRunning and move disposing of simulation to it's own Dispose method.

    Constructors

    Name Description
    CustomPhysicsSystemGroup(uint, bool)

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

    Methods

    Name Description
    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. If overriding this method, make sure to call base.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. If overriding this method, make sure to call base.PreGroupUpdateCallback().

    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)