Skip to content

Blueprints in Rephrased

Where C++ ends and Blueprint content begins on this team. The rune system is built around C++ foundations that designers extend in Blueprint.

If Blueprint reflection and BlueprintNativeEvent are new to you, read Blueprints overview first.

The split in this codebase

Where Blueprint or C++ Why
Game-loop logic (validator, executor, priority manager, registry) C++ Performance, deterministic behavior, debuggable in a real debugger.
Verb effect components (URuneEffectComponent subclasses) C++ today; will be Blueprint-authorable soon Per-tick behavior in C++ for now. The Blueprint authoring layer (in progress) lets new verbs ship as BP subclasses.
Rune actors, slots, calculators C++ base + Blueprint subclass C++ owns wiring, BP owns visuals (mesh, materials, particles).
Memory palace, character C++ base + Blueprint subclass Same.
Data assets (URuneDataAsset, UMergeRecipeDataAsset) C++ class; instances created in editor Data assets are not Blueprints; they are instances of a C++ class.
Widgets (URuneDefinitionWidget) C++ base + Blueprint subclass C++ binds the controls; BP designs the layout.
Levels Blueprint / level scripting Designer-owned.

What Blueprints should not do here

  • Replace URuneEffectComponent subclasses today (the Blueprint authoring layer is in progress). Until that ships, new verbs are C++.

Inheritance in practice

URuneEffectComponent (C++ abstract base)
 └─ UFireComponent (C++ concrete; ticks, particles, spread logic)
     └─ BP_FireComponent (Blueprint subclass; assigns the Niagara system, tunes intensity)

The C++ class is reusable behavior. The Blueprint subclass is a content-side configuration plus optional event overrides. Designers reach for the BP, not the C++ class directly.

Source files

  • Source/Rephrased/RuneSystem/Components/RuneEffectComponent.h — base with BlueprintNativeEvent hooks.
  • Source/Rephrased/InteractableInterface.h — interface usable in C++ and Blueprint.
  • Source/Rephrased/RuneSlot.hBlueprintAssignable delegate (OnSlotChanged).

Change history

  • 2026-05-23 — Gabriel Li — Split Rephrased-specific Blueprint rules from generic overview.
  • 2026-05-08 — Gabriel Li — Added baseline change history section for weekly wiki maintenance.