ue5-architecture · git:20260302.11fee6c · 2026-03-02 · sha256 107c25df9b7b3786
ue5-architecture git:20260302.11fee6cA
Immutable. This exact content is served forever at /api/v1/blob/107c25df9b7b3786.
--- name: ue5-architecture description: UE5.6/UE5.7 architecture planning and module boundary design for Unreal projects. Use when requests involve module layout, Build.cs dependencies, reflection exposure strategy, Public/Private API boundaries, naming conventions, and preventing circular dependencies. --- # Quick Start - Collect current module list, `*.Build.cs`, and major gameplay/UI systems. - Propose one target module graph before writing code. - Output module responsibilities and ownership in a table. # Workflow - Identify runtime, editor, UI, networking, and data modules from current codebase. - Define Public API for each module as minimal headers and Blueprint surface. - Define Private implementation boundaries and include rules. - Define `PublicDependencyModuleNames` and `PrivateDependencyModuleNames` per module. - Report risks: circular includes, over-exposed reflection types, and cross-layer references. # Constraints - Keep `UCLASS/USTRUCT/UENUM` only where reflection is required. - Prefer forward declarations in headers; include concrete headers in `.cpp`. - Do not move types across modules without listing migration impact. - Keep naming aligned with Unreal conventions (`U`, `A`, `F`, `E` prefixes). # Failure Handling - If ownership of a class is ambiguous, place it in runtime module first and log a TODO to split after usage mapping. - If dependency graph becomes cyclic, extract shared contracts into a thin common module. - If Build.cs dependencies are uncertain, choose minimal set and verify compile paths immediately. # Escalation - Escalate when a refactor requires asset redirectors, class renames, or package path migration. - Escalate when module split changes public Blueprint class paths used by existing content.