Production Pipeline

Project Setup Steps

A checklist to take the project from its current template state to the Lambeer foundation. Do these before/at the start of Phase 1. Treat destructive steps (deletions) carefully and commit to source control first.

Status: draftOwner: UnassignedUpdated: 2026-08-27

Production context

Canonical sourceGDD/05-Technical/05-Project-Setup-Steps.md
Decision markers1 confirmed · 2 recommendations · 2 TBD
Browser document roleRead-only production view; edit the GDD source or this generated system through the project workflow.

Verified implementation evidence

  • Not verified for this documentation pass.

Relationships

Document contract coverage

Use these required Production Pipeline areas during review. The imported GDD below is canonical; items not stated explicitly remain unresolved.

  • ReviewScope & Roles
  • ReviewWorkflow
  • ReviewStage Entry / Exit Criteria
  • ReviewReview & Revision
  • ReviewFile Handoff
  • ReviewSource Control
  • ReviewNaming & Paths
  • ReviewDefinition of Done
  • ReviewExternal / Freelancer Handoff

Canonical GDD content

A checklist to take the project from its current template state to the Lambeer foundation. Do these before/at the start of Phase 1. Treat destructive steps (deletions) carefully and commit to source control first.

0. Source control first — [RECOMMENDATION]

The project is currently not a git repo. Before deleting anything: 1. Initialize git + Git LFS (or Perforce). 2. Add a proper UE .gitignore (ignore Binaries/, Intermediate/, DerivedDataCache/, Saved/, .vs/) and .gitattributes (LFS for *.uasset, *.umap, textures, audio, etc.). 3. Commit the clean template state as a baseline so removals are reversible.

1. Remove template variant code & content — [CONFIRMED]

Delete all three example variants (they are Epic demos, not our game):

Source: - Source/Lambeer/Variant_Combat/ - Source/Lambeer/Variant_Platforming/ - Source/Lambeer/Variant_SideScrolling/

Content: - Content/Variant_Combat/ - Content/Variant_Platforming/ - Content/Variant_SideScrolling/

Then: - Remove references to the deleted classes from Lambeer.Build.cs and any includes. - Regenerate project files and rebuild. - Verify the editor opens and LambeerGameMode/LambeerCharacter/LambeerPlayerController still compile.

[RISK] deleting content can leave dangling references in maps/blueprints. Use the editor's reference viewer / "delete with references" flow, fix up redirectors, and resave dirty packages.

2. Decide & clean remaining template content

  • Content/ThirdPerson/, Content/LevelPrototyping/, Content/Characters/, Content/Input/, Content/Collections/ are template content. Decide per folder: reuse (relocate under Content/Lambeer/) or remove. [TBD] per folder — keep only what serves Lambeer.
  • Establish Content/Lambeer/ root and the structure in 03-Content-Folder-Structure.md.

3. Add the dedicated server target — [RECOMMENDATION]

  • Add Source/LambeerServer.Target.cs for the dedicated server (Linux primary, Win64 for local dev).
  • Confirm a server build compiles (UnrealEditor/UAT server build), since the whole game is server-authoritative. See ../04-Multiplayer/01-Network-Architecture.md.

4. Enable / confirm plugins

Already enabled: StateTree, GameplayStateTree, MetaHuman, MetaHumanCoreTech, MetaHumanCharacter, ModelingToolsEditorMode.

Enable as features land (don't pre-enable unused): - Enhanced Input (player input) — confirm on. - GameplayAbilities — only if GAS is adopted (01-Tech-Stack-and-Engine.md, [TBD]). - ChaosVehicles — Phase 2 (vehicles). - World Partition is engine-level (no plugin) — author the main map as a WP level.

5. Configure the project

  • Set up Config/DefaultEngine.ini etc. for: World Partition defaults, Nanite/Lumen settings, networking (max players, net update rates), and a server config approach (see ../04-Multiplayer/02-Servers-and-Hosting.md).
  • Set default GameMode/maps for the project (main menu map + dev sandbox map).

6. Establish foundation classes (Phase 1 scaffolding)

In code (C++), per 04-Source-Code-Structure.md: - Evolve ALambeerCharacter into the component-driven survivor (add survival/inventory/combat/build/interaction components as they're built). - Set up Core/ framework classes (GameState, PlayerState, GameInstance, persistence subsystem stub). - Create BP children for content assignment (BP_PlayerCharacter, etc.).

7. MetaHuman pipeline check

8. Validate

  • Editor opens clean, no missing-reference spam.
  • Client + dedicated server build compile.
  • A two-client + dedicated-server PIE/test session connects and replicates basic movement.

Keep this list updated as the foundation solidifies; it is the bridge from "template" to "Lambeer".