CrimsonCombatText · Lesson 1 of 8
Display-Only, By Design
Before you start
- The CrimsonCommon — Setup & Foundations course
- Unreal Engine 5.8+
Chapters
The flow
The server builds a FCrimsonCombatTextEvent (value, tags, target) and calls Broadcast Combat Text on a replication component that lives on the Game State. On each client, the CrimsonCombatTextSubsystem applies the local player's display filters, resolves a visual style from a tag-driven registry, and recycles a pooled widget above the target.
Why unreliable
Pops are cosmetic, so everything rides unreliable RPCs — a dropped packet means one missing number, never desync. The subsystem isn't created on dedicated servers at all: gameplay never depends on a pop, and nothing should ever read one back as state.
Ships ready to run
The plugin includes demo content — a registry, a motion set, a pop widget, and a distance curve — and its shipped
DefaultCrimsonCombatText.ini already points Project Settings at them. Numbers pop as soon as the Game State component is wired. This course authors your own assets so they look like your game.What we'll build
- Enable the plugin
- Author a motion set and a style registry
- Author a combat text widget and point settings at all three
- Add the replication component and broadcast
- Tune filters, placement, and scaling — then test with the dev tools