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, includingPreProRuneShowcase,PreProductionPresentation,PreProPresentation_End, andLvl_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 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/RuneSystem/Components/ - New puzzle device subclassing
ARuneableObject→Source/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-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).