Technical Design

Tech Stack & Engine

Engine & project facts (verified from Lambeer.uproject)

Status: draftOwner: UnassignedUpdated: 2026-08-27
Verified project difference: the GDD text names Unreal Engine 5.7, while Lambeer.uproject currently declares EngineAssociation: 5.8. Treat 5.8 as the verified current project version and reconcile the source GDD.

Production context

Canonical sourceGDD/05-Technical/01-Tech-Stack-and-Engine.md
Decision markers5 confirmed · 6 recommendations · 2 TBD
Browser document roleRead-only production view; edit the GDD source or this generated system 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 imported GDD below is canonical; 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

Canonical GDD content

Engine & project facts (verified from Lambeer.uproject)

  • Engine: Unreal Engine 5.7.
  • Primary module: Lambeer (Runtime), depends on Engine, AIModule, UMG.
  • Enabled plugins: ModelingToolsEditorMode (editor), StateTree, GameplayStateTree, MetaHuman, MetaHumanCoreTech, MetaHumanCharacter.
  • 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) — [RECOMMENDATION], decision [TBD]

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 needed: adopt GAS, or build a custom lightweight attribute/effect system. Do not assume — confirm with the owner. If GAS is adopted, enable GameplayAbilities plugin and plan an AbilitySystemComponent on characters.

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]

  • Use Git + Git LFS (or Perforce for larger teams) — UE projects have large binary assets.
  • Track binary asset types via LFS; never commit Binaries/, Intermediate/, DerivedDataCache/, Saved/.
  • The project is currently not a git repo — initialize one with a proper UE .gitignore and .gitattributes. See 05-Project-Setup-Steps.md.

Persistence backend — [TBD]

See ../04-Multiplayer/01-Network-Architecture.md. A pluggable save abstraction is recommended; the concrete technology is undecided.