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
- In the Content Browser, right-click → Blueprint Class.
- In the search bar type
BasePassiveand select it. - Name it
BP_Passive_<YourName>(e.g.BP_Passive_FireOrb). - Save it in
Content/Blueprints/Passives/.
2. Mandatory settings
Open the Blueprint and go to the Details panel (root component selected).
| Property | Category | Description |
|---|---|---|
IsTankPassive | Role | true = tank character, false = squishy character |
Cooldown | Stats › Time | Array of floats — one entry per level (levels 1–5). e.g. [2.0, 1.8, 1.6, 1.4, 1.2] |
ProjectileBP | Projectiles | Array 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
| Property | Category | Options |
|---|---|---|
TargetOverride | Behavior › Targeting | OwnerTargetChain (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
| Property | Category | Description |
|---|---|---|
bIsParentedToOwner | Behavior | Attaches spawned projectiles to the owner. Set InitialSpeed = 0 on the projectile to keep it stuck. |
5. Add to a character
- Open the character Blueprint (e.g.
BP_Character_Tank). - In Components, click Add Component → search for your passive BP.
- 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