Skill Claude Code
Read component data from entities not in the current iteration — either via a snapshot copy (ToComponentDataArray) for simple read-only cases, or via ComponentLookup for random access by entity ID.
Skill Claude Code
Read component data from entities not in the current iteration — either via a snapshot copy (ToComponentDataArray) for simple read-only cases, or via ComponentLookup for random access by entity ID.
Skill Claude Code
Use EntityManager directly for structural changes outside of any active query iteration — appropriate for one-shot initialisation, infrequent config-driven respawns, and batch operations on the mai...
Skill Claude Code
Senior-level Unity DOTS baking patterns — TransformUsageFlags, Baker dependency tracking, prefab references, and additional entity creation. Use when writing or reviewing Baker , authoring MonoBehaviours, baking systems, or any code that translates GameObject scene state into entity components.
Skill Claude Code
Senior-level EntityCommandBuffer orchestration — which ECB system to record into, when playback happens, ParallelWriter rules, deterministic sort keys, and the difference between recording phase and playback phase. Use whenever code defers structural changes from jobs (AddComponent / RemoveComponent / Instantiate /…
Skill Claude Code
When to use IEnableableComponent vs structural add/remove for entity state flips. Covers the cost-model decision, query semantics (.WithAll vs .WithEnabled, IgnoreComponentEnabledState), and SetComponentEnabled inside jobs. Use when designing state that flips frequently (cooldowns, dirty flags, dead/alive…
Skill Claude Code
Senior-level entity lifecycle — safe destruction, structural-change-during-iteration rules, ICleanupComponentData two-phase teardown, dangling Entity refs, and subscene load/unload. Use when destroying entities, designing cleanup that needs to run after destruction, or debugging "entity already destroyed" /…
Skill Claude Code
Senior-level entity spawning — batched Instantiate from prefab Entity, ECB.Instantiate from jobs, deterministic Random with CreateFromIndex, RequireForUpdate gating, and Allocator.Temp lifecycle. Use when implementing spawners, enemy waves, projectile fire, particle-like ECS entities, or any "create N entities per…
Skill Claude Code
Create an ECB inline within a single OnUpdate, play it back immediately, and dispose it — for cases where the structural change must be visible within the same system update without waiting for an ...
Skill Claude Code
Create a reusable ECB with PlaybackPolicy.MultiPlayback that can be played back multiple times — for streaming scenarios where the same entity creation sequence must execute on every subscene load.
Skill Claude Code
Enable structural changes from ScheduleParallel jobs by converting an ECB to a thread-safe parallel writer keyed by chunk index for deterministic command replay.
Skill Claude Code
Select the correct ECBSystem playback boundary (BeginSimulation vs EndSimulation) based on when the structural change result must be visible, and guard both with RequireForUpdate.
Skill Claude Code
Senior-level rule for choosing between ISystem (unmanaged + Burst) and SystemBase (managed) in Entities 1.x. ISystem is the default; SystemBase is a deliberate exception. Covers Burst boundaries, the [BurstDiscard] silent-fallback trap, managed-field anti-patterns, and the bridge-system pattern for unavoidable managed…
Skill Claude Code
Senior-level guide to selecting TransformUsageFlags at every GetEntity() call in a Baker . Covers the four values (None / Renderable / Dynamic / ManualOverride), the silent-failure modes when the choice is wrong, archetype-bloat consequences at scale, and the [WriteGroup(typeof(LocalToWorld))] contract that must…
Skill Claude Code
Toggle a component''s active state without archetype migration, preserving component data while excluding the entity from standard queries until re-enabled.
Skill Claude Code
Record structural changes (AddComponent, RemoveComponent, Instantiate, DestroyEntity) during job execution or entity iteration, then play them back safely on the main thread after the frame boundary.
Skill Claude Code
Store a lazy-loaded prefab handle that defers entity scene loading until explicitly requested, enabling on-demand prefab loading without paying the memory cost at world initialization.
Skill Claude Code
Senior-level convention that every ISystem / SystemBase gates OnUpdate with state.RequireForUpdate () (or the query overload) so the system only runs when its prerequisites — config singletons, feature toggles, baked content — actually exist. Covers the AND semantics of multiple gates, the empty-tag feature-flag…
Skill Claude Code
Senior-level guide to SystemAPI.Query , RefRO , ...>() as the default main-thread per-entity iteration inside ISystem.OnUpdate. Covers the RefRO/RefRW intent discipline, when to refine with .WithAll / .WithNone / .WithEntityAccess, the structural-change-in-iteration trap, when to promote to IJobEntity, and the…
Skill Claude Code
Run a subset of systems at a fixed timestep decoupled from the variable render framerate, ensuring deterministic simulation, correct physics integration, and frame-rate-independent gameplay.
Skill Claude Code
React to entity destruction at runtime by attaching a cleanup component that survives DestroyEntity, allowing a system to detect destroyed entities, release associated resources, and finalise true ...
Skill Claude Code
Store per-entity state as an unmanaged, cache-coherent struct that ECS can lay out contiguously in archetype chunks.
Skill Claude Code
Process entities at the chunk level for maximum control — chunk-level change filtering, enable mask handling, direct pointer access, and explicit sort key management.
Skill Claude Code
Execute per-entity computation in parallel across worker threads using a source-generated job whose query is inferred from the Execute method signature.
Skill Claude Code
Implement a system as an unmanaged struct with Burst-compiled entry points to eliminate managed dispatch overhead and enable native code generation on the hot update path.
At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: