ecs-fundamentals-transformusageflags

Select TransformUsageFlags for every GetEntity() call in Unity ECS Bakers.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents silent, hard-to-debug DOTS baking mistakes where entities get the wrong transform components, causing them to not move, flicker, waste memory, or be overwritten by the default transform pipeline.

Core Features & Use Cases

  • TransformUsageFlags selection at every GetEntity(): Explains when to use None, Renderable, Dynamic, and ManualOverride so baked entity archetypes match runtime needs.
  • Silent failure mode diagnostics: Covers the “no exception, but wrong behavior” symptoms such as entities not appearing in transform-driven queries or not moving.
  • Safe ManualOverride pattern: Documents the required pairing of TransformUsageFlags.ManualOverride with an owning driver component using [WriteGroup(typeof(LocalToWorld))] to avoid last-writer-wins corruption.
  • Performance and archetype hygiene: Describes how incorrect flags create archetype bloat (e.g., unnecessary LocalTransform and Parent) and how to reduce TransformSystemGroup work by choosing appropriately.

Quick Start

Use this skill to audit each Baker<T> and ensure every GetEntity() call uses the correct TransformUsageFlags, with ManualOverride paired with [WriteGroup(typeof(LocalToWorld))] and an explicit LocalToWorld write.

Frequently Asked Questions about ecs-fundamentals-transformusageflags

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

FAQPage Schema
Why does my Unity ECS entity not move or flicker after baking?

Incorrect TransformUsageFlags at GetEntity() cause silent baking mistakes where entities get wrong transform components, resulting in entities not moving, flickering, or being overwritten by the default transform pipeline. Auditing each Baker ensures baked archetypes match runtime needs.

How do I use TransformUsageFlags.ManualOverride safely in Unity ECS?

TransformUsageFlags.ManualOverride must be paired with an owning driver component using [WriteGroup(typeof(LocalToWorld))] and explicit LocalToWorld write ownership. This prevents last-writer-wins corruption and stops the default TransformSystemGroup from overwriting your custom transform system.

When should I use TransformUsageFlags None versus Dynamic in Unity ECS baking?

Use TransformUsageFlags.None for entities requiring no transform data, Renderable for static rendering, and Dynamic for moving entities. Selecting correctly prevents archetype bloat from unnecessary LocalTransform and Parent components, reducing TransformSystemGroup work and memory waste.

How do I debug silent Unity ECS baking errors with wrong transform components?

Debug silent baking errors by reviewing archetype memory for unexpected components and checking every GetEntity() call's TransformUsageFlags mapping. Entities failing to appear in transform-driven queries indicates wrong flags, requiring remapping to None, Renderable, Dynamic, or ManualOverride.

Can incorrect TransformUsageFlags cause archetype bloat in Unity DOTS?

Incorrect TransformUsageFlags create archetype bloat by adding unnecessary LocalTransform and Parent components to baked entities. Proper flag selection at every GetEntity() call eliminates extra components, reducing TransformSystemGroup work and optimizing runtime memory layout.