Projectiles
Projectile System Overview
All projectile types derive from the BP_MasterProjectile
, which handles the core logic for damage, impact, and optional pooling for optimization.
๐ฏ Default Projectile Types Included:
BP_BallisticProjectile01
Auto-cannons (standard fast kinetic)
BP_BallisticProjectile02
Railguns (piercing, high-speed shots)
BP_PulseLaserProjectile
Laser turrets (energy beam pulses)
BP_DumbSmallRocket
Non-guided explosive rockets
BP_Missile01
Guided missile with tracking behavior

๐ง Core Customization Info
โ๏ธ Inheritance & Structure
All new projectiles must derive from
BP_MasterProjectile
to ensure compatibility with the system.All blueprints come fully commented with self-explanatory functions.
๐ฃ Explosive vs Ballistic Projectiles
Feature
Explosive
Ballistic
IsBallistic?
Bool
โ False
โ True
Collision Behavior
Block
necessary channels
Overlap
only
Pooling Support
โ Not pooled
โ Fully pooled
Penetration System
โ No
โ Yes
On Hit Event
Triggers radial damage and VFX
Triggers direct hit logic and VFX
Uses SetLive
โ No
โ Yes (for pooling reset)
โ
Checklist for Ballistic Projectiles (Pooled)
โ
IsBallistic?
= Trueโ Sphere Collision set to Overlap only
โ Use
SetLive
on spawn (sets active state and resets visuals)โ Configure projectile speed, lifespan, penetration logic
โ Customize VFX and impact sound
โ All logic happens in Impact Event (shown in screenshot)
โ
Checklist for Explosive Projectiles
โ
IsBallistic?
= Falseโ Sphere Collision should Block desired channels (like WorldStatic, Pawn, etc.)
โ Customize radial damage radius and effects
โ Impact event handles damage & VFX (same event)
โ Not pooled โ standard actor lifecycle (spawn > destroy on hit)
๐ง Custom Damage Systems And Penetration
All damage logic is inside the Impact Event.
By default, uses engine-standard Apply Damage with support for damage types.
If your game uses a custom interface for damage (e.g.,
BPI_YourCombatInterface
), this is where youโll need to hook it in.Penetration for Ballistic projectiles are calculated at the end of the event.
๐ง You can safely replace
Apply Damage
with your interface call (e.g.,Interface โ DealCustomDamage()
), depending on your gameplay system.


๐ Pooling Support
Ballistic projectiles are designed for object pooling to drastically reduce runtime memory and actor destruction overhead.
Make sure to call
SetLive
when activating ballistic projectiles from the pool.This resets lifespan, visuals, and prepares it for next use.

๐ VFX, SFX, and Trails
Each projectile has built-in settings for:
โ Trail VFX
โ Impact particles
โ Looping flight sound or on-impact SFX
These are editable directly within the projectile blueprint. No code change needed โ just swap the assets.
๐งช Quick Test Tips
Ballistic feels weird? Double-check collision is on Overlap only.
Explosive not detonating? Make sure you're blocking something meaningful on the root Sphere.
Pooling not working? Make sure
SetLive
is called and you're not destroying pooled actors on impact.No damage? Check if your target implements the correct BPI or is listening for damage events.
Last updated