Set up DOTS + Netcode for Entities foundation

One-time stack setup per Docs/dots-setup-task.md (Unity 6.4.7 / 6000.4.7f1).
Packages: entities 6.4.0, entities.graphics 6.4.0, netcode 1.13.2, physics 1.4.6.

- Assets/_Project asmdef split: ProjectM.Simulation/Client/Server/Authoring (root ns ProjectM)
- GameBootstrap : ClientServerBootstrap; verified separate client + server worlds in Play Mode
- Gameplay subscene wired into SampleScene as a baking target
- Heartbeat component + Burst ISystem; EditMode smoke test green (1/1)
- In-repo Obsidian vault (Docs/Vault) incl. DR-001 (plain-Entities test over internal NetCodeTestWorld)
- Portable .mcp.json (basic-memory + serena via ${CLAUDE_PROJECT_DIR}); CLAUDE.md conventions
- .gitignore for DOTS baking cache + machine-local config

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Luis Gonzalez
2026-05-29 22:06:44 -07:00
parent 25e3493e75
commit 99d8d2d2a9
74 changed files with 1609 additions and 36 deletions
@@ -0,0 +1,41 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 53
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4111970df3904877aade1a474116e5c2, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.NetCode.Authoring.Hybrid::Unity.NetCode.Hybrid.NetCodeClientAndServerSettings
FilterSettings:
ExcludedBakingSystemAssemblies: []
AdditionalScriptingDefines: []
GlobalNetCodeConfig: {fileID: 0}
CurrentImportanceSuggestions:
- MinValue: 1
MaxValue: 4
Name: Low Importance
Tooltip: For cosmetic (i.e. visual-only) ghosts like glass bottles, signs, beach-balls,
and cones etc. Typically <b>Static</b>.
- MinValue: 5
MaxValue: 40
Name: Medium Importance
Tooltip: For common gameplay-affecting ghosts like trees, doors, explosive barrels,
dropped loot etc. Typically <b>Static</b>.
- MinValue: 50
MaxValue: 250
Name: High Importance
Tooltip: For per-player and objective-critical ghosts like Player Character Controllers
and CTF flags etc. Typically for <b>Dynamic</b> i.e. <b>Predicted</b> ghosts.
<b>UsePreSerialization</b> is likely a good fit.
- MinValue: 1000
MaxValue: 0
Name: Critical Importance
Tooltip: For gameplay critical singletons like the one keeping the current score,
or the one denoting whether or not the current round has started etc. Choose
<b>UsePreSerialization</b>, and use sparingly.