Floating Numbers
Damage/heal numbers that pop up and float away from the point of impact.
Examples
Captured from this page's own interactive demo below.
Overview
Floating numbers spawn a short-lived text label (usually a damage or heal amount) at the point of a hit, which rises, often scales in briefly, and fades out over a fraction of a second.
It works because it gives precise, readable information (exactly how much damage happened) without requiring the player to look away to a health bar — the information appears exactly where the action happened.
Beyond information, the motion and styling carry emotion: a big, bright, bouncy number for a critical hit feels like a reward; a small, muted number for a graze feels appropriately minor.
Interactive Demo
Use Cases
Best Practices
Do
- ✓Vary size/color by magnitude or type (critical, heal, normal) so the numbers carry information at a glance.
- ✓Offset spawn position slightly per instance so simultaneous hits don't stack into an unreadable pile.
- ✓Keep the total lifetime short (under a second) so they don't clutter a busy combat screen.
Don't
- ✕Don't route every single number through the exact same straight-up path — a little per-instance randomness reads as more organic.
- ✕Don't make them so large or long-lived that they obscure the action that's still happening underneath.
- ✕Don't rely on floating numbers as the only feedback for a hit — pair with a flick or knockback for the hit itself.
Common Mistakes
- ⚠Pooling/instantiating a full UI prefab per number without pooling, causing GC spikes during heavy combat.
- ⚠Rendering numbers in screen space without accounting for camera movement, so they drift oddly relative to the world.
- ⚠Using a font/weight too thin to read against busy backgrounds.
Implementation
Paste this into your AI assistant (Cursor, Copilot, Claude) to add the effect to your project.
Add the "Floating Numbers" game-feel effect to my project: Damage/heal numbers that pop up and float away from the point of impact.
How it works: Floating numbers spawn a short-lived text label (usually a damage or heal amount) at the point of a hit, which rises, often scales in briefly, and fades out over a fraction of a second.
Guidelines:
- Vary size/color by magnitude or type (critical, heal, normal) so the numbers carry information at a glance.
- Offset spawn position slightly per instance so simultaneous hits don't stack into an unreadable pile.
- Keep the total lifetime short (under a second) so they don't clutter a busy combat screen.
Avoid:
- Don't route every single number through the exact same straight-up path — a little per-instance randomness reads as more organic.
- Don't make them so large or long-lived that they obscure the action that's still happening underneath.
- Don't rely on floating numbers as the only feedback for a hit — pair with a flick or knockback for the hit itself.
Implement the effect in whatever engine/stack the project already uses and follow its existing code style. Wire it up where it makes sense.References
- Game Feel — Steve Swink (book)
Comments
…