UMageItCombatTextRendererBase
Base Class: UObject
Overview
Section titled “Overview”UMageItCombatTextRendererBase is the abstract contract every renderer backend implements. It is Abstract,
Blueprintable, and EditInlineNew, so you can write an entirely new rendering backend as a Blueprint or C++
subclass and register it in UMageItCombatTextSettings::RendererRegistry just like the three
built-in renderers (UMG, Niagara, Slate).
An instance is created lazily by UMageItCombatTextSubsystem::GetRenderer the first time a
FGameplayTag resolves to its class, and lives for the lifetime of the local player.
Properties (Variables)
Section titled “Properties (Variables)”CombatTextSubsystem(ULocalPlayerSubsystem*,BlueprintReadOnly): The owning subsystem, cached duringInitialize.PlayerController(APlayerController*,BlueprintReadOnly): The local player’s controller, resolved fromCombatTextSubsystem’sULocalPlayerduringInitialize.
Lifecycle (Blueprint Native Events)
Section titled “Lifecycle (Blueprint Native Events)”Initialize
Section titled “Initialize”void Initialize(ULocalPlayerSubsystem* OwningSubsystem);Called once, the first time the subsystem lazily creates this renderer. The base implementation caches
CombatTextSubsystem and resolves PlayerController. Always call the parent implementation first when overriding.
RenderDamage
Section titled “RenderDamage”void RenderDamage(const FMageItCombatTextEvent& EventData);Called for every event routed to this renderer by AddDamageEvent. The base implementation is a
no-op — concrete renderers override this to actually spawn or update visuals.
Shutdown
Section titled “Shutdown”void Shutdown();Called when the owning subsystem is deinitialized (see UMageItCombatTextSubsystem::Deinitialize).
The base implementation is a no-op — concrete renderers override this to release widgets, Niagara components, or
Slate content.
GetWorld Override
Section titled “GetWorld Override”virtual UWorld* GetWorld() const override;Since renderer instances are plain UObjects (not Actors or Components), GetWorld() is overridden to resolve the
world through the renderer’s Outer (the owning subsystem). Returns nullptr for the class default object.