Skip to content

Project layout

What lives where, and which parts are tracked in Git vs generated by the engine.

Top-level folders

Folder Tracked Purpose
Source/ yes C++ code. The only folder where engineers write code by default.
Content/ yes Blueprints, data assets, levels, materials, particles, audio, fonts. Authored in the editor.
Config/ yes .ini settings: input bindings, collision channels, default game settings, editor preferences.
Rephrased Wiki/ yes This wiki, the TDD, the dev log.
tools/rephrased-mcp/ yes Team MCP toolkit (tasks, wiki, review). Agents call it; engineers do not need the tool names.
Plugins/ sometimes Project-local plugins. Unreal MCP ships with the engine, not this folder.
Binaries/ no Compiled DLLs. Built locally; ignored.
Intermediate/ no Build artifacts, generated .gen.cpp files for the reflection system. Safe to delete; will be rebuilt.
Saved/ no Logs, autosaves, shader cache, screenshots. Per-machine.
DerivedDataCache/ no Cooked asset cache. Per-machine.

If something is in Intermediate/, Saved/, Binaries/, or DerivedDataCache/, do not check it in.

C++ module

The project ships one runtime module: Rephrased.

Source/Rephrased/Rephrased.Build.cs declares its dependencies:

  • Public: Core, CoreUObject, Engine, InputCore, UMG, Niagara, EnhancedInput
  • Private: Slate, SlateCore

If you need a new engine module (e.g. AIModule for navigation), add it to PublicDependencyModuleNames and rebuild.

The two .Target.cs files (Rephrased.Target.cs, RephrasedEditor.Target.cs) define the game and editor build targets. Don't touch them unless you know why.

Source/Rephrased subfolders

Source/Rephrased/
  *.h *.cpp                      most gameplay actors and subsystems live flat at this level
  RuneSystem/
    Components/                  URuneEffectComponent and concrete verb subclasses
    Strategies/                  EffectStrategy, ComponentVerbStrategy, NounTransformStrategy
    Subsystems/                  RuneEventBus, RuneableObjectRegistry, RuneEffectHistory, RuneRedefinitionManager
    Core/                        shared enums and structs (RuneSystemEnums.h, RuneSystemStructs.h)

Files at the top level are project-wide actors (RephraseCharacter, MemoryPalace, AudioManager, etc.). Anything under RuneSystem/ is part of the rune subsystem and is grouped by responsibility.

Content folder conventions

Current cleanup direction: see Content organization. Rephrased-owned content should move toward one project namespace under Content/Rephrased/, organized by feature and ownership rather than by department. Imports and marketplace/downloaded packs stay isolated under Content/Imports/.

Working rule:

  • Content/Rephrased/Core/ — shared game modes, player controllers, input, base Blueprint classes, and shared UI.
  • Content/Rephrased/Gameplay/Runes/ — rune data, rune actors, calculators, slots, effect components, and merge recipes.
  • Content/Rephrased/Maps/ — current production/team maps.
  • Content/Rephrased/Prepro/ — pre-production reference maps, including PreProRuneShowcase, PreProductionPresentation, PreProPresentation_End, and Lvl_Sample_Migrate.
  • Content/Rephrased/Archive/ — old demos and retained references.
  • Content/Imports/ — external packs such as CrimsonDesert, Fab downloads, Stylish Fire VFX, Vefects, and other raw downloaded content.
  • Content/Developers/<Name>/ — personal playground maps and scratch experiments.

Move .uasset and .umap files through Unreal Editor or Unreal MCP, then fix redirectors and verify references. Do not move content folders in Explorer.

.uproject

Rephrased.uproject declares the engine version (5.8), enabled plugins, and module list. Plugins currently enabled:

  • ModelingToolsEditorMode — editor only, used for blockout
  • GameplayStateTree — reserved for future NPC scripting; not used yet
  • Aura — disabled
  • ModelContextProtocol + EditorToolset + AllToolsets — suggested Unreal MCP in the 5.8 editor (see Unreal MCP)

If you enable a new plugin via the editor, the change lands in the .uproject — review the diff before committing.

Where new code goes

  • New verb effect component → Source/Rephrased/RuneSystem/Components/
  • New puzzle device subclassing ARuneableObjectSource/Rephrased/
  • New subsystem → Source/Rephrased/RuneSystem/Subsystems/ (if rune-related) or top-level
  • New strategy → Source/Rephrased/RuneSystem/Strategies/

If your file doesn't fit anywhere, ask before introducing a new folder.

Change history

  • 2026-08-27 - Gabriel Li - Added content organization plan link and current Rephrased/Imports/Developers folder policy.

  • 2026-08-14 — Gabriel Li — Unreal MCP plugins listed as suggested.

  • 2026-08-13 — Gabriel Li — Listed tools/rephrased-mcp and Unreal MCP plugins; engine pin remains 5.8.
  • 2026-08-12 — Gabriel Li — .uproject engine pin is 5.8.
  • 2026-05-23 — Gabriel Li — Moved under Rephrased project track; source control wording updated to GitHub (not Perforce).