Skip to content

Content organization

This page is the source of truth for where content lives in Content/. The hybrid layout described here shipped in the 2026-09-05 reorganization (PR #19) and was refreshed after the 2026-09-07 art reorganization CL 114583; the tree below matches the current Perforce depot.

Do not move or delete .uasset or .umap files by hand in Explorer. Use Unreal Editor, Unreal MCP, or an editor utility so redirectors and references are fixed, then verify before submitting. (In Perforce, renames/moves should go through the editor with source-control integration so the changelist records the move.)

Principle: hybrid layout

Rephrased-owned work has two homes:

  • Content/Rephrased/Art/ is a library organized by type (characters, audio, materials, meshes, shaders, VFX, fonts, environments, props, archive-prepro). Artists reuse assets across features, so they should not have to hunt through feature folders.
  • Content/Rephrased/Gameplay/ is organized by system/feature (core, runes, puzzle devices). Engineers and designers own a system and want its Blueprints, data, and logic together.

When a folder's home is ambiguous: reusable art belongs under Art/<type>; gameplay-owned logic/Blueprints/data belong under Gameplay/<system>. Ask the lead instead of inventing a new top-level folder.

The /Game/Rephrased namespace wrapper keeps the Content root clean. Do not rename the wrapper (for example to _Rephrased) for sorting — it creates a redirector storm and partial-copy risk. Use Favorites and this page instead.

Current top-level Content/ folders

Path Use
Content/Rephrased/ Project-owned production and reference content. Shared game assets should live here.
Content/Developers/ Personal scratch folders by discipline and name. This is intentionally at the Content/ root, not inside Content/Rephrased/.
Content/Imports/ Vendor/template packs only. Treat as read-only source material unless a lead approves an edit.
Content/Collections/ Unreal collection metadata. Do not use as an authored-content home.
Content/__ExternalActors__/ and Content/__ExternalObjects__/ World Partition / One File Per Actor package roots generated by Unreal. Do not hand-edit or hand-move these.

Shipped layout (verified against depot, 2026-09-07)

Path Use
Content/Rephrased/Art/Characters/ Main character: skeletal mesh, materials, textures, retarget assets. Raw sources under _Source/ (fbx/mb/png only — no UE packages).
Content/Rephrased/Art/Characters/Animation/ Main-character animation: newAbp/ (ABP + montages + animation sequences).
Content/Rephrased/Art/Audio/ Project-owned music and sound cues that belong with the art library.
Content/Rephrased/Art/Fonts/ Font assets.
Content/Rephrased/Art/Materials/ Project-owned master materials/material instances that are not shader experiments. Includes M_RuneGlow / MI_RuneGlow_Candidate / MI_RuneGlow_Pending.
Content/Rephrased/Art/Shaders/ Material/shader exploration and decal work (moved from Resources/Shaders).
Content/Rephrased/Art/Mesh/ Static meshes grouped by area: Act1/, Overworld/, Rune/.
Content/Rephrased/Art/VFX/ · Environments/ · Props/ · BP/ · Decal/ · MaterialFunction/ · Texture/ Future type folders for VFX, environment, prop, art Blueprint, decal, material function, and texture assets.
Content/Rephrased/Art/Archive-Prepro/ Generated pre-production art kept as reference.
Content/Rephrased/Audio/Archive-Prepro/ Legacy/pre-production audio moved by the 2026-09-07 art reorganization. Keep as reference unless audio lead promotes it.
Content/Rephrased/Gameplay/Core/ Game mode, player character/controller Blueprints, checkpoint volume, camera zones under Camera/.
Content/Rephrased/Gameplay/Runes/ Nouns/ and Verbs/ (word data with noun rules), WorldRunes/ (BP_RuneWord_*), Drawing/ (DA_RuneDrawingGraph). Pre-production words stay under Prepro/.
Content/Rephrased/Gameplay/SCRAPPED/ Archived slot / carry / calculator Blueprints. Reference only. Matching C++ is in Source/Archived/LegacyRune/ (not compiled).
Content/Rephrased/Gameplay/PuzzleDevices/ Puzzle devices, one BP_Puzzle_* per noun, all children of ARunePuzzleActor; repair sequences under Sequences/, broken-piece meshes under Pieces/.
Content/2ndPlayable/ Current playable: LV_2ndPlayable (ServerDefaultMap). Build in the same folder is the GameDefaultMap.
Content/Rephrased/Levels/Overworld/ Lvl_Overworld and its HLOD layers.
Content/Rephrased/Milestones/SecondPlayable/Maps/ SP2_Persistent, its HLOD layers, and its room maps under Rooms/.
Content/Rephrased/DataLayers/ Editor data layer assets (DL_Ed_*).
Content/Rephrased/Levels/Prepro/ Historical. Last playable Prepro map edit: CL 115135. Slot/calculator classes are archived, so these maps will log missing actors.
Content/Rephrased/Levels/Archives/ Old demo and playable builds retained for reference.
Content/Rephrased/Input/ Input actions and mapping contexts.
Content/Rephrased/UI/ Widgets, HUD, menus. Drawing tablet: WBP_RuneDrawing.
Content/Rephrased/_Archives/ Prototyping-only assets (legacy LevelPrototyping, LevelPrototyping_InputLegacy).
Content/Imports/ Vendor/template packs only: Underworld, Stylish_Fire_VFX, Variant_Platforming, UnrealTemplate, Fab, Mannequins, Kenney_Keyboard_UI, Zacksly_PS5_Controls. Never edit these in place; treat as read-only reference.
Content/Developers/<Discipline>/<Name>/ Personal scratch space (disciplines: Art, Audio, Design, Engineer, Owner, QA, UIUX, Usability). Nothing here is required by production maps.

Notable removals from the pre-reorg tree (deleted or archived in PR #19): root-level Blueprint, Blueprints, Animation, character, Design, Font, Materials, Resources, LevelPrototyping, Mat-style strays, and the unused CrimsonDesert / Vefects import packs. Old paths should no longer be referenced in new work. Content/Developers/ remains a root-level scratch tree, and Content/Rephrased/Audio/Archive-Prepro/ exists only for legacy/pre-production audio.

Naming source of truth

The art bible defines the baseline asset prefixes for art-facing assets:

Type Prefix
Concept C_
Static Mesh SM_
Skeletal Mesh SK_
Master Material M_
Material Instance MI_
Material Function MF_
Blueprint BP_
Niagara System NS_
Decal DEC_

Use those prefixes for new assets. Do not bulk-rename existing art assets until the art bible is finalized and the art lead approves a cleanup pass. Engineering-owned assets can be renamed earlier if the move is done through Unreal and verification passes.

Current sandbox and playground rule

LV_2ndPlayable (Content/2ndPlayable/) is the current playable and the configured ServerDefaultMap. Config/DefaultEngine.ini sets GameDefaultMap to Build in the same folder and EditorStartupMap to Content/Developers/Design/Albert/LV_DesignMain.

Content/Rephrased/Levels/Prepro/ and Archives/ stay on disk as historical. Last playable Prepro map edit was CL 115135.

Every engineer should create their own personal playground map on day one by duplicating LV_2ndPlayable into Content/Developers/<Discipline>/<Name>/. Suggested name: LV_<Name>_Playground. Do not edit LV_2ndPlayable unless the task is the shared playable.

Moving assets safely

  1. Move through the Content Browser (drag + Move) or Unreal MCP; never Explorer moves for .uasset/.umap.
  2. Blueprint- and map-heavy folders: drag in the Content Browser, not MCP move (SCS save bug can lose loaded Blueprints).
  3. After all moves: right-click Content root → Update Redirector References → Save All.
  4. With UE closed, run the redirector commandlet and verify Saved/Logs/ has no linker/import errors.
  5. Open the project, load LV_2ndPlayable, PIE, and check MapCheck reports 0 Error(s).
  6. Verify old paths return no assets in the Content Browser before deleting leftover shells on disk.

Deletion rule

Do not delete art or downloaded packs just because they look unused. Delete only when all are true:

  • Unreal asset referencers are empty.
  • The asset is not part of the current art bible direction or a named reference pack.
  • No production/prepro map depends on it.
  • The cleanup PR lists the deletion explicitly.

Change history

  • 2026-10-02 — Gabriel Li — Folder tables match the folders on disk (Art type folders, Core, PuzzleDevices Pieces/, Overworld, SecondPlayable maps, DataLayers, Imports packs) and the default maps match Config/DefaultEngine.ini (CORE-011).
  • 2026-09-29 — Gabriel Li — Runes and PuzzleDevices rows match the current folders (CORE-009).
  • 2026-09-16 - Gabriel Li - Set 1 rune content promoted: Runes/Words, Runes/Data, PuzzleDevices, UI/WBP_RuneDrawing, Art/Materials glow instances.
  • 2026-09-16 - Gabriel Li - Slot/carry/calculator C++ moved to Source/Archived/LegacyRune/. Matching BPs under Gameplay/SCRAPPED/. Current playable is LV_2ndPlayable.

  • 2026-09-07 - Gabriel Li - Updated the page to match the live depot after Ruizema's art reorganization CL 114583: root Content/Developers/, current top-level Content/ folders, and legacy Content/Rephrased/Audio/Archive-Prepro/.

  • 2026-09-05 - Gabriel Li - Asset move/delete guidance now says verify before submit and route renames through editor source-control integration (Perforce); git is legacy.

  • 2026-09-05 - Gabriel Li - Converted plan to shipped-state source of truth after the hybrid content reorganization (PR #19): Art/Gameplay/Levels layout, PreProShowcase sandbox, Imports isolation, Developers// scratch, deleted unused import packs.

  • 2026-08-27 - Gabriel Li - Added content organization plan, first-day playground rule, import isolation policy, and art bible prefix baseline.