Skip to main content

Frequently Asked Questions

General​

Do I need C++ for every weapon?​

No. Supported content and integration use Data Assets, Blueprint-visible build structures, components, interfaces and operation helpers. Installing/building the C++ plugin and extending native routing or actor types are separate tasks.

Is multiplayer setup automatic?​

The plugin provides replication and server RPC routes, but your project still needs the controller/character components, interfaces, configured databases and correct ownership. Test each network mode and account for Implementation Limits.

Weapon Data​

Is a Weapon Build a Data Asset?​

No. It is FWeaponBuildData, containing an instance GUID, a master ID, part records and validation flags. You can store presets in your own custom assets, Blueprint data or SaveGame.

Do I need one master per configuration?​

No. Reuse master and part assets and create separate build values for configurations. Independent instances should have independent GUIDs.

Does creating an asset register it automatically?​

No. Add it under its ID in a configured database. The subsystem resolves build IDs through those tables.

Does the master choose a custom actor class?​

No. Internal allocation chooses built-in actor classes from the weapon type. Use external allocation for custom actor classes or pooling.

Operations​

Does Equip spawn a weapon?​

No. Acquire a registered actor first. Equip needs its WeaponGuid and a registered BuildID.

Does Import validate and register a build?​

No. Import loads assets and replaces the working build. Queue explicit validation and wait for its successful callback before equipping.

Does Use fire the weapon?​

No. Use selects the weapon and moves it to the requested character socket. CreateWeaponAttackOp triggers/release attack on ActualUsedWeapon.

Does helper success mean the operation completed?​

No. The helper's success output reports request construction. Submission returns void, and loading/validation may complete later. Use delegates, state and logs for completion.

Does Unequip automatically destroy the actor?​

No. The handler clears runtime data and assignments, then calls WeaponUnequipCallback for allocation-aware cleanup. Implement destruction, detachment or pool return in that callback.

Is there a built-in Drop operation?​

No. Implement world pickup/drop behavior in your project.

Character and Inventory​

Can I use my own Character Blueprint?​

Yes, as an ACharacter with AC_WeaponCharComp and I_WeaponPawn. Return its attachment mesh through GetCharMesh. The present attachment path does not support a plain Pawn without code changes.

Can I use my own inventory and animation system?​

Yes. Store build values in your inventory and connect your animations to the provided interface events and notification functions. The plugin does not replace project input, persistence or animation setup.

Does saving the build preserve ammunition and durability?​

No. Build data stores configuration, not those runtime values. Save additional state in your project and restore it separately. The plugin's in-memory registry does not save itself to disk.

Updates and Support​

How should I organize custom content?​

Keep custom assets and Blueprints in your project. Reuse masters/parts, register IDs consistently and avoid modifying shipped content unless necessary.

What should a bug report contain?​

Include the plugin version, network mode, reproducible steps, Output Log messages and relevant database/build dumps. A minimal example helps distinguish setup mistakes from implementation gaps.