CrimsonNumberPop · Lesson 6 of 8
Per-Player Filters
Before you start
- Completed: Replicate & Broadcast
Chapters
1. Add the settings component
Add `CrimsonNumberPopPlayerSettings` to your Player Controller. It's local-only and never replicates — every player filters their own screen.
2. The toggles
bShowMyDamageDealt, bShowAllyDamageDealt, bShowEnemyDamageDealt, bShowIncomingDamage (overrides the instigator filters), bShowHeals, bShowCritsOnly — plus HealTags/CritTags to classify, Max Display Distance (default 3000 cm; your own pawn is exempt; 0 = unlimited), Widget Scale (0.5–2.0), and a per-player Number Format Override.
3. Teaching it your teams
Ally/enemy filters need to know who's friendly. Subclass the settings component and override `IsInstigatorFriendly` (a BlueprintNativeEvent taking the local pawn and the instigator); C++ can instead bind the IsActorFriendly delegate — the Blueprint override wins when both exist.