Skip to main content

Adding Weapons and Variants

Add content through project Data Assets and Blueprint integration. Keep your content outside the plugin folder so updating the plugin does not replace your weapon definitions.

Add a Weapon Platform​

  1. Create a concrete master such as PDA_WM_Range and configure its ID, weapon type, mesh, slots and statistics.
  2. Create or reuse PDA_WeaponPart assets with compatible slots and provider tags.
  3. Register the master and parts in configured databases. Asset creation alone does not register them.
  4. Create or import an FWeaponBuildData configuration using those IDs.
  5. Validate the build and wait for OnBuildValidatedCallback before acquiring/equipping its actor.

Add a Variant​

Reuse the master and change the installed parts in a new build. A suppressed rifle and a marksman rifle can share a platform and common attachments. Define your own preset storage if you want designers to choose named configurations such as WB_CQB or WB_Marksman.

Integrate Existing Systems​

An inventory supplies build values. A save system persists those values plus separate ammunition/durability records. Character input submits operations, and your animation system handles draw/holster requests and attachment notifications. A pickup/drop system owns world representations and transfer rules; there is no CreateDropOp helper.

Add Gameplay Behavior​

New configurations within the supported Range, Melee and Throwable families can reuse asset and build APIs. A new weapon family, operation route or damage simulation needs an implementation. Projectile assets are currently empty classes; Melee and Throwable attack routes are also empty.

For custom actor allocation, implement AcquireWeaponExternal and WeaponUnequipCallback. For runtime extension points, see Extending Cube Weapon, Effects and Projectiles and Implementation Limits.