Rainer LeitandClaude Fable 5.1 d64748f76f Fix the sun in L_World and L_Gym: positional unreal.Rotator is (roll, pitch, yaw)
Both scripts passed (pitch, yaw, roll) and pitched the sun upward, so every scene rendered as night and the
viewport's auto exposure sat at EV -8.5, which is what the 'cached lighting is going to be clipped' warning
reports. Keyword arguments now; the gym script re-applies the rotation on an existing sun; the world script
removes the old external actor folder on disk rather than through the asset library, which cannot load
streaming proxies on their own.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 22:03:42 +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%