public enum SystemPhaseThe ordered stages of a frame. Within a phase, order is the dependency graph; between phases, a hard sync point.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Named stages rather than one flat graph, because some ordering is not derivable from what systems touch. Input must be read before anything reacts to it and the camera must be final before culling starts, whether or not those systems share a component — and a user who has to express that as an UpdateAfterAttribute chain across a hundred systems will get it wrong.
The hard sync between phases is what makes a phase boundary a place where structural change can safely happen: command buffers are played back there, and the world's change version moves on, so a system asking "what changed since I last ran" gets an answer whose granularity is the phase.
Fields and properties (9)
EarlyUpdateBefore anything else. Frame bookkeeping and time.
InputDevices are polled and input state is published.
FixedUpdateSimulation at a fixed timestep. Runs zero or more times per frame from an accumulator, so anything here must be a function of the fixed delta and never of the frame delta.
UpdateOrdinary per-frame game logic.
AnimationAnimation sampling and skinning, after logic has decided what is playing.
LateUpdateAfter everything has moved. Cameras that follow, constraints that correct.
PreRenderTransforms are resolved, culling runs, draw lists are built.
RenderThe render graph is recorded and submitted.
PostRenderAfter submission. Presentation bookkeeping, readbacks, statistics.
Used by (64, showing 40)
- MouseCaptureSystemThirdPersonShooter
- OrbitSystemEcsStressTest
- AnimationSystemVixen.Animation
- AudioSystemVixen.Audio
- BehaviorLateUpdateSystemVixen.Engine
- BehaviorLifecycleSystemVixen.Engine
- BehaviorUpdateSystemVixen.Engine
- CameraDirectorSystemVixen.Engine
- CameraExtractionSystemVixen.Rendering
- CharacterMovementSystemVixen.Physics
- ConstraintGizmoSystemVixen.Animation
- CoroutineEndOfFrameSystemVixen.Engine
- CoroutineFixedStepSystemVixen.Engine
- CoroutineLateUpdateSystemVixen.Engine
- CoroutineUpdateSystemVixen.Engine
- DebugDrawSystemVixen.Engine
- DiagnosticOverlaySystemVixen.Engine
- EngineLoopVixen.Engine
- EngineLoopTestsVixen.Engine.Tests
- InputPhaseSystemVixen.Ecs.Tests
- InputUpdateSystemVixen.Engine
- LightExtractionSystemVixen.Rendering
- LocalPlayerSystemVixen.Net.Engine
- MeshExtractionSystemVixen.Rendering
- NavigationSystemVixen.Navigation
- NetworkAnimatorApplySystemVixen.Net.Animation
- NetworkAnimatorCaptureSystemVixen.Net.Animation
- NetworkAudioApplySystemVixen.Net.Audio
- NetworkAudioCaptureSystemVixen.Net.Audio
- NetworkBonesApplySystemVixen.Net.Animation
- NetworkBonesCaptureSystemVixen.Net.Animation
- NetworkRigidBodyCaptureSystemVixen.Net.Physics
- NetworkRigidBodyCorrectionSystemVixen.Net.Physics
- NetworkSpawnSystemVixen.Net.Engine
- NetworkTransformApplySystemVixen.Net.Engine
- NetworkTransformCaptureSystemVixen.Net.Engine
- PhysicsDebugDrawSystemVixen.Physics
- PhysicsInterpolationSystemVixen.Physics
- PhysicsStepSystemVixen.Physics
- PhysicsSyncSystemVixen.Physics