Skip to content

Create a Passive Blueprint

Passives are components added to characters that fire automatically on a timer.
All passive weapons derive from UBasePassive.

1. Create the Blueprint

  1. In the Content Browser, right-click → Blueprint Class.
  2. In the search bar type BasePassive and select it.
  3. Name it BP_Passive_<YourName> (e.g. BP_Passive_FireOrb).
  4. Save it in Content/Blueprints/Passives/.

2. Mandatory settings

Open the Blueprint and go to the Details panel (root component selected).

PropertyCategoryDescription
IsTankPassiveRoletrue = tank character, false = squishy character
CooldownStats › TimeArray of floats — one entry per level (levels 1–5). e.g. [2.0, 1.8, 1.6, 1.4, 1.2]
ProjectileBPProjectilesArray of projectile Blueprint classes — one per level. Must be filled if this passive shoots projectiles.

Level indexing: The arrays are 0-indexed internally but the passive starts at level 1 (Level = 1).
Always provide 5 entries in each array (one per upgrade tier).

3. Targeting

PropertyCategoryOptions
TargetOverrideBehavior › TargetingOwnerTargetChain (default) — uses the character's targeting logic. ClosestEnemy / ClosestAlly — ignores the character's target chain. StraightAhead — fires in the owner's forward direction.

4. Optional behavior

PropertyCategoryDescription
bIsParentedToOwnerBehaviorAttaches spawned projectiles to the owner. Set InitialSpeed = 0 on the projectile to keep it stuck.

5. Add to a character

  1. Open the character Blueprint (e.g. BP_Character_Tank).
  2. In Components, click Add Component → search for your passive BP.
  3. The component starts automatically at BeginPlay.

Complete example — fire orb

BP_Passive_FireOrb
  IsTankPassive     = false
  Cooldown          = [3.0, 2.5, 2.0, 1.8, 1.5]
  ProjectileBP      = [BP_Proj_FireOrb, BP_Proj_FireOrb, BP_Proj_FireOrb, BP_Proj_FireOrb, BP_Proj_FireOrb]
  TargetOverride    = ClosestEnemy