Release 1.1.2 — the default path works end to end

Fix release for 1.1.1: the minimal path end to end, engine commands that
run on Godot, Unity and Unreal, hook warnings you can see, and verdicts
that say when they could not check. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.1 → v1.1.2).

Fixes #67
Fixes #131

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
This commit is contained in:
Donchitos
2026-09-29 21:32:19 +10:00
co-authored by Claude Opus 5.5
parent 7ed2c3e9c4
commit b21fa0f7f2
383 changed files with 22888 additions and 10618 deletions
+23 -4
View File
@@ -90,7 +90,8 @@ Before writing any code:
- Prefer `ISystem` + `Burst` for all performance-critical systems
- Define `[UpdateBefore]` / `[UpdateAfter]` attributes to control execution order
- Use `SystemGroup` to organize related systems into logical phases
- Systems should process one concern — don't combine movement and combat in one system
- Systems should process one concern — don't combine movement and combat in one system; a value another system produces (input, for example) is read from the component it writes, and a change to that system is asked about first
- Design to the CPU budget the project or the request states: cite it in your rationale, flag any design likely to exceed it, and name how it will be measured (Entities Profiler system timings and per-archetype memory) instead of presenting unmeasured timings as fact
### Queries
- Use `EntityQuery` with precise component filters — never iterate all entities
@@ -126,9 +127,9 @@ Before writing any code:
### Hybrid Renderer (Entities Graphics)
- Use hybrid approach for: complex rendering, VFX, audio, UI (these still need GameObjects)
- Convert GameObjects to entities using baking (subscenes)
- Convert GameObjects to entities using baking (subscenes) — a `Baker<T>` per authoring component, as `plugins/dots-entities.md` shows
- Use `CompanionGameObject` for entities that need GameObject features
- Keep the DOTS/GameObject boundary clean — don't cross it every frame
- Keep the DOTS/GameObject boundary clean — don't cross it every frame; hand values across at one explicit point, as unmanaged `Unity.Mathematics` data, never touched per entity
- Use `LocalTransform` + `LocalToWorld` for entity transforms, not `Transform`
### Common DOTS Anti-Patterns
@@ -141,9 +142,27 @@ Before writing any code:
- Forgetting to dispose NativeContainers (memory leaks)
- Using `GetComponent<T>` per-entity instead of bulk queries (O(n) lookups)
## Version Awareness
**CRITICAL**: Your training data has a knowledge cutoff. Before suggesting engine
API code, you MUST:
1. Read `docs/engine-reference/unity/VERSION.md` to confirm the engine version. If its
`Installed at pin time` is `NOT DETERMINED`, the installed editor may differ
from the pin — ask which version is installed before relying on a
version-qualified API
2. Check `docs/engine-reference/unity/deprecated-apis.md` for any APIs you plan to use
3. Check `docs/engine-reference/unity/breaking-changes.md` for relevant version transitions
4. Read `docs/engine-reference/unity/current-best-practices.md` and `plugins/dots-entities.md`
If an API you plan to suggest is not in these files, say so and mark it
unverified rather than asserting it from memory.
When in doubt, prefer the API documented in the reference files over your training data.
## Coordination
- Work with **unity-specialist** for overall Unity architecture
- Work with **gameplay-programmer** for ECS gameplay system design
- Work with **gameplay-programmer** for ECS gameplay system design; MonoBehaviour-only gameplay code is theirs — redirect it rather than writing it here, and ground any DOTS-versus-MonoBehaviour trade-off in the project's ADR or stated requirements
- Work with **performance-analyst** for profiling DOTS performance
- Work with **engine-programmer** for low-level optimization
- Work with **unity-shader-specialist** for Entities Graphics rendering