Rainer LeitandClaude Fable 5.1 3e52d26fb7 Step 2: the telemetry seam
ITelemetrySink with the null, log and JSON Lines sinks, FTelemetryEvent and the envelope, TelemetryEvents,
UTelemetrySubsystem on the game instance, ASaltyGameMode minting the session id into the replicated
ASaltyGameState, bs.TelemetryTest, the git hash in the build string (D-42) and four Salty.Core.Telemetry tests
replacing the placeholder. Proved standalone and with a headless server plus client sharing one session id.

Also enables the engine's Editor, AutomationTest, GameplayTags, ConfigSettings and LiveCoding MCP toolsets
(D-43) so the editor's MCP server exposes more than the skills toolset.

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

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.

S
Description
No description provided
Readme
3.1 MiB
Languages
Go 41.8%
JavaScript 33.1%
C++ 10.7%
Python 6.9%
HTML 5.3%
Other 2.2%