Namespace Unity.Physics.Systems
Classes
AfterPhysicsSystemGroup
A system group that runs after physics.
In almost all cases, this provides no behaviour difference over manually typing [UpdateInGroup(typeof(FixedStepSimulationSystemGroup))][UpdateAfter(typeof(PhysicsSystemGroup))].
The only benefit of using [UpdateInGroup(AfterPhysicsSystemGroup)] is the fact that the systems which update in this group will be correctly copied by Custom
BeforePhysicsSystemGroup
A system group that runs before physics.
In almost all cases, this provides no behaviour difference over manually typing [UpdateInGroup(typeof(FixedStepSimulationSystemGroup))][UpdateBefore(typeof(PhysicsSystemGroup))].
The only benefit of using [UpdateInGroup(BeforePhysicsSystemGroup)] is the fact that the systems which update in this group will be correctly copied by Custom
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.
CustomPhysicsSystemGroupBase
This abstract class can be used to create a system group for a custom physics world.
You most likely want to use Custom
PhysicsBuildWorldGroup
Group responsible to build the physics world data and wait for any dependencies before the next simulation.
PhysicsCreateBodyPairsGroup
The first system group to run in Physics
PhysicsCreateContactsGroup
The second system group to run in Physics
PhysicsCreateJacobiansGroup
The third system group to run in Physics
PhysicsInitializeGroup
The first group to run in physics pipeline. It creates the Physics
PhysicsSimulationGroup
The second group to run in physics pipeline. It simulates the world. If you want to modify
data mid-simulation, your system should run in this group. It consists of Physics
PhysicsSolveAndIntegrateGroup
The final system group to run in Physics
PhysicsSystemGroup
The physics system group. Covers all physics systems in the engine. Consists of Physics
PhysicsWorldBuilder
Utilities for building a physics world.
PhysicsWorldExporter
Utilities for exporting physics world data to ECS components.
Structs
BuildPhysicsWorld
A system which builds the physics world based on the entity world. The world will contain a rigid body for every entity which has a rigid body component, and a joint for every entity which has a joint component.
BuildPhysicsWorldData
Public system data for this world's instance of a Build
Contains physics world data based on the entity world. The physics world data will contain a rigid body for every entity which has a rigid body component, and a joint for every entity which has a joint component.
ExportPhysicsWorld
A system which copies transforms and velocities from the physics world back to the original
entity components. The last system to run in Physics
PhysicsWorldData
Structure containing PhysicsWorld and other data and queries that are necessary for
simulating a physics world. Note: it is important to create Physics
PhysicsWorldData.PhysicsWorldComponentHandles
The physics world component handles. Stores the information about ECS component handles
needed for generating a Physics
PhysicsWorldExporter.ExportPhysicsWorldTypeHandles
Stores the ECS component handles needed to export Physics
SyncCustomPhysicsProxySystem
Synchronize the movement of the custom physics proxy using kinematic velocities. The kinematic entity is moved from its current position/rotation to the position/rotation of the driving entity in one frame, by computing the necessary angular and linear velocities.