The Blueprint / C++ boundary

Study plan 2.2 · "common interview ground, and the daily work of a tools/tech-art hybrid" · 7 min

In one breath

C++ owns the systems (structure, performance, things many classes share). Blueprint child classes own the content (which mesh, which anim BP, which data asset, tuning values). UPROPERTY/UFUNCTION specifiers are the doors between them. WadOfGore follows this exactly: AWarriorHeroCharacter in C++, BP_HeroCharacter just fills in assets.

Functions

SpecifierBlueprint seesUse
BlueprintCallableA node with exec pinsDoes something / changes state
BlueprintPureA node with no exec pinsJust returns a value. Re-runs for every node it's plugged into, so keep it cheap
BlueprintImplementableEventAn event BP must implementC++ says "this happens", BP decides what it looks like (VFX, sound)
BlueprintNativeEventAn event BP may overrideC++ default (_Implementation), BP can replace it

Properties

See the table on the course's C++ vocabulary: EditDefaultsOnly, EditAnywhere, VisibleAnywhere, BlueprintReadOnly/ReadWrite, Category, meta = (...) (ClampMin, EditCondition, AllowPrivateAccess, Categories for tags).

What goes where

C++Blueprint
Base classes, core loops, anything per-frame over many objectsAsset assignment, tuning, one-off level scripting
Things many classes cast to (C++ casts don't drag BP assets in)Prototyping before you know the shape
Math-heavy or engine-API-heavy codeVFX/SFX hooks via implementable events

Data-driven instead of a class per variant

Tools side

Quiz yourself

BlueprintCallable vs BlueprintPure?

Callable has exec pins (it does something). Pure has none and just returns a value, but it re-evaluates for each connected consumer.

ImplementableEvent vs NativeEvent?

Implementable: no C++ body, BP provides it. Native: a C++ default in Func_Implementation that BP can override.

Why keep the hero's logic in C++ and only assets in BP_HeroCharacter?

Performance and structure in C++; designers can swap assets and tune without code; and casting to the C++ class doesn't hard-reference the BP's assets.

Data asset vs data table: when each?

Data asset: one structured configuration object (an input config, a character's start-up data). Data table: many rows of the same struct (a list of weapons).

What UE4 feature must you not cite as a BP performance fix?

Blueprint nativisation. It was removed in UE5.