wave5-local-transform-write-pattern

Write and read LocalTransform for entity motion in DOTS Entities 1.x.

6|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave5-local-transform-write-pattern
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wave5-local-transform-write-pattern
Source: https://github.com/dyCuong03/unity-agent-team/tree/main/.claude/skills/unity-dots/wave5-local-transform-write-pattern
Command: npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave5-local-transform-write-pattern

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Local-space entity motion and rotation often get broken when systems write the wrong transform component or mix up local-space versus world-space data, causing incorrect physics input and inconsistent results.

Core Features & Use Cases

  • Authoritative local-space writes: Write movement, rotation, and uniform scale via LocalTransform as the single source of truth in Entities 1.x.
  • Correct space semantics: Use LocalTransform for gameplay/physics inputs and reserve LocalToWorld for world-space rendering or spatial queries.
  • Safe scheduling and job constraints: Avoid overwriting after the TransformSystemGroup, and ensure parallel jobs don’t write conflicting transform components.

Quick Start

Use the wave5-local-transform-write-pattern guidance to update an entity’s LocalTransform.Position, LocalTransform.Rotation, and LocalTransform.Scale uniformly from gameplay logic for correct local-space behavior.

Frequently Asked Questions about wave5-local-transform-write-pattern

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

FAQPage Schema
Why does my entity motion break when writing to LocalToWorld in Unity DOTS?

Entity motion breaks because LocalToWorld is a world-space rendering output, not an authoritative input. You must write movement and rotation using LocalTransform in Unity DOTS to ensure correct local-space state and consistent physics input.

How do I correctly move and rotate entities in Unity DOTS jobs?

To move and rotate entities in Unity DOTS, write Position, Rotation, and Scale directly to the LocalTransform component from gameplay jobs. This maintains local-space state as the single source of truth for physics systems.

What is the difference between LocalTransform and LocalToWorld for physics input in Unity DOTS?

LocalTransform holds authoritative local-space state for gameplay and physics input, while LocalToWorld stores derived world-space matrices for rendering. Mixing them by reading world-space data for physics causes incorrect entity motion.

Can I write to LocalTransform in parallel Unity DOTS jobs without conflicts?

Yes, but you must enforce non-conflicting job write ownership. Ensure parallel jobs do not write to the same transform components simultaneously to prevent race conditions and overwriting local-space state.

When should I schedule LocalTransform writes in the Unity DOTS transform system group?

You should schedule LocalTransform writes before the TransformSystemGroup updates. Avoid overwriting local-space state after the group runs to prevent breaking derived world-space data and physics inputs.

Does writing LocalTransform affect parent-child hierarchy transforms in Unity DOTS?

Yes, writing LocalTransform correctly manages local-space state for parent-child hierarchy transforms. Using it as the single source of truth ensures proper relative motion and rotation without breaking child entity positions.