This guide will touch on how to create a new type of crafting machine and how to hook up recipes to fit inside the machine. We will also go over how thralls can be assigned to said machine and how the machine can further be modified.
In Conan Exiles there are three types of basic crafting machines (two really, but we'll stretch the definition to include the Generators, which, strictly speaking are not machines but item-spawners). The way they function are slightly different and it is a good idea to have a handle on these differences.
The most common type of machine is a manual machine - the Blacksmithing, Woodworking, Artisan, Fire Cauldron and Armorer's bench are examples of manual machines. These have a list of recipes on the right-hand side and (typically) allows for thralls to be placed in them. Some of the manual machines requires fuel (like the Fire Cauldron) but typically this is not a requirement.
Automatic machines do not have a list of recipes. Most automatic machines require fuels - examples of machines like this include the Furnace, Grinder, Liquid Press and Campfire.
Generators are not strictly machines but should be mentioned here since they are more like machines than simple inventories. These machines spawn resources over time - included in this list is the Fish Trap, Beehive, Planter, Compost Heap and Shellfish trap.
If you want to create a generator, the best approach is to simply copy one of the existing ones and adjust the logic in the Event-Graph to match what you want to do. I recommend basing it on the Beehive blueprint.
All crafting machines inherit their datastructure from the BP_PL_Crafting_Station blueprint. In this section, we'll go through the datastructure and components of a crafting machine.
It's worth noting that there are entries in the structure that will not be gone over in this guide - the reason for that is that those entries are modified while the game is running (for example - the "Current Artisan Thrall Item" is by default set to "None" and is modified when the player sets a thrall into the machine).
In this guide we will NOT go over the following entries in the Components window:
BuildSockets
PlacementCheckBox
CheckCornersBox
CheckForContactBox
ExclusivePlacementSphere
OverlappingBuildingBlockerBoxCheck
DirectionIndicatorMesh
Can Be Rotated, Can be Height-adjusted and Can be Tilted - If these checkboxes are on, it means that the station can be adjusted when placing it. This is on by default and there rarely is a reason to touch it.
Place on wall - If this is checked, it means that the machine needs to be placed on a wall. You will likely need to adjust the "PlacementCheckBox" in the components window for this if you want to use it.
Max Tilt Angle - This determines the maximum angle that the player can tilt the machine when placing it in the world. It defaults to 10 degrees, which usually is enough.
Show Direction Arrow - When placing the machine and this is checked, it shows the direction arrow while placing it. It is a pretty good idea to use this if the machine has thralls and it's not immediately clear where the thrall will be placed.
Can be dismantled - If this is not checked, the machine cannot be dismantled and will need to get destroyed.
Can stack on top of self - If this is checked, it means that it can be placed on top of another machine of the same type.
Place only in water - If this is checked, you can only place the machines submerged in water volumes.
Place on Ceiling - If this is checked, you can only place the machine hanging from the ceiling.
Sound Crafting Started - Once a recipe has started, this is the sound-cue that is played.
Sound Crafting Ended - Once a recipe has been completed, this is the sound-cue that is played.
Is Container Locked - Determines if the inventory of the machine can be accessed without unlocking it. This really should be left alone unless you have a specific reason why the machine should be locked by default.
Is Container Lockable - If you can lock and lock the machine. Again - if you have specific reasons to meddle with this, go ahead, otherwise, leave it as is.
Map Marker Icon - If you want the crafting machine to appear on the map, you should assign an icon to it - this is typically only the case for Tier 3 altars though.
Crafting groups - this is arguably the most important aspect of your crafting machine. Each crafting machine has an array of crafting machine ID's (typically only one) which are checked against the Recipes Table.
As an example - the default - the Woodworking bench has the ID 89401 - if you assign this specific ID to your machine, it means that any recipe using the ID 89401 as a required machine can be crafted in your machine as well. If you are making a completely new machine with unique recipes, you should make this ID unique.
Once you have assigned a unique ID to your machine, you should also add the ID to the CraftingStationNameTable. This will make it so the correct name for the machine appears when you use the machine.
Destructible Mesh - If you want the machine to have a destructible mesh, here is where you set it up. If you don't know how to create a destructible mesh, there are plenty of excellent guides online on how to do so (you don't need any modelling experience to do this).
Upgrade Targets - If you have a machine that can be upgraded to another machine, this is where you set it up. You will need to create a special recipe for that which we will not go over here, but you can take a look at the way the Altar upgrade recipes are set up in the Recipes Table to help you along here.
Max Health - this determines how much of a beating your machine can take before it is destroyed.
Do Not Respect Ownership - if this is checked, players can pick up / dismantle the machine even if they do not belong to the same clan the machine does.
Can Take Damage - if this is unchecked, the machine becomes immune to damage.
Ignore Can Damage Player Owned Structure - A candidate for the longest variable name ever, this override allows players to damage this machine even if the server settings says they can't.
Returnable to Inventory - if checked, allows picking the machine back up into the player inventory.
Claim Radius Building and Claim Radius Foliage - these determine the radius of the land claim from the machine is activated on placement.
This should be fairly straight-forward. All you really need to do here is to pick a mesh of your liking and assign it to the station. Note that you only need one of the two.
If your machine has a thrall, here is where you set it up.
Anim to Play - this is a dropdown menu which allows you to select the animation which should be displayed when the machine has a thrall assigned to it.
Skeletal Mesh - unless you are doing something more outside the box, you'll likely want to assign the SK_human_male skeletalmesh to this.
This is a mandatory component that allows inventoryspace for your machine. You might've noticed that the Max Item Count stat is set to -1 by default. This is because the item-slot amount is set in the ItemTable instead of in the blueprint.
PerishModifier - this controls the decay rate of your machine. If you want a machine that reduces (or increases!) the perish rate, this is where you set it.
Use White List – If this is checked, the “Black White List” (see below) is turned from a Black list to a White list
Black White List – This array contains item ID’s. The Item ID’s in this list are the only item ID’s that can’t be placed in the inventory (unless “White list” is checked, in which case these items are the only ones that can be placed in the inventory)
If you are making an automated machine, there is one checkbox in this section that you should be aware of, which is the Is Machine checkbox.
Accepted Fuels - if your machine requires fuels to run, here is where you put the item ID's of the fuels required.. However - the better way of doing this is to add the BP_BAC_UsesFuel component to the machine, where Accepted Fuel Types is better handled.
Burn Time Multiplier - you can modify the rate at which your machine burns fuel here.
Craft Time Multiplier - you can modify the speed machines craft at here.
Craft Result Multiplier - ...and here you can multiply the result items should you want this. Primarily for the Dismantling bench.
Material Use Multiplier – and finally, this allows you to multiply the amount of materials the machine should require for single recipe craft.
Machine Recipes – this array is modified during runtime based on the recipes available for the machine. There’s no need to edit this.
Max Auto Craft Queue Size - The guideline for machines is 6, but you can have less or more if you please.
Machine Banner Image - Automatic machines do not have a recipe-list but instead an image that appears on the right-hand side of the screen. This is where you put which image that is.
Can Convert Thralls - If this is clicked, your machine can also convert thralls. May or may not be safe to use in combination with other settings (untested).
Dismantle objects – this checkbox turns the machine into a dismantling machine rather than a crafting station.
Delve objects – this checkbox turns the machine into a delving bench rather than a crafting station.
Convert in Parallel - This allows machines to perform multiple crafts at the same time, limited by the "Max Auto Craft Queue Size" above
Run by default – this makes it so the machine is running by default (oh rly?). Switching this off makes it so that players need to click the “>” (run) button for the machine to start.
If your machine doesn't use thralls, you should remove this component, as it puts in a UI element for thralls (which doesn't make sense if that is the case).
In order to allow for thralls to be placed in your machine, you will need to open up the table called ProfessionTemplateDataTable.
In this table, you will find two entries of interest:
Bonus Recipes - this array contains all the bonus recipes that the thrall grants access to when placed into the thrall slot of the machine.
Crafting Groups - this array contains the actual crafting machines the thrall can be put into. This list needs to include the Crafting Group of your machine if you want to place the thrall into it.
Making a recipe for the machine is really quite simple. In the Recipes Data Table, you will need to find the recipe you want to assign to the machine and find the entry in the data called Crafting Stations - change this to the Crafting Group ID of your machine, and your recipe will now be possible to craft in your new machine.
Note: A quick word about multiple recipes that end up producing the same thing.. if you have a recipe that you want to make available in multiple machines, you will need to create multiple instances of the same recipe.