9597629951c5ad146a3af1235df43bf5a521d7b1
Unreal prototype
An Unreal Engine 5 project that builds three things in order and proves each one feels right before anything is built around it: a movement controller, fighting, and crafting. Server-authoritative from the first line, C++ first, data-driven, telemetry from step 2, and worked as a ladder of small proofs rather than a roadmap.
Step 1 is built: Salty.uproject on Unreal Engine 5.8, two modules, the headless test runner and the gym. Step 2 (telemetry) is next.
Read
Docs/Design.md: what this is, in about two hundred lines. Start here.Docs/Steps.md: the order of work and what closes each step.Docs/Spec/: the specifications an implementer builds from.Docs/Ideas.md: what was carried over from the two earlier projects and not yet built.Docs/Decisions.md: every decision, the open ones, the deferred ones.CLAUDE.md: the instructions an AI agent works from in this repository.
Layout
UnrealEnginePrototyping/
├── CLAUDE.md Instructions for an AI agent: conventions, layout, commands, upkeep.
├── README.md This file.
├── Docs/ Design, steps, ideas, decisions, worklog, and Spec/ with one document per system.
├── Salty.uproject Unreal Engine 5.8. At the root, which is what the .gitignore assumes.
├── Source/ SaltyCore (rules, no actors) and Salty (gameplay). Variant_* is template reference.
├── Content/ Assets, one folder per feature; Maps/L_Gym; Tests/; the Fab packs.
├── Config/ Engine and game config; Tags/ holds the gameplay tag sources.
└── Scripts/ Test and build scripts run by hand; Authoring/ for editor Python.
Getting started
Open Salty.uproject with Unreal Engine 5.8, run Scripts/run-tests.sh, and press Play in L_Gym with two
clients and "Run Dedicated Server" on. Scripts/Authoring/create_gym.py rebuilds the gym.
Binary assets go through Git LFS; run git lfs install once per machine.
Languages
Go
41.8%
JavaScript
33.1%
C++
10.7%
Python
6.9%
HTML
5.3%
Other
2.2%