UMageItCombatTextSettings
Base Class: UDeveloperSettings
Overview
Section titled “Overview”UMageItCombatTextSettings is a developer-facing configuration class. Because it uses the config=Game, defaultconfig class specifiers, it automatically integrates into the Unreal Engine Project Settings window
under the Plugins category, displayed as Combat Text.
This class holds the RendererRegistry that UMageItCombatTextSubsystem::GetRenderer reads to
resolve which renderer class should handle a given FGameplayTag. Any changes made to this map in the Editor are
automatically saved to your project’s DefaultGame.ini configuration file.
How to Access in the Editor
Section titled “How to Access in the Editor”To configure these values in the Unreal Editor, navigate to: Edit > Project Settings > Plugins > Combat Text (see the Configuring Renderers Guide).
Configuration Properties
Section titled “Configuration Properties”RendererRegistry(Map<GameplayTag, FMageItCombatTextRendererEntry>,EditAnywhere,config) Maps aFGameplayTagto the entry describing which renderer class should handle damage events tagged with it (or any of its child tags, when no more specific entry exists).
FMageItCombatTextRendererEntry
Section titled “FMageItCombatTextRendererEntry”Each value in RendererRegistry is one of these, not a bare class reference — it pairs the renderer class with an
opt-in eager-initialization flag:
RendererClass(TSoftClassPtr<UMageItCombatTextRendererBase>,EditAnywhere,config): Soft class reference to the renderer. Being a soft reference, unused renderer classes are never loaded into memory.bInitializeAtBeginPlay(Boolean,EditAnywhere,config): Iftrue, this renderer is created andInitialize()’d as soon asUMageItCombatTextSubsystem::Initializeruns, instead of lazily on its first damage event. Enable this for renderers with an expensive first-use cost — most notably the Niagara renderer, whose master system can hitch on first spawn while warming up. Defaults tofalse.
C++ API: Reading Settings at Runtime
Section titled “C++ API: Reading Settings at Runtime”If you need to access the registry in your own C++ classes, you can read it using the Class Default Object (CDO):
#include "MageItCombatTextSettings.h"
// Retrieve the default settings objectconst UMageItCombatTextSettings* DefaultSettings = GetDefault<UMageItCombatTextSettings>();
if (DefaultSettings){ if (const FMageItCombatTextRendererEntry* Entry = DefaultSettings->RendererRegistry.Find(FGameplayTag::RequestGameplayTag(FName("Damage")))) { const TSoftClassPtr<UMageItCombatTextRendererBase>& RendererClass = Entry->RendererClass; // Use the soft class reference... }}