Creating New Items (Updated)

NOTE: I need two Masters one for skeletal meshes and one for static meshes because the Root Component has to be a mesh for Physics to be Properly Replicated. This is why I made the Logic a Component!

First off, this only applies to those who want to use the (Bonus) Item Handling System that is an addition to the System not a Core Component of it such as the Dynamic Additive Overlay (Which is why the project is called GASP-DAO not GASP-ItemHandlingSystem). In the /All/Game/DAO/Blueprints/HeldObjects folder, you will find two Master Blueprints, one is for Skeletal Meshes and one is for Static Meshes. The reason I needed two is because it requires C++ to Dynamically Swap Root Components after the Blueprint has been created or during Run-Time, Unreal just doesn't provide a clean method for doing that. Go to this folder if you need an item that isn't a gun and create a child of this for your item.

I will assume going forward that your making a Gun, the setup is the same, the only difference being that the Guns require some extra steps to setup properly. NOTE: You could just add the AC_HeldObject_Master to your Item Blueprint if you already have one. My Pickup on the character blueprints will trace against Objects of Type Pickup though! In the /All/Game/DAO/Blueprints/HeldObjects/Guns folder, create a child of the SK (Skeletal Mesh) or SM (Static Mesh) Gun Blueprint. This will of course depend on if your items will be Static Meshes or Skeletal Meshes.

Assign your Skeletal/Static Mesh to the Root Component. Open it up and add a socket at the end of the barrel.

The Socket Name should match that of the Aim Socket Name on both the AC_Gun (If your using it) and the AC_HeldObject_Master (If your not using it then following this Guide won't make much sense).

On the AC_HeldObject_Master assign it a Gameplay Tag which will be used throughout the System to Track, and Holster it.

Override the CharDataChooser, we will use this to store the Char Data containing information relevant to each character where needed. It's worth noting that if your careful your characters can easily share these assets as long as their Anatomy doesn't differ significantly. You may also in some situations want specific characters to have different Animation Sets and Layering Settings or even Montages, this structure supports Flexibility.

This is not a comprehensive guide to using or creating choosers, but inside this function is where it would go. You can handle it differently if you want but the Result is expected to be of type PDA_ItemCharData.

For this situation I will Duplicate the M4A1 Chooser and Repurpose it (Found in /All/Game/DAO/Blueprints/HeldObjects/Guns/M4A1 Folder).

In 5.7 you may need to create a new Evaluate Chooser to see the Soft Reference Option if you choose to use Soft References. Currently I am block loading it, which is ok as long as the file size isn't large, which could happen if you create dependency chains. The information I require must be ready, due to the time sensitive nature of the Attach System, this information will only be Block Loaded once when first handled by a new Character, so the impact is minimal and a one time hit.

In the Chooser under the Character Tag for my Character I will Assign a PDA_ItemCharData Data Asset for my Character. In this case I duplicated the M4A1 since this is a Rifle I should be able to Repurpose a lot of the Data.

If you are outputting a soft reference, then you need to store these as Asset (Soft Reference) within the chooser

Already you should start seeing results. The offsets shown are caused by the differences in Origin as well as the Different Structure of the Rifle Compared to the ProtoType that comes with the Project.

Currently my IK Offsets are only setup for Live Retargeted Characters, I may change that in later updates. Currently they are not needed for the items in the Project because those animations were made for those items.

Go to the Live Retargeted Characters Section under this one to continue

Last updated