12 lines
1.0 KiB
Markdown
12 lines
1.0 KiB
Markdown
|
|
---
|
||
|
|
name: C++ never depends on Blueprint, only the reverse
|
||
|
|
description: Never propose C++ code that loads/references Blueprint assets; dependency direction is strictly BP → C++
|
||
|
|
type: feedback
|
||
|
|
originSessionId: a2780d4f-894b-402a-8101-324052832606
|
||
|
|
---
|
||
|
|
C++ code in this project must never depend on Blueprint assets. Dependencies flow one way only: Blueprints may depend on C++, never the reverse.
|
||
|
|
|
||
|
|
**Why:** The user has stated this as a firm architectural principle. C++ that references BP assets (by soft class path, string, or otherwise) inverts the normal layering and creates fragile coupling to content.
|
||
|
|
|
||
|
|
**How to apply:** When suggesting UMG patterns, do not propose solutions that involve C++ doing `CreateWidget` on a WBP class, loading a WBP via `FSoftClassPath`, or otherwise reaching from C++ into `/Game/...` content. For UMG work initiated from C++, construct widget trees programmatically in C++ (override `RebuildWidget`, manipulate `WidgetTree` directly). Blueprint subclasses of C++ widget classes are fine — that's BP depending on C++.
|