A third-person prototype demonstrating Unreal Engine C++ gameplay systems architecture — ability slots, projectile abilities, interface-based damage, and an event-driven HUD.
Note: This is a lightweight custom ability system (not Unreal’s Gameplay Ability System / GAS).
- Ability system —
UAbility(UObject) instanced per slot viaUAbilityComponent(UActorComponent), per-slot independent cooldowns, Blueprint-tunable via subclassing - Interface-based damage —
IDamageableUINTERFACE decouples projectile from enemy class; any actor implementing the interface can receive damage - Event-driven HUD —
FOnSlotChangedDynamic Multicast Delegate drives slot updates; dynamic widget creation with no hard-coded slot count
- Systems highlight video: https://youtu.be/yPW6ly3kf84
- Tech breakdown: (TECHNICAL.md)
- Download (Windows): GitHub Releases
- Itch.io: https://fouzis.itch.io/unreal-ability-system-prototype-cpp
| Key | Action |
|---|---|
1 |
Trigger slot 0 — Single Projectile |
2 |
Trigger slot 1 — Burst (3 projectiles) |
3 / 4 |
Unequipped slots (no ability assigned) |
WASD |
Move |
Mouse |
Look |
Escape |
Quit |
Abilities are UObject subclasses instanced per slot by UAbilityComponent (UActorComponent). Each slot holds its own ability instance with independent cooldown state. The component broadcasts an FOnSlotChanged delegate on equip and trigger — the HUD binds to it without the component knowing the HUD exists.
Projectile abilities spawn AAbilityProjectile actors which apply damage through the IDamageable interface — the projectile has no dependency on any specific enemy class.
See (TECHNICAL.md) for full implementation details and design decisions.
- No multiplayer / replication
- No object pooling for projectiles
- Keyboard and mouse only (no controller support)
- Not broadly hardware tested
- Implement object pooling for projectiles
- Add a C++ base for common projectile variants (homing, bouncing) to further demonstrate the extensibility of
AAbilityProjectile
- Unreal Engine 5.7
- C++ + Blueprints
- Enhanced Input
- Niagara VFX
- Git + GitHub
- Platform: Windows
- Download: GitHub Releases
- Character: Paragon: Serath — Epic Games
- VFX: Mixed Magic Spell VFX Pack — ugurVFX
- Enemy: Stone Golem — buxoided
Assets used under Fab Standard License
