Console Commands and CVars
Open the console with ~ in Play-In-Editor or a packaged Development build. All commands start with proj..
Runtime commands
These commands are development tools and are compiled out of Shipping builds. To spawn or clear projectiles in a shipped game, call Spawn Projectiles or Clear Projectiles from Blueprint or C++.
| Command | Description |
|---|---|
proj.Fire [count=1] [spreadDeg=3] [type=0] [speedCm=0] |
Fire a burst from the player camera. type indexes the registered types (Replicated Types first). |
proj.SpawnStress [count=100000] |
Fountain-spawn projectiles above the camera. On a server the volley replicates; on a client it is local only. |
proj.Clear |
Destroy all projectiles. On a server this clears every client too. |
proj.Stats |
Log current stats (active, traces, hits, timings). |
proj.TestFlyby |
Fire a volley that crosses in front of the camera, to check flyby audio. |
proj.SetWind <x> <y> <z> |
Set the manual global wind in cm/s. Wind Directional Source actors add on top. |
proj.ReloadAssets |
Re-resolve decal/audio assets and the visualizer's Niagara systems (after changing them mid-session). |
Runtime CVars
Collision
| CVar | Default | Description |
|---|---|---|
proj.CollisionEnabled |
1 | Enable hit-detection traces. |
proj.CollisionBudgetMs |
-1 | Adaptive collision budget in ms. -1 = Project Settings value, 0 = fixed budgets. |
proj.TraceBudget |
4096 | Max swept traces per frame for far projectiles. |
proj.NearTraceBudget |
8192 | Separate trace budget for projectiles near the viewer. |
proj.NearRadius |
15000 | Projectiles within this distance (cm) of the viewer trace every frame. |
proj.FarTraceInterval |
4 | Far projectiles trace every K frames (the sweep covers the skipped frames). |
Visuals
| CVar | Default | Description |
|---|---|---|
proj.TracerBudget |
-1 | Max tracers drawn per frame. -1 = Project Settings, 0 = draw all. |
proj.TracerCull |
-1 | Max tracer draw distance (cm). -1 = Project Settings, 0 = unlimited. |
proj.ImpactEffects |
1 | Batched impact bursts (Impact FX system). |
proj.SmokeTrails |
1 | Lingering GPU smoke trails. |
proj.SmokeBudget |
1024 | Smoke samples per frame. 0 = Project Settings. |
proj.SmokeCull |
0 | Default smoke emit distance (cm) for types that inherit it. 0 = Project Settings. |
proj.NiagaraMeshViz |
1 | Drive the tracer system's optional GPU mesh renderer. |
proj.UseNDC |
0 | Also write projectile state into the Niagara Data Channel (only for NDC-reading emitters). |
Audio
| CVar | Default | Description |
|---|---|---|
proj.FlybySounds |
1 | Flyby whiz sounds. |
proj.ImpactSounds |
1 | Per-surface impact / ricochet / exit sounds. |
Physics and debugging
| CVar | Default | Description |
|---|---|---|
proj.ProximityImpulse |
1 | Near-miss and radial impulses on simulating bodies. |
proj.DrawImpulse |
0 | Debug arrows for direct, radial and flyby impulses. |
proj.DebugHits |
0 | On-screen message and speed label for every impact (event, surface, actor, m/s). |
proj.DebugHitsDuration |
4 | Seconds each debug-hit message stays up. |
proj.DebugHitsMax |
8 | Max debug-hit messages per frame. |
proj.DebugPaths |
-1 | Draw every projectile's path coloured by speed as a fraction of its launch speed (green full, yellow half, red spent); travel inside a penetrated material is magenta. Hits are marked: blue enter, cyan exit, yellow ricochet (with the surface normal), red stop. 2 also prints the speed at each hit, 0 off, -1 uses the Debug Paths project setting. |
proj.DebugPathsDuration |
-1 | Seconds each path line stays up (game time, so longer in slow motion). -1 = project setting (3). |
proj.DebugPathsMax |
-1 | Max path spans recorded per frame, so a mass swarm cannot flood the line batcher. -1 = project setting (500). |
Editor commands
Available in the editor only (module MassProjectileSubsystemEditor). They regenerate the plugin's starter content under /MassProjectileSubsystem/. You do not need them for normal use, because every asset already ships with the plugin.
| Command | Description |
|---|---|
proj.ValidatePluginContent [resave] |
List every plugin asset that depends on content outside the plugin or engine. |
proj.MakeNiagaraCompatible … |
Convert any Niagara system to the Mass projectile contract. See Visuals and Niagara. |
proj.CreateNiagaraMeshRenderer [info|remove|force] [mesh=…] [scale=…] [dist=…] |
Add a GPU mesh renderer to the tracer emitter (needed for Bullet Mesh). |
proj.CreateSmokeTrailSystem [force] |
Create or patch NS_ProjectileSmokeTrail. |
proj.CreateProjectileTypeAssets [force] |
Create the built-in EC_Projectile_* types. force overwrites your edits to them. |
proj.CreatePhysicalMaterials |
Create PM_Concrete/Metal/Wood/Dirt/Glass/Water. |
proj.CreateAudioAssets |
Synthesize the flyby sounds and attenuation asset. |
proj.CreateNiagaraAssets |
Create the Niagara Data Channel assets. |
proj.CreateHoleDecals |
Create M_ImpactHoleDecal and M_ProjectileBoreDecal and assign them to every surface of the built-in types (ricochet slots cleared). |
proj.CreateBreachMaterials [force] |
Breach content: M_ProjectileBoreDecal, MF_ProjectileHoleMask, M_ProjectileBreachable (+ MI_Breachable_*), M_BooleanWall. |
Commands that write into
/MassProjectileSubsystem/modify the plugin's own content. If you customised the shipped assets, move your versions to/Gamefirst. Plugin updates also replace that folder.
Device profile example
; Config/DefaultDeviceProfiles.ini (your project)
[Android DeviceProfile]
+CVars=proj.CollisionBudgetMs=1.5
+CVars=proj.TracerBudget=8000
+CVars=proj.SmokeBudget=256