CrimsonCombatText · Lesson 6 of 8
Per-Player Filters
Before you start
- Completed: Replicate & Broadcast
Chapters
1. Add the settings component
Add `CrimsonCombatTextPlayerSettings` to your Player Controller. The subsystem finds it on the local controller automatically; it never replicates, so every player filters their own screen. It's entirely optional — without it, every event displays.
2. The toggles
bShowMyDamageDealt, bShowAllyDamageDealt, bShowEnemyDamageDealt (off by default), bShowIncomingDamage (overrides the instigator filters — you always see what hits you), bShowHeals, bShowCritsOnly — plus HealTags/CritTags to classify, Max Display Distance (default 3000 cm; local-pawn targets are exempt; 0 = unlimited), Widget Scale (0.5–2.0), and a per-player Number Format Override. Everything is BlueprintReadWrite, so an options menu can drive it live.
3. Teaching it your teams
Ally/enemy filters need to know who's friendly. Subclass the settings component and override the friendliness event in Blueprint, or bind the C++ delegate — the Blueprint override wins when both exist. The dev tools' Filters tab tells you which hook is active.