Epic Boss System

Complete boss battle framework for Unreal Engine 5.6 — 5.7
Create multi-phase boss fights with 11 combat systems in minutes.

v3.0.0 UE 5.6 / 5.7 C++ + Blueprint 8000+ Lines Win64

Features

⚔️

Multi-Phase Combat

1–3 phases with independent HP, per-phase attack config, cutscene transitions, and healing/invulnerability windows.

🎯

5 Attack Types

Ranged projectiles, melee with knockback, explosive barrels, AOE ground attacks, and dash/charge — plus Mixed and Custom modes.

🛡️

Shield & Vulnerability

Health/Phase/Timed shields with regeneration, invulnerable boss with stagger-to-break system, damage multiplier windows.

⏱️

Enrage Timer

MMO-style berserk timer with gradual damage/speed scaling, configurable instant-kill wipe mechanic.

🎬

Boss Intro Sequence

4 styles (NamePlate, CameraFocus, FullCutscene), name+title display, disable player input, invulnerability during intro.

🔄

Attack Patterns

Sequence-based combos (3x ranged → dash → melee), weighted random selection, distance/cooldown requirements.

💎

Loot Table

Weighted drops with rarity system, guaranteed items, phase-specific loot, physics scatter on spawn.

👥

Aggro / Threat

Multiplayer tank/DPS mechanics: threat decay, damage-to-threat conversion, taunt ability, auto-target switching with hysteresis.

🏟️

Arena System

Configurable boundaries (Box/Sphere/Cylinder), push-back force, boundary damage, auto close/open on fight start/defeat.

📊

Boss HUD Widget

Full C++ UUserWidget: health bar, shield bar, phase indicators, enrage timer, vulnerability indicator, smooth interpolation, 11 BP customization events.

👹

Minion Spawning

Per-phase minion config, initial + continuous spawning, max alive limit, custom spawn points, kill-on-phase-end option.

🔗

External Health

Integrate with YOUR health system — report health changes from GAS, damage components, or any custom system.

Installation

  1. Copy EpicBossSystem folder to YourProject/Plugins/
  2. Restart Unreal Editor
  3. Go to Edit → Plugins
  4. Search "Epic Boss" and enable it
  5. Restart editor when prompted
Dependencies: Niagara (built-in), LevelSequence (built-in). Both are auto-enabled.

🎮 Beginner's Guide — Your First Boss Fight in 5 Minutes

Don't panic! This plugin has 200+ settings, but you only need to touch 5 things to get a working boss fight. Everything else has smart defaults. Start simple, add complexity later.

Step 1 — Create Boss Blueprint

  1. Content Browser → Right Click → Blueprint Class
  2. Search for BossCharacter as parent class
  3. Name it BP_MyBoss, open it
  4. Add a Skeletal Mesh (any character mesh — even the UE mannequin works for testing)
  5. That's it — BossComponent is already attached automatically

Step 2 — Set 5 Essential Properties

Select the Boss Component in your BP. In Details Panel, you only need these:

CategoryPropertyWhat to SetWhy
Boss|InfoBoss Name"My First Boss"Shows on HUD health bar
Boss|PhasesNumber of Phases1 (start simple!)More phases = harder to debug at first
Boss|PhasesPhase Configs → [0] → Health Points500Boss HP for phase 1
Boss|CombatProjectile ClassLeave empty for nowBoss works without attacks — add later
Boss|ArenaArena Radius2000Fight area size (0 = no arena)

Everything else uses good defaults. Don't touch the other 200 settings yet.

Step 3 — Place in Level and Test

  1. Drag BP_MyBoss into your level
  2. Press Play
  3. Walk near the boss — the fight starts automatically (boss has trigger by default)
  4. Boss HP bar appears on screen

Step 4 — Deal Damage to Boss

The boss needs to receive damage from your weapon. Two options:

If your weapon uses UE's damage system (Apply Damage node), the boss receives it automatically.

If you use a custom system, in your weapon hit logic call:

// Get BossComponent from hit actor
BossComponent->TakeBossDamage(50.0f);

Step 5 — Done! Now Expand

You have a working boss. Now add features one at a time:

🔥 "I want the boss to attack"

  1. Create Blueprint → parent: ExplosiveBarrelProjectile → name: BP_BossProjectile
  2. Add a mesh to it (sphere, barrel, any projectile shape)
  3. Back in Boss Component → Projectile Class = BP_BossProjectile
  4. Boss now shoots at you automatically

⚔️ "I want melee attacks"

In Boss Component → Phase Configs → [0] → Attack Type = Melee. Configure Melee Damage (50), Melee Range (200), Melee Cooldown (2s). Boss will punch you when close.

🔄 "I want multiple phases"

Set Number of Phases = 3. Expand Phase Configs → each phase has its own HP, attack type, speed, and damage multiplier. Phase 1 could be ranged (easy), Phase 2 mixed (medium), Phase 3 melee (intense).

🎬 "I want a cinematic intro"

In Boss Component → Boss|Intro category:

🛡️ "I want the boss to have shields"

In Boss|Shield: enable shield, set HP, set which attacks break it.

😡 "I want an enrage timer"

In Boss|Enrage: set Enrage Time (e.g., 120 seconds). Boss goes berserk if not killed in time.

👾 "I want minions"

In Boss|Minions: enable minions, set minion class, spawn count, interval.

🏟️ "I want an arena barrier"

In Boss|Arena: set Arena Radius. Players can't leave the fight area. Arena auto-opens when boss dies.

Pro tip: Enable Show Debug Logs in Boss|Debug to see everything the boss does in the Output Log. Extremely helpful for understanding what's happening.

Previous Quick Start (for reference)

Click to expand Option A / Option B setup

Option A: Use BossCharacter (Recommended)

  1. Content Browser → Right Click → Blueprint Class
  2. Search for BossCharacter, create BP named BP_MyBoss
  3. Add Skeletal Mesh → BossComponent is already included
  4. Configure phases, attacks, HP in the Details panel
  5. Place in level → trigger StartBossFight()

Option B: Add Component to Existing Character

  1. Open your Character Blueprint
  2. Add Component → Boss Component
  3. Configure settings in Details panel
// In Details Panel:
Boss Name: "Dragon Lord"
Number Of Phases: 3
Phase Configs:
  [0] HealthPoints: 500, AttackType: Ranged
  [1] HealthPoints: 750, AttackType: Mixed, SpeedMultiplier: 1.5
  [2] HealthPoints: 1000, AttackType: Melee, DamageMultiplier: 2.0
Projectile Class: BP_BossProjectile

Multi-Phase Combat

Bosses support 1–3 phases, each with independent configuration via FBossPhaseConfig array. When HP drops to 0 in a phase, the boss transitions to the next phase with optional cutscene, healing, and invulnerability.

Per-Phase Config

PropertyTypeDescription
HealthPointsfloatHP for this phase
AttackTypeEBossAttackTypeRanged, Melee, Mixed, BarrelThrow, Custom
FireRateMultiplierfloatAttack speed multiplier (1.0 = base)
SpeedMultiplierfloatMovement speed multiplier
DamageMultiplierfloatOutgoing damage multiplier
ProjectileCountint32Number of simultaneous projectiles
MeleeConfigFBossMeleeConfigMelee damage, range, knockback, cooldown
MinionConfigFBossMinionConfigMinion class, spawn rate, max alive
PhaseCutsceneULevelSequence*Optional cutscene on phase start
PhaseTransitionMontageUAnimMontage*Animation during phase transition

Combat System

The boss supports 5 base attack types configured per-phase:

TypeDescription
RangedFires projectiles at player (configurable class, speed, spread)
MeleeClose-range attack with configurable damage, range, knockback force
BarrelThrowThrows explosive barrels with physics-based trajectory and AOE explosion
MixedAuto-switches between Ranged and Melee based on MeleeSwitchDistance
CustomNo built-in behavior — handle in Blueprint via BP_OnMeleeAttackStarted

External Health System

Set HealthMode = External to integrate with your own health system (GAS, custom damage component, etc.).

// In your damage handler:
BossComponent->ReportHealthChanged(CurrentHP, MaxHP);
// When boss dies:
BossComponent->ReportBossDefeated();
Phase transitions fire automatically based on reported health percentage!

Cutscene Transitions

Each phase can have an optional ULevelSequence cutscene that plays during phase transitions. Player/boss invulnerability is automatic during cutscenes. Players can skip via SkipCurrentCutscene().

Minion Spawning

Per-phase minion configuration via FBossMinionConfig:

PropertyDescription
MinionClassActor class to spawn
InitialSpawnCountHow many to spawn when phase starts
bContinuousSpawnKeep spawning at interval
SpawnIntervalSeconds between continuous spawns
MaxAliveMinionsCap on simultaneous alive minions
bKillMinionsOnPhaseEndAuto-kill surviving minions on phase transition

Movement & AI

5 movement patterns via EBossMovementType:

TypeDescription
StationaryBoss stays at spawn location
CircularOrbits around start position
PatrolPointsFollows patrol waypoints
RandomTeleportTeleports to random positions
KeepDistanceMaintains configured distance from player

🏟️ Arena System v3.0

Configurable arena boundaries that lock players in during the boss fight. Arena auto-closes on fight start and auto-opens on defeat.

PropertyDescription
ArenaShapeBox, Sphere, or Cylinder
ArenaRadiusRadius / half-extent X
PushForceForce pushing players back inside
BoundaryDamagePerSecondDPS for players outside arena
bCloseOnFightStartAuto-close when fight begins
bOpenOnDefeatAuto-open when boss dies
// Manual control:
BossComponent->SetArenaClosed(true);
bool bInside = BossComponent->IsInsideArena(PlayerLocation);

💥 AOE / Ground Attacks v3.0

5 AOE shapes with warning indicators, delayed damage, and knockback:

ShapeDescription
CircleStandard circular AOE around a point
LineStraight-line beam (boss forward direction)
ConeFrontal cone with configurable angle
RectangleRectangular zone (width × length)
CrossX-shaped cross pattern
// Trigger AOE at boss location:
BossComponent->PerformAOEAttack();
// Trigger at specific location:
BossComponent->PerformAOEAttackAtLocation(TargetLocation);
AOE has a WarningDelay — visual indicator appears first, damage happens after delay. Bind to OnBossAOEWarning to show custom indicators.

💨 Dash / Charge Attack v3.0

Boss wind-up → charge → impact → recovery vulnerability cycle:

PropertyDescription
DashSpeedUnits per second during charge
WindUpTimeDelay before charge starts (animation time)
MaxDashDistanceMaximum distance boss will travel
DashDamageDamage on direct contact
ImpactDamage / ImpactRadiusAOE explosion at end of dash
RecoveryTimeVulnerability window after dash ends
BossComponent->PerformDashAttack();  // Dash toward player
BossComponent->PerformDashToLocation(Target); // Dash to specific point

🛡️ Shield / Armor System v3.0

3 shield types configured per-phase via PhaseShieldConfigs array:

TypeDescription
HealthShieldShield has HP. Absorbs damage until broken. Regenerates after cooldown.
PhaseShieldBlocks all damage until manually broken (e.g. destroy shield generators).
TimedShieldActive for X seconds, then breaks automatically.
BossComponent->ActivateShield();
float overflow = BossComponent->DamageShield(100.0f);
BossComponent->BreakShield();
Shield automatically absorbs damage in TakeDamage() — you don't need to call DamageShield manually unless building custom damage pipeline.

🎯 Vulnerability Windows v3.0

Boss is invulnerable by default. Players must deal enough hits to stagger the boss, opening a damage window.

PropertyDescription
bInvulnerableByDefaultBoss takes no damage until vulnerable
StaggerThresholdHits needed to stagger boss
StaggerDurationSeconds boss remains vulnerable after stagger
VulnerabilityDamageMultiplierDamage multiplier during vulnerable state (e.g. 2.0x)
// Manual control:
BossComponent->MakeBossVulnerable(5.0f); // 5 second window
BossComponent->MakeBossInvulnerable();

⏱️ Enrage / Berserk Timer v3.0

MMO-style berserk timer. When time runs out, boss enrages with massive stat boost or instant-kill wipe mechanic.

PropertyDescription
EnrageTimeSeconds until enrage
EnrageDamageMultiplierDamage multiplier after enrage (e.g. 5.0x)
EnrageSpeedMultiplierMovement speed multiplier
bInstantKillOnEnrageKill all players after delay
bGradualScalingStats scale gradually as timer runs down

🎬 Boss Intro Sequence v3.0

4 intro styles:

StyleDescription
NoneFight starts immediately
NamePlateHUD shows boss name + title (e.g. "DRAGON LORD — The Eternal Flame")
CameraFocusCamera zooms on boss + name plate
FullCutscenePlays ULevelSequence cutscene before fight starts

Player input is optionally disabled during intro. Boss is invulnerable until intro finishes. Skippable via SkipBossIntro().

🔄 Attack Patterns / Combos v3.0

Define sequence-based attack patterns with weighted random selection.

// Example: "Heavy Combo" pattern
Pattern: "HeavyCombo"
Sequence:
  [0] Ranged ×3, Delay: 0.5s
  [1] Wait, Delay: 1.0s
  [2] Dash ×1
  [3] AOE ×1
  [4] Melee ×2, Delay: 0.3s
Weight: 10
MinDistance: 300
Cooldown: 8.0s

Each step supports: Ranged, Melee, AOE, Dash, Summon, Shield, Custom, Wait

💎 Loot Table v3.0

Configure drops with rarity system, drop chances, and physics scatter:

PropertyDescription
ItemClassActor class to spawn as loot
DropChanceProbability (0.0–1.0)
MinQuantity / MaxQuantityRandom quantity range
bGuaranteedAlways drops (ignores chance)
RarityCommon, Uncommon, Rare, Epic, Legendary
PhaseRequirementOnly drops if boss defeated in specific phase

👥 Aggro / Threat System v3.0

Multiplayer threat management. Boss targets the player with highest threat.

// Add threat when player deals damage:
BossComponent->AddThreat(PlayerActor, DamageDealt);

// Tank taunts boss for 10 seconds:
BossComponent->Taunt(TankActor, 10.0f);

// Get current target:
AActor* Target = BossComponent->GetCurrentAggroTarget();

Threat decays over time. Boss only switches targets when threat difference exceeds ThreatSwitchThreshold (hysteresis).

📊 Boss HUD Widget v3.0

Auto-creating C++ UUserWidget with full layout built in code. Override with Blueprint subclass for visual customization.

Built-in elements: Boss name, title text, health progress bar (smooth interpolation), shield progress bar, phase indicator pips (diamond shapes), enrage countdown timer, vulnerability flash indicator.

// Auto-create (enabled by default):
bAutoCreateHUD = true;

// Use custom Widget BP subclass:
HUDWidgetClass = BP_MyBossHUD;

// Manual control:
BossComponent->CreateHUD();
BossComponent->DestroyHUD();
Override any of the 11 BP_On* events in your Widget Blueprint to customize appearance: BP_OnHealthChanged, BP_OnPhaseChanged, BP_OnShieldChanged, BP_OnVulnerabilityChanged, BP_OnEnrageTimerUpdated, BP_OnBossDefeated, BP_OnShowIntroNamePlate, BP_OnHUDInitialized, BP_OnHealthBarTick

API — Enums

Core Enums (BossComponent.h)

EnumValues
EBossProjectileTypeBoulder, ExplosiveBarrel, AcidSpit, FireBall, IceSpike, Custom
EBossMovementTypeStationary, Circular, PatrolPoints, RandomTeleport, KeepDistance
EBossAttackTypeRanged, Melee, BarrelThrow, Mixed, Custom
EBossHealthModeStandalone, External

V3.0 Enums (BossAbilityTypes.h)

EnumValues
EBossAOEShapeCircle, Line, Cone, Cross, Rectangle
EBossShieldTypeHealthShield, PhaseShield, TimedShield
EBossIntroStyleNone, NamePlate, CameraFocus, FullCutscene
EBossSequenceActionRanged, Melee, AOE, Dash, Summon, Shield, Custom, Wait
EBossLootRarityCommon, Uncommon, Rare, Epic, Legendary
EBossArenaShapeBox, Sphere, Cylinder

API — Structs

StructUsed InDescription
FBossPhaseConfigCorePer-phase: HP, attack type, multipliers, minions, cutscene
FBossMeleeConfigCoreMelee: damage, range, radius, cooldown, knockback, montage, sound
FBossMinionConfigCoreMinions: class, count, interval, max alive, spawn points
FBossAOEConfigv3.0AOE: shape, radius, damage, warning delay, knockback, VFX
FBossDashConfigv3.0Dash: speed, distance, damage, wind-up, recovery, impact AOE
FBossShieldConfigv3.0Shield: type, HP, duration, regen, damage reduction, VFX
FBossVulnerabilityConfigv3.0Vulnerability: invulnerable default, stagger threshold/duration
FBossEnrageConfigv3.0Enrage: timer, multipliers, instant kill, gradual scaling
FBossIntroConfigv3.0Intro: style, title, duration, disable input, cutscene ref
FBossAttackPatternv3.0Pattern: sequence entries, weight, distance, cooldown
FBossSequenceEntryv3.0Single step: action type, delay, repeat count
FBossLootConfigv3.0Loot master config: table, spawn radius, launch, VFX
FBossLootEntryv3.0Single loot: item class, chance, quantity, rarity, phase req
FBossAggroConfigv3.0Aggro: decay rate, threat multiplier, switch threshold
FBossAggroEntryv3.0Runtime: player ref, threat level, total damage
FBossArenaConfigv3.0Arena: shape, radius, push force, boundary damage, VFX

API — Functions

Core Combat

Callable
void StartBossFight()
Start the boss fight. Initializes HP, starts intro (if configured), creates HUD, closes arena.
Callable
void StopBossFight()
Stop the boss fight. Cleans up timers, destroys minions.
Callable
void TakeDamage(float DamageAmount)
Deal damage to boss (Standalone mode). Auto-handles shield absorption, vulnerability check, stagger counting, and phase transitions.
Callable
void ForcePhase(int32 Phase)
Force boss to enter specific phase.
Callable
void PerformMeleeAttack()
Trigger melee attack manually.
Pure
float GetHealthPercent() const
Returns current HP percentage (0.0 – 1.0).
Pure
int32 GetCurrentPhase() const
Returns current phase number (1-based).
Pure
bool IsBossFightActive() const
Is the boss fight currently active?

External Health

Callable
void ReportHealthChanged(float CurrentHP, float MaxHP)
Report HP from external system. Triggers phase transitions based on percentage.
Callable
void ReportBossDefeated()
Report boss death from external system.

Cutscenes & Minions

Callable
void SkipCurrentCutscene()
Skip currently playing cutscene.
Callable
void SpawnMinions(int32 Count)
Spawn minions using current phase config.
Callable
void KillAllMinions()
Destroy all alive minions immediately.
Callable
void ReportMinionDeath(AActor* Minion)
Report minion death (call from minion's OnDestroyed).

V3.0 — Arena

v3.0Callable
void SetArenaClosed(bool bClosed)
Manually open/close the arena.
v3.0Pure
bool IsInsideArena(FVector Location) const
Check if a location is inside the arena boundaries.

V3.0 — AOE & Dash

v3.0Callable
void PerformAOEAttack()
AOE attack at boss position using AOEConfig.
v3.0Callable
void PerformAOEAttackAtLocation(FVector Location)
AOE attack at specific world location.
v3.0Callable
void PerformDashAttack()
Dash toward current player/aggro target.
v3.0Callable
void PerformDashToLocation(FVector Target)
Dash toward specific world position.

V3.0 — Shield

v3.0Callable
void ActivateShield()
Activate shield for current phase (uses PhaseShieldConfigs).
v3.0Callable
void BreakShield()
Force-break the shield.
v3.0Callable
float DamageShield(float DamageAmount)
Deal damage to shield. Returns overflow damage that passes through.

V3.0 — Vulnerability & Enrage

v3.0Callable
void MakeBossVulnerable(float Duration)
Open vulnerability window for specified duration.
v3.0Callable
void ForceEnrage()
Trigger enrage immediately.
v3.0Pure
float GetEnrageTimeRemaining() const
Seconds remaining until enrage.

V3.0 — Intro, Patterns, Loot, Aggro

v3.0Callable
void PlayBossIntro()
Play intro sequence (auto-called by StartBossFight if configured).
v3.0Callable
void SkipBossIntro()
Skip intro and start fight immediately.
v3.0Callable
void ForceAttackPattern(FName PatternName)
Force boss to execute specific named pattern.
v3.0Callable
TArray<AActor*> SpawnLoot()
Spawn loot drops manually (auto-called on defeat if enabled).
v3.0Callable
void AddThreat(AActor* Player, float ThreatAmount)
Add threat value for player in aggro table.
v3.0Callable
void Taunt(AActor* Player, float Duration)
Force boss to target specific player for duration.

V3.0 — HUD

v3.0Callable
UBossHUDWidget* CreateHUD()
Create and display boss HUD widget.
v3.0Callable
void DestroyHUD()
Remove boss HUD from viewport.

Events & Delegates

All delegates are DYNAMIC_MULTICAST — bindable from both C++ and Blueprint.

Core Events (v2.0)

DelegateParameters
OnBossHealthChangedfloat HealthPercent, float CurrentHealth, float MaxHealth
OnBossPhaseChangedint32 NewPhase, int32 MaxPhases
OnBossFightStartedFText BossName
OnBossDefeatedFText BossName
OnBossMeleeAttack(none)
OnBossMeleeHitAActor* HitActor, float Damage
OnBossRequestDamageAActor* DamagedActor, float DamageAmount
OnBossCutsceneStartedint32 Phase
OnBossCutsceneFinishedint32 Phase
OnMinionSpawnedAActor* Minion
OnMinionDiedAActor* Minion
OnAllMinionsDead(none)
OnMinionWaveSpawnedint32 Count

V3.0 Events

DelegateParameters
OnBossAOEWarningFVector Location
OnBossAOEDamageFVector Location, int32 PlayersHit
OnBossDashStarted(none)
OnBossDashHitAActor* HitActor
OnBossDashEnded(none)
OnBossShieldActivated(none)
OnBossShieldBroken(none)
OnBossShieldChangedfloat CurrentShield, float MaxShield
OnBossVulnerabilityChangedbool bIsVulnerable
OnBossStaggered(none)
OnBossEnraged(none)
OnBossEnrageWarningfloat SecondsRemaining
OnBossIntroStarted(none)
OnBossIntroFinished(none)
OnBossPatternStartedFName PatternName
OnBossSequenceActionEBossSequenceAction Action, int32 StepIndex
OnBossAggroTargetChangedAActor* NewTarget, AActor* PreviousTarget
OnBossLootSpawnedTArray<AActor*> SpawnedLoot
OnBossArenaStateChangedbool bIsClosed

Blueprint Implementable Events

Override these in Blueprint to add custom behavior:

EventWhen
BP_OnBossFightStartedFight begins (after intro)
BP_OnBossDefeatedBoss HP reaches 0 in final phase
BP_OnPhaseChangedPhase transition completes
BP_OnMeleeAttackStartedMelee attack initiated
BP_OnMeleeHitMelee attack connects with player
BP_OnCutsceneStarted / FinishedPhase cutscene start/end
BP_OnMinionSpawned / DiedIndividual minion spawn/death
BP_OnAllMinionsDeadAll tracked minions are dead
BP_DealDamageToActorBoss requests damage on actor (override for custom damage)
BP_OnAOEWarning / DamageAOE warning/damage phase
BP_OnDashStarted / EndedDash charge cycle
BP_OnShieldActivated / BrokenShield state change
BP_OnBossVulnerableVulnerability window opens
BP_OnBossStaggeredBoss staggered from hits
BP_OnBossEnragedEnrage timer expires
BP_OnIntroStarted / FinishedIntro sequence lifecycle
BP_OnSequenceActionCustomCustom action in attack pattern

BossCharacter AI

ABossCharacter is an optional pre-built Character with BossComponent + AI navigation. It provides:

Changelog

v3.0.0 — February 2026 — "The Grand Update"

11 new systems, 2 new source files, 8000+ lines of C++

  • Arena System — Configurable boundaries (Box/Sphere/Cylinder), push-back, boundary DPS
  • AOE/Ground Attacks — 5 shapes, warning delay, decal indicators, knockback
  • Dash/Charge Attack — Wind-up → charge → impact → recovery vulnerability
  • Shield/Armor System — 3 types (Health/Phase/Timed), regeneration, damage reduction
  • Vulnerability Windows — Invulnerable by default, stagger system, damage multiplier
  • Enrage/Berserk Timer — Gradual scaling, instant-kill wipe mechanic
  • Boss Intro Sequence — 4 styles, name plate, camera focus, full cutscene
  • Attack Patterns/Combos — Sequence-based, weighted random, cooldowns
  • Loot Table — Rarity system, drop chances, phase-specific, physics scatter
  • Aggro/Threat System — Threat decay, hysteresis, taunt, multiplayer support
  • Boss HUD Widget — C++ UUserWidget with 11 BP customization events
  • Bug fixes: GetWorld() null safety (16 fixes), static variable isolation, bracket balancing, montage cleanup
  • New files: BossAbilityTypes.h, BossHUDWidget.h/.cpp
  • Dependencies: +Niagara, +UMG

v2.0.0 — January 2026

  • FBossPhaseConfig system replacing legacy arrays
  • 5 attack types: Ranged, Melee, BarrelThrow, Mixed, Custom
  • External Health System (GAS integration)
  • Melee combat with knockback
  • Minion spawning system
  • ULevelSequence cutscene support
  • BossCharacter AI with 5 movement patterns
  • 14 delegates, 20+ Blueprint functions

v1.0.0 — December 2025

  • Initial release
  • Multi-phase boss system
  • Projectile attacks
  • Basic movement patterns
  • 4 events, 4 Blueprint functions

FAQ

Can I use this without BossCharacter?

Yes! UBossComponent is an ActorComponent — attach it to any Character or Pawn. BossCharacter is an optional convenience class.

Does External Health mode work with GAS?

Yes. Set HealthMode = External, then call ReportHealthChanged() from your GAS attribute callbacks. Phase transitions fire automatically.

Can I mix v3.0 systems selectively?

Absolutely. Every v3.0 system has an enable flag. Arena: bEnableArena, Enrage: bEnableEnrage, Aggro: bEnableAggro, Loot: bEnableLoot, etc. Disabled systems have zero performance cost.

Is multiplayer supported?

The Aggro/Threat system is designed for multiplayer. Arena boundary enforcement works for all player controllers. However, boss state replication (health sync, phase sync) requires your own networking layer.

How do I customize the HUD?

Create a Blueprint subclass of UBossHUDWidget, set it as HUDWidgetClass on BossComponent, then override any of the 11 BP_On* events for custom visuals.

Support

Documentationadrenalinegames.pl/epicbosssystem
MarketplaceFab Store
EngineUnreal Engine 5.6, 5.7
PlatformWin64
DependenciesNiagara (built-in), LevelSequence (built-in)
LanguageC++ with full Blueprint exposure
Epic Boss System v3.0.0 — © 2026 Erak Dev / Adrenaline Games
Built for Unreal Engine 5.6 — 5.7 · 8000+ lines of production C++