Files
Rainer LeitandClaude Fable 5.1 4f2c55cd2a Step 1: the Salty project, two modules, tests and the gym
Salty.uproject (UE 5.8) from the Third Person template with class redirects, the SaltyCore and Salty modules,
the three build targets, USaltyAssetManager calling InitGlobalData, Config/Tags with the 23 root namespaces,
Scripts/run-tests.sh, build.sh and Authoring/create_gym.py, L_Gym, Git LFS attributes and the placeholder test.
Template variants kept as reference (D-41). The four Fab packs stay out of the repository for now (~10 GB).
The editor serves the engine MCP plugin on 127.0.0.1:8000 through DefaultEditorPerProjectUserSettings.ini.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 20:10:43 +03:00

38 lines
2.1 KiB
Markdown

# 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`](Docs/Design.md): what this is, in about two hundred lines. Start here.
- [`Docs/Steps.md`](Docs/Steps.md): the order of work and what closes each step.
- [`Docs/Spec/`](Docs/Spec/README.md): the specifications an implementer builds from.
- [`Docs/Ideas.md`](Docs/Ideas.md): what was carried over from the two earlier projects and not yet built.
- [`Docs/Decisions.md`](Docs/Decisions.md): every decision, the open ones, the deferred ones.
- [`CLAUDE.md`](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.