Bosses

Phase-driven fights with swappable weapon sets and separately destructible parts.

πŸ‘ΉMulti-phase
⏱️8 min read
🎯Destructible parts
⏸️Pauses the world
ASKBossBase Β· ASKBossPart

A boss is an enemy with phases. Each phase is a health threshold that swaps the boss's weapon set and movement speed, and can introduce new destructible parts. Everything is data on the Blueprint β€” there is no state machine to write.

Bosses also drive the boss health bar and pause the world scroll for the duration of the fight.

Phases

Add entries to Phases, ordered from full health downward. As the boss's health falls past each threshold it enters that phase, replacing its weapons wholesale.

PropertyDefaultPurpose
Health Threshold Percent100The health percentage at or below which this phase begins. The first entry is normally 100.
Move Speed0Movement speed during this phase. 0 keeps the current speed, so a phase can change only its guns.
Weaponsβ€”The complete weapon set for this phase. Mounts are rebuilt on entry, so the previous phase's guns are gone.

Phase weapons

Each entry creates one gun on the boss for the duration of the phase.

PropertyDefaultPurpose
Weapon Dataβ€”The weapon to fire β€” the same assets the player uses.
Level0Which power tier of that weapon to fire at.
Mount Offset0,0,0Where this gun sits on the boss.
Fire Direction-1,0,0Which way it shoots. Defaults to down-screen, toward the player.
Fire Interval0Staggers this gun against the others, so a bank of cannons ripples instead of firing as one. 0 fires immediately.
Because a phase's weapon list is complete in itself, a boss that gets angrier is just a phase with more entries at a higher level. You never disable the old guns β€” entering a phase rebuilds the mounts from scratch.

Entrance and invulnerability

PropertyDefaultPurpose
Attack On SpawnOnBegin attacking immediately. Turn it off for a scripted entrance, then call Begin Attacks when the boss is in place.
Invulnerable Until AttackingOnThe boss cannot be hurt until attacks begin, so it can't be shredded during its fly-in.
Phase Transition Invulnerability1Seconds of immunity when changing phase, so a burst of damage can't skip a phase entirely.

A typical scripted entrance: turn off Attack On Spawn, fly the boss into position with a path or an animation, then call Begin Attacks. Immunity lifts at the same moment, so the fight starts fairly.

Destructible parts

ASKBossPart

Parts are separately damageable pieces attached to the boss β€” turrets, wings, armour panels. Each has its own health and dies independently, which turns one health bar into a fight with structure.

PropertyPurpose
Part ClassThe SKBossPart Blueprint to spawn.
Mount OffsetWhere it attaches on the boss.
Introduced At PhaseWhich phase it appears in, so a later phase can unfold new weak points. 0 means present from the start.

A part has its own health component and its own weapon mount, so it can shoot back. Its Lag Speed controls how loosely it trails the boss's movement β€” a small amount of lag makes a large boss feel heavy rather than rigid.

Blueprint hooks

EventFires
On Boss Phase ChangedOn entering a phase, with the new index. Use it for a roar, a screen shake or a colour change.
On Boss Part DestroyedWhen a destructible part dies, with the part.
On Boss DefeatedWhen the boss dies, before the stage-clear sequence.
Get Current PhaseReturns the active phase index.

The world stops for a boss

The scrolling background pauses while a boss is active, so the fight happens on a held frame rather than sliding past. This is controlled on the scrolling component:

PropertyDefaultPurpose
Pause During BossOnHold the world still for the fight.
Resume After BossOffOff means the world stays stopped after the kill, giving the stage-clear sequence a still frame. Turn it on for a mid-level boss the stage continues past.

Pickups keep drifting during the pause, since they carry their own scroll speed. A placement spawner rides the terrain, so its points freeze too and no enemies wander in mid-fight.

Building a boss

1

Create the Blueprint

New Blueprint Class β†’ SKBossBase. Set the mesh and capsule, then set Max Health on the Health component β€” a boss's health is usually an order of magnitude above a normal enemy's.

2

Author the phases

Add a phase at 100%, then further phases at descending thresholds. Give each its weapon list. Start simple: two phases where the second adds a second gun is already a fight with a shape.

3

Add parts

Create SKBossPart Blueprints for turrets or armour, then list them under Destructible Parts with their offsets and the phase they appear in.

4

Place it and end the stage

Spawn the boss from a spawn point at the end of the level, or from the wave director's On All Waves Complete event. Its death triggers the stage clear and the transition to the next stage.

Common fixes

  • The boss dies instantly β€” its phases are empty, so no thresholds are defined
  • It never shoots β€” the phase has no weapon entries, or Attack On Spawn is off and Begin Attacks was never called
  • Phases skip in one burst β€” raise Phase Transition Invulnerability
  • The world keeps scrolling β€” Pause During Boss is off on the scrolling component
  • The stage restarts scrolling after the kill β€” that is Resume After Boss; leave it off for an end-of-stage boss

Where next

Weapons

The weapon assets a phase fires.

Read β†’

HUD & UI

The boss health bar.

Read β†’

Progression

Stage clear and travelling to the next level.

Read β†’