wave8-wrong-system-group-fixed-timestep

Move Unity DOTS fixed-timestep logic into FixedStepSimulationSystemGroup.

6|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave8-wrong-system-group-fixed-timestep
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wave8-wrong-system-group-fixed-timestep
Source: https://github.com/dyCuong03/unity-agent-team/tree/main/.claude/skills/unity-dots/wave8-wrong-system-group-fixed-timestep
Command: npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave8-wrong-system-group-fixed-timestep

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents fixed-timestep simulation code from running in the wrong Unity DOTS system group, which causes frame-rate-dependent behavior and nondeterministic physics.

Core Features & Use Cases

  • Pinpoint the failure mode: identify when your system applies forces, writes physics components, or processes collision/trigger events on a render-driven cadence instead of a fixed simulation cadence.
  • Move logic to the correct group: refactor systems into FixedStepSimulationSystemGroup with appropriate UpdateBefore/UpdateAfter ordering for deterministic execution.
  • Validate runtime correctness: ensure the fixed timestep is configured once (not per frame) and keep simulation-rate logic separate from render-rate interpolation.

Quick Start

Use wave8-wrong-system-group-fixed-timestep to review the target system’s current [UpdateInGroup] and ordering attributes, then rewrite it to run in FixedStepSimulationSystemGroup with correct before/after relationships.

Frequently Asked Questions about wave8-wrong-system-group-fixed-timestep

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Unity DOTS physics simulation behave differently at varying frame rates?

Frame-rate dependent behavior in Unity DOTS physics occurs when fixed-timestep simulation logic is placed in a render-driven system group instead of FixedStepSimulationSystemGroup. Relocating force application and collision processing ensures deterministic execution.

How do I fix nondeterministic collision responses in Unity DOTS?

To fix nondeterministic collision responses, review your system's [UpdateInGroup] attribute and move the logic into FixedStepSimulationSystemGroup. Apply correct UpdateBefore and UpdateAfter ordering to enforce a fixed simulation cadence.

What is the correct system group for writing PhysicsVelocity in Unity DOTS?

PhysicsVelocity writes belong in FixedStepSimulationSystemGroup to maintain deterministic physics. Placing these component updates in render-rate groups causes frame-rate dependency and inconsistent simulation results.

Can I configure the fixed timestep per frame in Unity DOTS?

No, the fixed timestep configuration should be set once during initialization, not per frame. Configuring it repeatedly causes simulation inconsistencies and breaks the deterministic execution required for physics logic.

How do I separate simulation-rate logic from render-rate interpolation in Unity DOTS?

Separate simulation-rate logic from render-rate interpolation by refactoring systems into FixedStepSimulationSystemGroup with proper UpdateBefore and UpdateAfter attributes, keeping fixed-rate execution isolated from render-driven updates.

When should I use FixedStepSimulationSystemGroup instead of the default simulation group?

Use FixedStepSimulationSystemGroup when systems apply forces, write PhysicsMass, or handle collision and trigger events. These operations require a fixed simulation cadence to prevent nondeterministic physics and frame-rate dependencies.