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.