[Tutorial] - Making a new weapon & crafting station mod

So since the tutorial from Wildcard Tutorial: Creating a core-data Mod (Not a Map, just a Mod :) - ARK: Survival Evolved - Unreal Engine Forums is a little outdated and instructs you to use the master item list I have decided to make an updated version of this guide that hopefully illustrates to CORRECT way to do it. This is how I have done it and not had any issues. If something is wrong please do let me know.
I will be using the machined pistol and fabricator as examples in this tut.

So first thing you want to do is create a folder under the mods section in the devkit and name it what you want. Next, make a child of the PrimalGameData_BP from the game folder NOT the generic mod folder and place it into your mods folder and give it a name. The only reason I do it this way is that the one in the generic mod folder does not contain the “App Item ID’s”. If you use the one from generic mod you will not have the Parasaur Saddle skin or Dino Glasses in your inventory on spawn. Other than that I do not believe there is any other difference or reason not to use the generic mod version.

Next, copy the orange Level file and testgamemode from “Generic Mod” to your mod folder and name them to your mod. In this example it is “My_Pistol”. NOTE: You only need to do the testgamemode step if you are actually editing the gamemode. If you are NOT editing the gamemode, you do not need to copy & reference it.
Open PrimalGameData_BP and set the testgame mode to your copied testgame mode then open the orange level file and point it your new primalgamedata_bp. These are the basic steps required for any mod and I would suggest doing it before anything else.

If you are planning on using your own mesh for your weapon you will need to export the FPV_Rig and TPV_Rig, rig your new mesh to the FPV and TPV rigs then re-import them binding them to the correct skeleton. I will not be going into detail on how to do that but this tutorial from FancyFlannel should point you in the right direction. Custom models for the Ark Dev Kit - Import Export - YouTube

Now that you have your new mesh imported go ahead and copy “WeapMachinedPistol”, “PrimalItemWeapon_MachinedPistol” and “EngramEntry_MachinedPistol” to your mod folder and rename them. (MyMachinedPistol for this tut) You will also want to make a new icon for your item or copy the existing one and change the hue so you know it’s your version when spawning in. There are also several “Name” locations in the weapon BP and the PrimalItemWeapon that can be changed to your weapon name. (If you are only planning on changing the mesh for the weapon a Child of the weap_BP & primalitem will work)

2.PNG

Open EngramEntry_MyMachinedPistol" and set it to “PrimalItem_WeaponMyMachinedPistol”.

Open up “PrimalItem_WeaponMyMachinedPistol” and scroll down to “Weapon Template” and point it to your “WeapMyMachinedPistol”. Right below that is where you can change the icon. Remove the material from “Item icon material parent” or your icon will not show up. That is used for colorization and I will not be going into that. Right above is where you can set resource crafting requirements.


2.PNG

Open the “WeapMyMachinedPistol” BP and point the TPV and FPV mesh’s to your newly imported rigs. If you plan to use a different ammo for your weapon you’ll want to set it under “Weapon Ammo item Template”. Leave as is to use standard bullets. The “Weap_BP” contains most of the settings for the weapon such as clip count, fire rate, damage amount, type, use sounds (fire, zoom etc), muzzle flash effects etc.


Lastly you will need to add your new engram to the PrimalGameData_BP. Open it and look for “Additional Engram Blueprint Classes” and add your new pistol engram there.

Please note that the guns in Ark use an “Instant Hit” instead of an actual projectile. If you want your weapon to use a projectile you will need to create your projectile, re-parent the weap_bp to the rocket launcher, change the animations back to the pistol then point it to your projectile (a new section that will open up when re-parented). This method works flawlessly for us with our Stark Wars mod.
That should be it for the weapon. Hit the play button, spawn it in and test.

Now onto the new crafting station. I will be using the fabricator in this example. There are several ways to do this, not sure which one is 100% correct but this is how I have done it and it works great.

Copy “StorageBox_Fabricator”, “PrimalItemStructure_Fabricator”, “PrimalInventoryBP_Fabricator” & “EngramEntry_Fabricator” to your mod folder and rename them to your mod. (XXX_My_Pistol for this example)

Open “StorageBox_Fabricator” and goto the “Components” Tab. Delete “PrimalInventoryBP_Fabricator” then add a new component which will be your new inventory component. It should be in the drop down menu when you click add new component. There are several spots in the “StorageBox_BP” as well as the primalinventory_BP where you can set the name and description of your new crafter.


On the defaults tab find “Consumes Primal item” and set it to “PrimalItemStructure_Fabricator_My_Pistol”

Now open “PrimalInventoryBP_Fabricator_My_Pistol” and scroll down to “Default Inventory Items”. Click the trash can to clear the list then the + to add a new line and set it to your new item in this case “PrimnalItem_WeaponMy_MachinedPistol”. A couple lines down you will see “Default Engrams” click the trash to clear then add a single entry with a “1” in it. If you do not set this your item will not be craftable in the inventory of the new fabricator. If you leave with the default “0”, the item will be inventory of the crafter whether it is unlocked or not and if you are using folder paths for the item, it will not use them. Set it to “1”

Next is “PrimalItemStructure_Fabricator_My_Pistol”. Open it up and look for “Structure to build” and set it to “StorageBox_Fabricator_My_Pistol”. You can change the icon in this bp and set the name as well.

Lastly set the new fabricator in the “Additional Engram Blueprint Classes” like we did for the pistol.
1 more thing, we need to make the new crafter placable in the world so open PrimalGameData_BP and scroll to “Additional Structures To Place” and add your “StorageBox_Fabricator_My_Pistol”

That should be it for the new crafter. You can change the mesh on the “StorageBox_Fabricator_My_Pistol” to a custom one if you want. Just changing the “Static Mesh” under the “Defaults” tab should do it. If you do chane the mesh you probaly also want to change the destructible mesh as well.
To make a destructible mesh is very tedious and difficult so that requires it’s own tutorial. NOT!
Just right click your mesh, select “Create Destructible Mesh”, open the newly created file, set the “Cell Site Count” under “Voronoi” to whatever you want (I would imagine more pieces = more load on server) then click “Fracture Mesh” at the top. Towards the bottom of the “StorageBox_Fabricator_My_Pistol” BP you will find “destoryed Mesh”, point it to yours.

So now we have a new pistol and new crafting station so it is time to make that pistol craftable in the new fabricator. We really only need to do 1 thing at this point since the pistol is already added to the fabricators inventory from a previous step.
Go ahead and open your “PrimalItem_WeaponMyMachinedPistol”, find “Crafting Requires Inventory Component” and set it to your new crafter.

Adding a structure such as a wall is essentially the same as adding the fabricator except you won’t be doing anything with an inventory for a wall (besides adding it to a crafters inventory). Changing mesh, making placable is the same. “Consumes Primal Item” “Structure to Build” & “Additional Structures to place” WILL be used with a wall.

Compile, save and test because you’re done!
Enjoy!

Would this method add the item to an existing workstation, or would it require a new/seperate one ?

This tutorial adds a new structure with a custom inventory with the new item craftable inside. The only way to add a modded item to a core inventory is in your PrimalGameData, using “additional engram classes” or whatever, but it doesn’t even work.