← Multiplayer Game System handbook

Gameplay validation and production boundaries

Validation date: 16 October 2026. Engine: Unreal 5.8.3, Win64 Development Editor. Use this alongside the feature authoring documents; passing these scenarios does not mean a finished content-complete game.

Verified evidence

The runtime driver is opt-in under -NGSValidate and excluded from Shipping activation. It uses transient character/campaign records. The PowerShell runner owns and cleans up only its spawned test processes.

Repeat locally

After building NiceLobbySystemEditor, run Tools/setup_gameplay.py using Unreal's Python commandlet. Close editors that have unsaved versions of the integration assets first. Then run:

& Tools/run_gameplay_validation.ps1 -Mode Solo
& Tools/run_gameplay_validation.ps1 -Mode Network
& Tools/run_gameplay_validation.ps1 -Mode ListenNetwork
& Tools/run_gameplay_validation.ps1 -Mode RenderedSolo

Native tests appear under NiceGame in the Automation window. The AI gateway tests run with python -m unittest discover -s Services/CompanionAI -p 'test_*.py' -v; the previous provider slice passed seventeen fixture/loopback tests. No live model-provider account was called.

Rendered validation captures lit gameplay, world map, minimap, scene-only output and an explicitly named unlit diagnostic. The unlit image is a diagnostic and must not be used as evidence of correct lighting. Review lit images as well as JSON success.

Remaining acceptance work

These are explicit limits of the delivered framework and example content. Keep acceptance reports scoped to the actual scenario rather than generalizing one successful run to every possible asset, map or platform.

Camera, focus and map input acceptance — 19 October 2026

The Development Editor build passed. The normal Field Camp passed rendered acceptance with both CMC and Mover: center focus HUD, camera FOV and first-person focus, Character Settings controls, upright demo signs/workshops, distinct sun/moon forward-shading priorities, and actual Slate mouse drag/wheel/click plus keyboard map panning. Dragging does not accidentally create markers. Screenshots are in Saved/Screenshots/MGS_BP_NGSCharacter_*.

The dedicated-server scenario passed with both clients, including replicated movement speed changes and restoring the default speed. The native NiceGame suite completed 37 tests with zero failures; one test completed with engine startup warnings (pose-search indexing, EOS tick delay and a connectivity-probe timeout). Physical controllers, live EOS accounts and production packaging remain separate acceptance work.