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_Demo.
Source/Rephrased_Demo/Rephrased_Demo.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_Demo.Target.cs, Rephrased_DemoEditor.Target.cs) define the game and editor build targets. Don't touch them unless you know why.
Source/Rephrased_Demo subfolders¶
Source/Rephrased_Demo/
*.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¶
Content/Blueprints/— Blueprint subclasses of C++ base classes (BP_Rune, BP_RuneSlot, etc.)Content/Runes/—URuneDataAssetinstances (one asset per rune word: TREE, FLOAT, IS, etc.)Content/Input/—IA_*input actions andIMC_*input mapping contextsContent/Levels/—.umapfilesContent/VFX/— Niagara systems and emitters
Specific paths can be checked in the editor's Content Browser; this list is the rough shape.
.uproject¶
Rephrased_Demo.uproject declares the engine version (5.8), enabled plugins, and module list. Plugins currently enabled:
ModelingToolsEditorMode— editor only, used for blockoutGameplayStateTree— reserved for future NPC scripting; not used yetAura— disabledModelContextProtocol+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_Demo/RuneSystem/Components/ - New puzzle device subclassing
ARuneableObject→Source/Rephrased_Demo/ - New subsystem →
Source/Rephrased_Demo/RuneSystem/Subsystems/(if rune-related) or top-level - New strategy →
Source/Rephrased_Demo/RuneSystem/Strategies/
If your file doesn't fit anywhere, ask before introducing a new folder.
Change history¶
- 2026-08-14 — Gabriel Li — Unreal MCP plugins listed as suggested.
- 2026-08-13 — Gabriel Li — Listed
tools/rephrased-mcpand Unreal MCP plugins; engine pin remains 5.8. - 2026-08-12 — Gabriel Li —
.uprojectengine pin is 5.8. - 2026-05-23 — Gabriel Li — Moved under Rephrased project track; source control wording updated to GitHub (not Perforce).