Files
gig-line/Docs/setup.md
T
zwitschi eceaff1397 chore: scaffold repository and record 0.1.0 setup state
Create Game/, Art/, Geo/, Tools/, Docs/ with LFS and ignore rules, record the
workstation audit, toolchain pins, setup checklist, release checks, and
licensing policy. ROADMAP 0.1.0 environment tasks marked to match verified state.
2026-11-06 21:20:57 +01:00

4.4 KiB
Raw Blame History

Setup

Ordered procedure for bringing the workstation and the project to a buildable state. Status markers follow ROADMAP.md:

  • [x] done and verified
  • [-] started, not finished
  • [ ] not started

Anything marked human step needs credentials, licence acceptance, or a decision that cannot be automated. Never store Epic credentials, tokens, or licence keys in the repository.

1. System

  • [-] Update Bazzite with its supported mechanism. ujust update (or rpm-ostree upgrade), then reboot. Deployment 45.20261105 is already staged and needs a reboot to boot.
  • [ ] Verify the NVIDIA driver and Vulkan from the desktop session. nvidia-smi must name the RTX 5070 Ti and driver 615.78.08; vulkaninfo --summary must list a discrete NVIDIA GPU. These checks cannot be run from an agent shell — see environment.md.
  • [ ] Install git-lfs, cmake, ninja-build, clang as an ostree layer, reboot, then git lfs install.

2. Engine acquisition

  • [ ] Human step. Create an Epic account, accept the Unreal license, and join the Epic Games GitHub organisation if the source route is used. Record the account email and the date of acceptance here; record no credentials.
  • [ ] Human step. Acquire one pinned engine build. Two routes:
    • Launcher build: install the Linux Epic Games Launcher, download the pinned engine version, install to the DATA volume, and disable auto-update so the pin holds.
    • Source build: clone the pinned release branch from the Epic Games GitHub organisation, then ./Setup.sh, ./GenerateProjectFiles.sh, make -j16. Budget 120–200 GB and a multi-hour first build on 16 threads.
  • [ ] Record the exact engine version and build route in toolchain.md.
  • [ ] Validate that the engine editor opens and a blank project runs on Bazzite. Unreal does not support this distribution; record any workarounds.

3. Tooling pins

  • [x] Blender 5.2 LTS (Flatpak) and MPFB 2.0.18 recorded.
  • [ ] Install QGIS (flatpak install flathub org.qgis.qgis) and record its version.
  • [ ] Install Blosm in Blender, record its version, and confirm it loads on Blender 5.2. Fall back to a side-by-side Blender 4.5 LTS only for the blockout step if it does not.
  • [ ] Confirm the geo tool Python environment (venv with pyproj, GDAL, shapely from the QGIS or distrobox environment) and record it.

4. Project bootstrap

  • [ ] Create the C++ Unreal project at Game/GigLine/GigLine.uproject with Enhanced Input enabled and Blueprint gameplay enabled. Commit Config/, Source/, and GigLine.uproject; leave Binaries/, Intermediate/, Saved/, and the DDC out of the repository — .gitignore already covers them.
  • [ ] Point the local Derived Data Cache at the DATA volume. Confirm the setting name and section against the pinned engine's documentation rather than copying a config snippet from another version.
  • [ ] Enable Git LFS integration in the editor before importing content, so large assets are routed to LFS on import rather than on a later re-add.
  • [ ] Package and launch a blank Linux build from the command line, so the packaging path is proven before any content exists.
  • [ ] Export one static mesh from Blender with a known metric size and import it into Unreal. Verify the 100× scale conversion (1 m → 100 uu), the pivot, normals, and material assignment.
  • [ ] Export one MPFB character with baked materials and a deform skeleton and verify it imports with the expected skeleton hierarchy and scale.
  • [ ] Commit the baseline and write the fresh-checkout build procedure into build.md.

5. Repository

git clone <remote> gig-line
cd gig-line
git lfs install          # requires git-lfs; otherwise every LFS-tracked add fails
git lfs pull

Sizes: the engine lives outside the repository (pinned install path recorded in toolchain.md). The repository holds the Unreal project, Blender sources, geo sources, and tooling.

Known blockers

Blocker Owner Needed for
Reboot into the staged 45.20261105 deployment human Everything; the current deployment is older than the staged one
Epic account, license acceptance, engine download human All Unreal work
git-lfs package install (needs admin) human Any content commit
nvidia-smi / Vulkan confirmation in a normal terminal human Engine validation