unity dots · ecs · expertise, not competence
Could you derive the API
if the API vanished?
chunk map
resident 0/63 lessonsmodules
Mechanical Sympathy
The hardware constraints every DOTS decision answers to
Entities Core
Archetypes, chunks, and structural change
- R Archetypes — identity is a set of types 9m
- R Chunks — why 16 KB, and what it costs you 9m
- Q Checkpoint — archetypes & chunks 5m
- R Tags and shared components — carrying meaning without carrying bytes 9m
- R Queries — how iteration finds its chunks 8m
- Q Checkpoint — components & queries 6m
- L Watch density move 30m
- Design the archetype for a system you haven't been given 45m
- Unit — Entities Core 14m
Systems
The update loop, ordering, and the command-buffer boundary
- R Systems — behaviour with no state of its own 8m
- R Ordering — when systems run, and why it's declared 8m
- R The command buffer — deferring the move you can't make now 9m
- Q Checkpoint — systems, ordering, command buffers 6m
- L Feel the sync point 30m
- Remove every sync point from a system that must create and destroy 45m
- Unit — Systems 14m
Burst
SIMD, aliasing, and reading the ASM
- R Burst — a second compiler for a smaller language 8m
- R Vectorization — one instruction, many lanes 9m
- R Aliasing — the question the optimizer keeps asking 10m
- Q Checkpoint — Burst, SIMD, aliasing 6m
- R Unity.Mathematics — writing in vector width on purpose 8m
- R Reading the ASM — proving it, not hoping it 9m
- Q Checkpoint — math types & verification 6m
- L Prove the vector 35m
- Make three stubborn loops vectorize 50m
- Unit — Burst 14m
Jobs
Parallelism the compiler can prove safe
- R Jobs — parallelism without the usual catastrophe 9m
- R The safety system — races are aliasing, one level up 10m
- Q Checkpoint — jobs & safety 6m
- R IJobEntity and IJobChunk — the chunk becomes the work unit 9m
- R Dependencies — the graph that keeps parallelism correct 10m
- Q Checkpoint — entity jobs & dependencies 6m
- L Spread it across cores 35m
- Schedule a five-stage pipeline that never stalls the main thread 50m
- Unit — Jobs 14m
Baking
How authored scenes become entity data — and why it happens offline
- R The conversion problem — two irreconcilable data models 9m
- R The Baker — why conversion is declared, not called 10m
- Q Checkpoint — conversion & bakers 6m
- R Entity scenes — why baked data loads as bytes, not as calls 9m
- R Prefabs and blob assets — what gets shared instead of copied 10m
- Q Checkpoint — entity scenes, prefabs & blobs 6m
- L Price the bake — what a TransformUsageFlag costs per chunk 25m
- Bake a spawner that survives a scene reload 45m
- Unit — Baking 12m
Transforms
Spatial data as components — and what a hierarchy costs to keep
- R LocalTransform — why one component, and why not a matrix 9m
- R The hierarchy — when entity data stops being independent 10m
- Q Checkpoint — LocalTransform & the hierarchy 6m
- R LocalToWorld — the derived value, and who owns the write 9m
- Q Checkpoint — LocalToWorld & derived data 5m
- L Depth costs, count doesn't — measure the hierarchy tax 30m
- Flatten a hierarchy without breaking what it was for 50m
- Unit — Transforms 12m
Advanced Patterns
Enableable state, determinism, and controlling when work happens
- R Enableable components — the fourth option, finally 10m
- R Determinism — why the same inputs must give the same frame 10m
- Q Checkpoint — enableable state & determinism 6m
- R System groups and the fixed step — giving determinism a place to live 9m
- Q Checkpoint — groups, fixed step & the spiral 5m
- L Break determinism, then fix it 35m
- Make a parallel reduction deterministic 55m
- Unit — Advanced Patterns 12m