Technical Design

Tech Stack & Engine

Engine & project facts (verified from Lambeer.uproject)

Status: draftOwner: UnassignedUpdated: 2026-09-14

Production schedule — 2026-09-13: PIPE-ROADMAP now defines 32 focused phases (P00–P31). Phase 0/1/2/3 references retained in this document are legacy scope bands, not the new phase numbers. The owner confirmed limited-area core-loop proof before full-map expansion; see the roadmap for dependencies, audited status and remaining work.

Verified project difference: the deprecated GDD text names Unreal Engine 5.7, while Lambeer.uproject declares EngineAssociation: 5.8. Unreal Engine 5.8 is the authoritative current project version.

Production context

Deprecated source referenceGDD/05-Technical/01-Tech-Stack-and-Engine.md
Decision markers7 confirmed · 5 recommendations · 0 TBD
Browser document roleThis standalone HTML file is authoritative; edit this file directly through the project workflow.

Verified implementation evidence

  • Lambeer.uproject (EngineAssociation 5.8)
  • Source/Lambeer/Lambeer.Build.cs
  • Source/LambeerServer.Target.cs

Relationships

Document contract coverage

Use these required Technical Design areas during review. The HTML content below is authoritative; items not stated explicitly remain unresolved.

  • ReviewProblem & Scope
  • ReviewCurrent vs Proposed
  • ReviewArchitecture
  • ReviewData Model
  • ReviewInterfaces & Events
  • ReviewReplication / Persistence
  • ReviewPerformance & Failure Handling
  • ReviewImplementation Plan
  • ReviewVerification Strategy
  • ReviewTechnical Decisions / TBDs

Authoritative project content

Engine & project facts (verified from Lambeer.uproject)

  • Engine: Unreal Engine 5.8 (verified from Lambeer.uproject).
  • Primary module: Lambeer (Runtime), depends on Engine, AIModule, UMG.
  • Enabled plugins: ModelingToolsEditorMode (editor), StateTree, GameplayStateTree, MetaHuman, MetaHumanCoreTech, MetaHumanCharacter, GameplayAbilities, CommonUI, SQLiteCore.
  • MetaHuman plugins support Win64 + Linux → consistent with a Linux dedicated server.
  • Project was created from the Third Person template with example variants (Variant_Combat, Variant_Platforming, Variant_SideScrolling) — all three are to be removed (see 05-Project-Setup-Steps.md).

Language strategy — [CONFIRMED]

Core engine systems we rely on

System Use Status
World Partition Open-world streaming [CONFIRMED]
One File Per Actor (OFPA) Already on (__ExternalActors__/__ExternalObjects__ present) In use
Nanite Static environment geometry [CONFIRMED] (photoreal)
Lumen GI + reflections [CONFIRMED] (photoreal)
Enhanced Input All player input [RECOMMENDATION] (UE5 standard; template already has an Input content folder)
StateTree / GameplayStateTree Zombie & boss AI [RECOMMENDATION] (plugins already enabled)
EQS AI target/danger queries [RECOMMENDATION] (combat template includes EQS contexts)
Chaos Vehicles Drivable vehicles [RECOMMENDATION] (Phase 2)
Niagara VFX Standard
MetaHuman Player characters [CONFIRMED]

Gameplay Ability System (GAS) — [CONFIRMED]

GAS is recommended as the backbone for attributes, damage, status effects, and especially the permanent boss buffs:

  • Why it fits: survival stats map to GameplayAttributes; damage, healing, decay, timed and permanent buffs map to GameplayEffects; boss-granted buffs become persisted permanent effects; abilities (sprint, melee combos, special items) map to GameplayAbilities. It is built network-authoritative with prediction.
  • Cost/risk: GAS has a real learning curve and boilerplate. [RISK] for a small team if unfamiliar.
  • Decision: adopt GAS. Enable the GameplayAbilities plugin and use an AbilitySystemComponent on applicable characters for attributes, effects, abilities, and persistent boss buffs.

This decision affects ../01-Gameplay/03-Combat-System.md, ../01-Gameplay/04-Survival-System.md, and ../01-Gameplay/07-Crafting-and-Progression.md.

Source control & large files — [RECOMMENDATION]

  • The project uses Git + Git LFS; the repository has an origin remote and git lfs ls-files returns tracked Unreal assets.
  • .gitattributes tracks Unreal packages, textures, audio, DCC sources, models, video, fonts and selected binary formats through LFS. Preserve and audit those patterns when a new binary format is introduced.
  • .gitignore excludes generated Binaries/, Intermediate/, DerivedDataCache/ and Saved/ paths. See the ROAD-P00-02 clean-checkout validation; local rules alone do not prove remote recoverability.

Persistence backend — [CONFIRMED]

The dedicated server and embedded Single Player authority use SQLite for durable world and player data. P07 writes one database per world through USaveSubsystem / USQLiteSaveBackend. Live session state stays in authoritative RAM and is flushed every 30 seconds of world-up time, plus critical logout/shutdown/drop flushes. UE 5.8 SQLiteCore is compiled with SQLITE_OMIT_WAL; crash-safety is committed transactions plus the engine rollback journal. Building, vehicle and craft-queue records wait for later phases. Client-side UE SaveGame stores settings only, such as graphics and keybinds. Load/failure rules and first record scope are in Network Architecture.