# Unity DOTS Resources

Curated 2026-08-31. Version-sensitive: DOTS churned hard through the 0.x and 1.x
years, and a great deal of writing online still targets APIs that no longer exist.
**Check the version stamp on anything before trusting it.** See [Version traps](#version-traps).

## Knowledge

- [Entities package manual (6.5)](https://docs.unity3d.com/Packages/com.unity.entities@6.5/manual/index.html)
  The canonical reference, and the one to cite. Use for: exact API surface, the
  archetype/chunk model, baking, systems, job types.
- [Archetypes concepts](https://docs.unity3d.com/Packages/com.unity.entities@6.5/manual/concepts-archetypes.html)
  The single most load-bearing page in the manual. Source of the 16 KiB chunk figure
  and the "EntityManager moves the entity" description of a structural change.
  Use for: anything about memory layout or why a change is expensive.
- [Structural changes concepts](https://docs.unity3d.com/Packages/com.unity.entities@1.0/manual/concepts-structural-changes.html)
  Why add/remove/instantiate/destroy are main-thread-only and what they cost.
  Use for: designing around structural change, deciding when to reach for an ECB.
- [e-book: *Introduction to the Data-Oriented Technology Stack*, Unity 6 edition — Brian Will](https://unity.com/blog/engine-platform/new-ebook-understanding-unity-dots)
  Written explicitly for developers fluent in MonoBehaviour and new to DOTS —
  which is exactly this workspace's starting point. **The best single primary source
  for the first third of this course.** Use for: the conceptual on-ramp, and for the
  honest "should you use DOTS at all" discussion.
- [Unity-Technologies/EntityComponentSystemSamples](https://github.com/Unity-Technologies/EntityComponentSystemSamples)
  Official, versioned, and actually maintained. `EntitiesSamples/Assets/ExampleCode/`
  is the fastest way to check current syntax. Use for: verifying an API against
  working code rather than against a blog post.
- [DOTS Best Practices — Unity Learn](https://learn.unity.com/course/dots-best-practices)
  Use for: data design decisions, and the "don't do this" list once the basics land.
- [Iterate over component data with SystemAPI.Query](https://docs.unity3d.com/Packages/com.unity.entities@6.5/manual/systems-systemapi-query.html)
  Use for: the exact `RefRW`/`RefRO`/`WithAll`/`WithNone`/`WithEntityAccess` grammar.

## Wisdom (Communities)

- [Unity Discussions — Entity Component System forum](https://discussions.unity.com/tags/c/unity-engine/52/dots)
  Where the Unity DOTS engineers themselves answer. High signal, low patience for
  unversioned questions. Use for: "is this the intended way to do X", performance
  sanity checks, confirming whether something is a bug or a misunderstanding.
- [Turbo Makes Games (Johnny Thompson)](https://johnnyturbo.itch.io)
  Runs the recurring Unity **DOTS Community Challenge** game jams. Use for: testing
  skills against a deadline with other DOTS developers, and for seeing full project
  structure rather than isolated snippets.
- [r/Unity3D](https://reddit.com/r/Unity3D) — broad, and mostly *not* DOTS-literate.
  Use sparingly, and only for high-level "was this the right call" questions.

## Version traps

Read this before trusting any tutorial found by search:

- **Package versioning changed.** DOTS packages moved onto Unity-aligned version
  numbers. The line runs `1.0 → 1.4 → 6.4 → 6.5`, so **Entities 6.5 is newer than
  Entities 1.4**, not older. Docs URLs carry the version: prefer `@6.5`.
- **Entities is now a core package.** The 6.4.0 changelog states: *"Package is now a
  core package embedded in Unity."* Unity Physics became a core package in 6.5.
  Tutorials that begin "open Package Manager and add the Entities package" predate this.
- **Pre-1.0 material is a different API.** Anything showing `JobComponentSystem`,
  `IJobForEach`, `Entities.ForEach` as the default, or `ConvertToEntity` components
  is from the 0.x era and will not compile. Baking and `ISystem` replaced them.
- **`SystemBase` is not deprecated**, but `ISystem` is the Burst-compatible one and
  the default this course teaches. Know why you'd pick the other.

## Gaps

Things the mission needs and no strong resource has been found for yet:

- A high-quality, current treatment of **uniform spatial grids in DOTS** specifically
  (`NativeParallelMultiHashMap` + parallel writers). Most crowd tutorials either use
  Unity Physics or hand-wave the broad phase. Likely to need synthesis from the
  samples repo plus general spatial-hashing literature. **Search again before lesson 9.**
- Anything credible comparing **DOTS against GPU-resident simulation** for the same
  workload — the direct question this workspace and `gpu-prog` jointly pose.
