0% found this document useful (0 votes)
230 views

CE Modder's Field Manual

Uploaded by

pido
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
230 views

CE Modder's Field Manual

Uploaded by

pido
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 74

Modder’s Field Manual

For Conan Exiles


By Dr. Nash and Friends
Introduction
This guide will hopefully make you disgusting barbarians less stupid- at least when it comes to
modding Conan Exiles. This guide contains Information specific to Conan Exiles (CE) modding,
whereas information about Unreal Engine 4 will be provided via links to external videos and websites.

THIS DOCUMENT IS ETERNALLY UNDER CONSTRUCTION. If you are reading this, that means
you can comment (use right-click). I’d love any feedback!

Contributors
This document has been (and continues to be) a community effort, with seasoned modders donating
their knowledge, and newcomers giving valuable feedback on how to improve the manual. Here are
the people who’ve made contributions large and small:

Senja Codeine
Terrornaut Whiskey
Rob the Swede Testerle
Happy Reaper Eujima
The Sam Dr Goatens
Dustin

Key
BlueprintName Names of specific Conan Exiles blueprint classes will look like this

FunctionName Function Names will look like this

To Do:

- Thing about migrating assets from a 4.15 project

1
Terminology
Mod. Mods are modifications of a video game (in this case, Conan Exiles) which add new content or
alter existing content. Mods for Conan Exiles are created using the Conan Exiles Dev Kit and saved
as .pak archive files.

Dev Kit. A special version of the Unreal Engine version 4.15.3, containing the code, visuals and other
assets of the base game in an uncompressed state. It allows the use of many of the features of the
Unreal Engine, such as the Blueprint visual scripting language, but does not permit the modification of
the game’s C++ code, nor does it allow the use of plugins.

Unreal Engine. A game engine developed by Epic Games, written in C++. It is a vast suite of tools
used by developers to create video games of many genres, across many platforms.

Actor. Any object which exists in the game world during runtime. Actors are often visible objects with
collision, such as a character, but can also be invisible and simply executing game logic behind the
scenes.

Blueprint. A visual scripting language used in the Unreal Engine to quickly and intuitively write game
logic. It is a visually-oriented, accessible approach to C++. An object class asset of the Blueprint type
is also typically referred to as a blueprint (noun).

Class. A template for an object in the world. Classes in Unreal are constructed in either C++ or
Blueprint, and in the latter case, are sometimes referred to as blueprints (noun). Classes are
instantiated into memory as objects during runtime.

Modcontroller. A class of Actor created by Funcom and used specifically for modding Conan Exiles.
Modcontrollers allow you to merge data and add Actor Components during runtime, and are essential
for modding in a compatibility-friendly way.

PAK File. The compressed version of your mod used by the game. PAK files are encrypted and
cannot be edited directly. The PAK file is created during the cooking process described later in this
guide.

2
I. Getting Started

System Requirements

As of January 2020, Epic recommends the following system specifications for using the Unreal
Engine 4:

■ Desktop PC or Mac
■ Windows 7 64-bit or Mac OS X 10.9.2 or later
■ Quad-core Intel or AMD processor, 2.5 GHz or faster
■ NVIDIA GeForce 470 GTX or AMD Radeon 6870 HD series card or higher
■ 8 GB RAM

Additionally, for the Conan Exiles Dev Kit:

■ SSD or fast HDD


■ ~300 GB drive space for dev kit and project storage

The Dev Kit can be run on a system that does not meet all of these specifications, but you will
experience some severe performance issues. It will be up to you to decide what is acceptable.

3
Download the Conan Exiles Dev Kit

You can find the Epic Games Store app at Epic Games. From there, you will find the Conan Exiles
Devkit in the store under the name Conan Exiles Modkit. Download and install it.

Some important things to keep in mind when installing the Dev Kit:

■ Your Epic Games Store library may be hidden in the launcher by default. If this is the case, you
can enable it in the Store Settings menu

■ Acquiring the Conan Exiles Modkit will add two apps to your Epic Games Store library, one for
the Live branch of the game (“Conan Exiles Dev Kit”), and one for the Testlive branch (“Conan
Exiles Mod Dev Kit Testlive”). To begin with, download the version for the Live branch.

■ Install the Dev Kit to the shortest possible path on the installation drive, such as
C:/ConanExilesDevKit (the default name). Unreal Engine 4 can encounter problems with
longer file path names

Launch the Dev Kit

You can launch the Dev Kit either from the desktop icon, or from your Epic Games library. Note that
the Dev Kit takes much longer to load than other common applications. This is normal.

“Compiling Shaders (XXX) …”

One of the first things you do in the Dev Kit while learning the interface will probably be to press the
Play button.

Playing in the editor (PIE) is covered later in this guide, but it’s worth mentioning that the first PIE
session after a fresh installation of the Dev Kit will cause the engine to load the shaders necessary to
display the game. A message in the lower right-hand corner of the viewport will display “Compiling
Shaders…” along with its progress.

It is not unusual for this to take 30 minutes or more to complete. This is normal and will only happen
once after each installation.

4
II. Dev Kit Basics
This section covers the basics of using the Conan Exiles Dev Kit. It describes some of the differences
between a normal Unreal Engine project and the Conan Exiles Dev Kit. If you’re brand new, digest
this information as best you can and then move on to Creating Your First Mod. You may need to
come back to this section later to fully absorb all of it.

IMPORTANT: The following sections on the basics of the Dev Kit, creating and uploading a mod, do
not assume you have prior Unreal Engine experience. However, newcomers can benefit greatly from
some foundational knowledge about Unreal Engine, so this may be a good time to pause and get that
knowledge. You can find links to Unreal Engine 4 beginner materials in the Unreal Engine & Blueprint
Basics section below. Otherwise, feel free to simply keep reading.

The Default Mod

The first time you open the Dev Kit, it will load a default mod called Test Mod. You can use this mod to
learn the interface and experiment, but you should not use it for any serious work. For that, create a
new mod (see Dev Kit Actions, below).

The Dev Kit Window (a.k.a. Mod Info Window)

In the Toolbar of the Dev Kit, on the far right side, you will find the
The Dev Kit Window button. The Dev Kit Window is where you
define some of the basic information about your mod and how
users will view that information in the Steam Workshop.

Note that this button is specific to the Conan Exiles Dev Kit and
does not appear in the unmodified Unreal Engine.

5
Name. The name of your mod. This will change how the mod name is displayed in the in-game Mods
menu, but will not change the name of the PAK file.

Author. The author or authors of the mod.

Author URL. Link to the author’s website.

Version. This version number is displayed in the Mods menu and is used to compare the version of a
client-side mod to the version installed on a server.

Description. This text is displayed in the Description tab of your mod page on the Steam Workshop.

Change Notes. This is the text that will appear in the Change Notes tab of your Steam Workshop
page. A new Change Notes entry is generated for each upload.

Preview Image. This will be used a the thumbnail image for your mod on the Steam Workshop, and
by default will be used as the first marquis image at the top of your Description page

6
Build Mod for Usage. Clicking the Build Mod button will “cook” the mod into a .pak file, making it
ready to distribute and use. Checking Compress Pak before cooking will reduce the size of the pak
file, resulting in faster downloads and faster load times for users. Clicking on the Choose Assets for
Cook button allows you to browse assets available to be “cooked” (included) in the pak file for your
mod, selecting and deselecting them as you wish. See Shared Assets & the ModsShared Folder
below.

Compile Blueprints. Clicking Compile Modded Blueprints allows you to recompile all modded assets
belonging to your currently active mod (Mods/ModName) as well as any shared assets from your
other mods (ModsShared/ModNames). You are additionally given the option here to re-save all such
assets, once the compile process is complete.

Active Mod Folder. Clicking Active Mod Folder will open the source file location for your mod.
Clicking Built Mod Folder will open the location of your most recently cooked PAK file.

Steam File ID. Generated by Steam and assigned to your mod the first time you upload. This number
is arbitrary, permanent, and can only be changed by forcing a new upload. Clicking the Open
Workshop Page button opens the Steam Workshop page for your mod.

Steam Visibility. Designates what users can see and download your mod on the Steam Workshop.

Steam File ID. Clicking the Upload Built Mod to Steam button uploads your mod to the Steam
Workshop. This cannot be undone, and once a mod is uploaded, it will begin auto-updating to
subscribers. If your mod does not already exist on the workshop from a previous upload, a new mod
ID and description page will be created. Always double-check to make sure you’re ready before doing
this. See Cooking & Uploading Your First Mod below.

Clicking the Update Mod Info to Steam button will update your mod info on the Steam Workshop,
using the updated info from this window. The mod name visible to users in their Mods menu will not
be updated however, as the name is cooked into the PAK file.

Steam Testlive Fild ID. The buttons in this section function exactly like those in Steam File ID, with
one important difference: It will update (or create) your mod on a separate version of the Conan
Exiles Steam Workshop exclusively for the current Testlive version of the game. Players using the live
version of the game client (almost everyone) will not be able to use this mod.

Dev Kit Actions

In the Toolbar, The down-arrow button to the right of the Dev Kit
Window button will give you a small handful of options:

Select Active Mod. This is how you switch between mods. Note that
this requires a Dev Kit restart, and will move the Active.txt file to the

7
windows source folder of the mod you are switching to (see Active.txt, below).

Create a New Mod. Allows you to create a new mod. This will prompt you to enter a name for your
new mod and then restart the Dev Kit.

IMPORTANT: The name you give your mod determines the name of the PAK file as well, and this
cannot be changed later. Make sure to give this some thought and choose a unique name.

Open Documentation Web Page. Opens the official Conan Exiles Wiki article on Modding.

Playing in the Dev Kit

You can play with your mod in the Dev Kit, which by default will load the player into a level called
AlmostEmpty. This level has all of the features and game mechanics of Conan Exiles, but uses a
bare bones map with a simple plane surrounded by a default skybox.

In addition to that, you have some options to choose from that affect the environment in which you
play.

Modes. At the top of the Play menu, you can


select where your session is displayed. Most of
the time, you’ll be using either Selected Viewport
or New Editor Window.

IMPORTANT: You will experience crashes or


other issues when attempting to use Mobile
Preview, Standalone Game and Simulate. It is
not recommended to use these modes for testing
Conan Exiles mods.

Multiplayer Options. Changing the Number of


Players to 2 or more will allow you to test
multiplayer game mechanics and test for
replication. The Dev Kit will launch a new Play In
Editor (PIE) window for each client beyond the
first.

Run Dedicated Server. With this checkbox


unchecked, you will be simulating a single-player
or co-op environment. If it is checked, you will be
simulating a dedicated server environment.

8
Managing Your Mod Files

The files for your mod are kept in two locations:

Source Folder. Referred to as the Active Mod Folder in the Dev Kit window, your source files are
kept here. Original assets are stored in the Local subdirectory, while edited base game assets are
stored in the Content subdirectory. Your modinfo.json file can also be found here.

Built Mod Folder. Your mod’s PAK file is kept here. When you upload your mod to Steam, this is the
location the PAK file is sourced from. Both your Active Mod Folder and Built Mod Folder can be
located by clicking the respective buttons near the bottom of the Dev Kit Window.

IMPORTANT: These folders are used by the dev kit to identify your mods and make them available to
be edited and published. If they are deleted or lost, you will no longer be able to edit your mod, so
make periodic backups!

Additionally, it can be helpful to create desktop shortcuts to the following Windows directories, as
you’ll be navigating to them often:

■ Mod Folders (source)

■ Built Mod Folders

■ Steam Workshop content folders for Conan Exiles mods

■ The Mods folder in your Conan Exiles (game client) directory

Mods can only be edited using the source files (those found by clicking the Active Mod Folder button
in the Dev Kit Window). PAK files cannot be edited directly, nor can they be extracted into usable
source files.

The Modinfo File

Also found in your Active Mod Folder is the modinfo.json file, which contains some of the basic
information about your mod.

You do not need to alter this file manually, as the dev kit automatically writes to this file when you
makes changes in the Dev Kit Window inside the Dev Kit itself (see The Dev Kit Window above)

To re-upload your mod to a different mod ID for any reason, such as to re-publish it as a new Steam
user or publish a secondary test version of your mod, delete the numerical value given for
steamPublishedFileID so that there is nothing between the quotations.

9
Active.txt

The Dev Kit uses a blank text file, named


Active.txt, to track which mod is currently
being edited. This is how it knows which
mod to open when you launch the dev kit.
When you switch between mods, the Dev
Kit moves the Active.txt file from one
source folder to another.

Active.txt can be moved manually prior to


opening the Dev Kit to save you the time
of switching between mods after the Dev
Kit is launched, but note that there should
only ever be one Active.txt in your Mods
folder. If there are multiple copies across
different source folders, you may
encounter crashes or other bugs.

Content Browser Rules & Mapping

The Conan Exiles Dev Kit redirects reads & writes of assets to the mod's folder on the disk:

■ Original assets found in Content/Mods/<ActiveModName>/ in the Content Browser redirect to


Content/Mods/<ActiveModName>/Local/ in Windows Explorer.

■ If you modify assets in the /Content folder outside of your own mod, they are saved to
Content/Mods/<ActiveModName>/Content/. If the modified asset is deleted from your mod
folder in Explorer, the reads/writes will revert to the default path location.

■ Reads & writes in Content/Mods outside of your <ActiveModName> folder are blocked in the
dev kit (changes can still be made in Windows Explorer, although this is not recommended).

■ Nothing in the Content Browser outside of Content/Mods can be added, moved, deleted or
renamed, with the exception of the ModsShared/ModNames folders, which will be visible and
modifiable regardless of the currently active mod.

■ Due to licensing agreements, some assets purchased from third parties by Funcom cannot be
moved, edited or exported. These will usually be visual assets such as meshes, materials,
textures and particles.

10
Shared Assets & the ModsShared Folder

Below the Mods folder in the Dev Kit Content Browser, you will see a folder named
ModsShared/ActiveModName, as well as a folder for all of your other mods. You can created assets
in these ModsShared folders and share them freely between different mods, allowing you to
consolidate frequently used blueprints, etc. or create API functionality for use by other modders.

In Windows Explorer, you can find these ModsShared assets in your mod’s Shared folder.

The image below shows where your mod’s source files are located in your Dev Kit installation
directory, as well as how the subdirectories relate to how your assets are displayed in the Content
browser:

11
12
Naming Conventions

Conan Exiles assets created by Funcom for the base game follow naming schemes that make them
easy to search for and identify. Following these naming conventions in your mods is voluntary, but is
considered best practice as doing so makes troubleshooting and error log analysis much more
straightforward.

It is also a good idea to give your components individual prefixes related to your mod to avoid
inadvertently giving an asset the same name as an asset in another mod. In some cases, such as
Actor Components, this can cause client and server crashes.

A good naming scheme is ModPrefix_AssetTypeAbbreviation_AssetName

Example: SvS_BP_PL_StygianChair

The above example is the name of a Blueprint for the Stygian Chair placeable in the Shadows of
Skelos Extended Mod by Senja.

Component Abbreviation Component

AC Actor Component

BP Blueprint

DT Data Table

M Material

MC Mod Controller

MF Material Function

MI Material Instance

PL Placeable

SK or SKM Skeletal Mesh

SM Static Mesh

ST Struct

T Texture

13
Other Best Practices

Some other notes about working with the Dev Kit, in no particular order:

■ While playing, you can open the Admin Panel by pressing SHIFT+INS

■ By default, the ESC key closes your Play In Editor session and will not open the main menu
in-game. To rebind the key used to stop a Play In Editor session, open Editor Preferences >
Keyboard Shortcuts and search for the “Stop” keybinding.

■ Avoid using the “Save All” option in the editor. This can cause you to overwrite base game
assets if you have mistakenly made even a minor change to them, such as moving a node.

■ Give everything unique names. As a general rule, avoid giving your objects and variables
names that you think might be used by other mods.

■ Stay organized. Plan out a good Content Browser folder structure for your assets that can
expand as your mod becomes larger, and stick to your plan.

■ Do not, for any reason, press CTRL+Z (Undo) with the dev kit open. This can break all the
references in a data table, wiping out countless hours of work.

■ You can run the RunDevKit.bat file in your ConanExilesDevKit folder to run the Dev Kit without
updating it to the most recent version. This may be helpful if the dev kit is updated
pre-emptively to a version that is not compatible with the current live version of the game.

■ You should make frequent backups of your mod source files and save them externally, in case
the unthinkable happens

■ You can find the database and save data (including logs) for your Dev Kit play sessions in:
X:/Users/<YourUserName>/AppData/Local/ConanSandbox/Saved

■ You can disable real-time thumbnail previews in your Content Browser by clicking on the View
Options button and unchecking the Real-time Thumbnails option. Doing this can provide a
major performance boost when running the dev kit, even on high-end PCs.

14
III. Creating Your First Mod
In this section, we’ll guide you through getting your feet wet by creating a very simple mod. This mod
will:

■ Add a ModController to the game. A ModController is a special kind of object that you can
think of as the home base of your mod. In layman’s terms, it is an invisible actor that can be
referenced by any other actor or process in the game during runtime.

■ Add a new type of broadsword item and modify it to use the attack combos of the One-handed
axe

■ Create a new NPC that can be spawned in the game

■ Equip your new NPC with your custom broadsword

IMPORTANT: You should not upload the mod we are about to create, unless you decide to choose
different, unique names for all of the assets created during the guide.

Step 1: Setup

First, let’s create your mod, set up some folders in the Content Browser, and create the assets you’ll
need to get your mod functioning.

1. Click on the Conan Exiles Dev Kit button near the top of the screen and select Create a new
mod…

15
2. Create a new mod called MyFirstMod. If you think you might ever publish the mod we’re about
to create, choose a unique name. Changing the name of a mod is a big undertaking, so always
put a lot of thought into this step.

3. Create folders for your assets in the Content Browser, one called Blueprints and one called
DataTables.

4. In your Blueprints folder, create a new blueprint class, choose the Modcontroller class, and
name it MC_MyFirstModcontroller. As mentioned in the Terminology chapter above,
ModControllers are a special class of Actor who perform some very important functions critical
to modding in a compatible way. Almost every mod you create and publish will have at least
one ModController.

16
5. In your DataTables folder, create a new Data Table asset by right-clicking in the folder view
space and selecting Data Table from Create Advanced Asset > Miscellaneous. Use the struct
type ItemTableRow and name it MyFirst_ItemTable.

17
6. Create another Data Table asset using the SpawnTableRow struct type, and name it
MyFirst_SpawnTable.
7. Create one more Data Table using the EquipmentTemplateTableRow struct, and name it
MyFirst_EquipmentTemplate.

What we’ve done here is create some supplemental data tables. Later in this tutorial, we’ll use our
ModController to tell the game to merge our supplemental data tables into the base game’s tables,
allowing us to add rows to them without editing them directly, which causes compatibility issues.

Step 2: Create a new Broadsword item

Next, we’ll create a modified Broadsword item:

1. Open the base game ItemTable data table asset in the editor, and search for Iron Broadsword.

2. Right click anywhere in the row and select Copy Rows.

3. Open your MyFirst_ItemTable. Right click anywhere in the Data Table space, and select
Paste Rows. You’ve now created a duplicate of the Iron Broadsword row in your mod’s item
table.

4. We are going to change three things about this item:

a. Change the Row Name to some unique number. In our image below, we’ve used
995995. NOTE: Item Table row names, a.k.a. Item Template IDs, cannot be
longer than 9 digits

b. Change the name of the item itself to Special Iron Broadsword

c. Change the Visual Object to Axe1h

18
Step 3: Create a new NPC

1. Open the base game SpawnDataTable asset in the editor and search the data table for
Exile_Fighter_1_Cimmerian. This is the basic NPC data for the Exile T1 Cimmerian fighter
NPC in the game.

2. Right click anywhere in the row and click Copy Rows.

3. Open your MyFirst_SpawnTable. Right click anywhere in the Data Table space, and select
Paste Rows. You’ve now created a duplicate of the Exile T1 Fighter row in your mod’s item
table.

4. As before, we are going to change some things about this new row:

a. Change the Row Name to Exile_Fighter_1_Special

b. Change the Name of the NPC to Special Cimmerian Exile

c. Delete one of the elements of the Equipment Template array, and change the
remaining element to Exile_Gear_Special

Step 4: Create an Equipment Template for the NPC

1. Open your MyFirst_EquipmentTemplate data table in the Editor

19
2. Add a new row by clicking the + icon at the top left corner of the Row Editor and name it
Exile_Gear_Special to correspond to the Spawn Data for your NPC.

3. Add an array element to Main Hand, and assign it the row name you used for your special
broadsword (995995 in our case).

4. Add an array element to Legs and assign it the row name for the Light Wrap item from the
base game, 52004.

Step 5: Merge your data tables using your ModController

1. Open your MC_MyFirstModcontroller in the Editor.

2. Click on the Mod Data Table Operations tab.

3. As shown below, create three Merge Data Tables Nodes and link them together using the
execution (white) pins:

a. Node 1: Merge Into: ItemTable. To be Added: MyFirst_ItemTable

b. Node 2: Merge Into: SpawnDataTable. To be Added: MyFirst_SpawnTable

c. Node 3: Merge Into: EquipmentTemplateDataTable. To be Added:


MyFirst_EquipmentTemplate

20
4. Compile and save your MC_MyFirstModcontroller.

Step 6: Test your mod

1. Using the Play button, either above the Viewport or in the Editor, test your mod. If this is your first
time playing a level, the Dev Kit will need to build some assets, which may take quite a while. This
only needs to happen once per installation, however.

2. Open the admin panel (Shift+INS). You should now be able to search for and spawn your new
NPC using its row name, Exile_Fighter_1_Special. Note that it will attack you when you spawn it!

3. If you’ve completed the above steps correctly, your fighter NPC will be wearing a light wrap and
will attack using your special broadsword with one-handed axe attacks.

21
IV. Cooking & Uploading to Steam
These are some best-practice steps to follow each time you publish your mod:

1. Save your Steam Workshop Description

When you upload, your mod description will automatically be updated to whatever text you have
typed into the Description field in the Dev Kit Window, even if it is blank. This means that if you’ve
created a personalized description on Steam using BBCode with links, images, etc., it will be lost
when you upload from the Dev Kit. Make sure you save your description to a google doc or
something similar.

2. Check for Overwritten Base Game Assets

Click on the Active Mod Folder button in the Dev Kit Window, and navigate to the Content subfolder in
Windows Explorer, if it exists. This folder (and any subfolders) contains any base game assets which
you are overwriting with your mod.

It is extremely important to check here before each upload to make sure you haven’t mistakenly
overwritten a base game asset, which is as easy as making a minor change and then saving it.
Overwriting base game assets can cause bugs and compatibility issues with other mods.

3. Check Assets for Cook

In the Dev Kit Window, click on the Choose Assets for Cook button, and make sure no unneeded
shared assets from other mods are being included when you cook your mod.

4. Save Your Current PAK File

Before uploading, save a copy of your .pak file for the current version of your mod.

This is a good habit to get into in case your users become locked out of a server due to a version
mismatch. This is a common situation because Steam automatically pushes mod updates to
subscribers, but does not automatically update game servers.

How you choose to make your old PAK file availables to users is up to you, and will depend on the
size of your user community.

22
5. Check Your Steam Account

Make sure you’re logged into the right Steam account if multiple people use your PC.

Also note that a valid Conan Exiles key must be present on the account. If you play the game using
Steam’s Family Sharing feature, you will need to purchase the game before you can upload mods to
the Steam Workshop.

6. Cook Your Mod

To cook your mod, open the Dev Kit Window. Make sure the Name field contains the name you want
users to see in their Mods menu. In most cases, you will want to check the Compress .pak checkbox
to make your mod size as small as possible.

Once you’re happy with your settings, click the Build Mod button.

7. Upload Your Mod

Double-check all of your mod info in the Dev Kit Window to make sure it’s correct and up-to-date.
Make sure you’ve selected the right Visibility setting (Public in almost every case), then click Upload
Built Mod to Steam.

23
V. Mod Compatibility

Staying Up to Date

Mods can often break after updates to the base game of Conan Exiles. Sometimes, the only way to
fix this is by downloading an updated version of the devkit corresponding to the latest version of the
game, and re-cooking your mod.

The devkit is usually (although not always) updated several days in advance of a base game update.

Overwriting vs. Runtime Changes

It is important to know the difference between modifying a base game asset, such as a Blueprint
class or data table, and making equivalent changes during some process at runtime. As mentioned in
previous sections, your mod’s assets are stored in the Content/Mods subfolder of the UE4 Content
Browser. Any assets in any other subfolder are base game assets and should not be overwritten
except as a last resort when all other methods have been exhausted.

The reasons for this are twofold. First, any base game asset you overwrite will be “frozen” in that
version and will not reflect changes from any base game updates in the future (if it is a Blueprint
class, it will inherit any changes from updated parent classes, however). This can cause
game-breaking bugs that make your mod unusable.

Second, an asset can only be modified by one mod in a game’s load order. If multiple mods modify
the same base game asset, only the mod that is loaded last (lowest in the load order) will have its
version of that asset used by the game during runtime. At a minimum, this will cause other mods to
lose functionality. It can also cause bugs or crashes in other parts of the game.

For example: Let’s say you want to make a small change to the way the basic crafting stations in
Conan Exiles function. You edit the BP_PL_CraftingStation class, save your change and publish
your mod. Your mod probably works fine at this point! However, your changes will be incompatible
with any other mod that makes changes to that base class. Additionally, any changes made by
Funcom to that base class in the future will not be applied to your mod, because you have frozen that
class in time.

As you become more familiar with how CE’s base game systems work, it will be easier to develop
solutions to problems that keep you compatible with other mods, as well as future base game
updates.

24
Mod Load Order

Conan Exiles loads mods in order from the top to the bottom of the game’s mod list, with lower mods
taking precedence over those higher up. If two or more mods in the list modify the same base game
asset, the version of the asset provided by the mod furthest down will be the one used by the game.

In most cases, this will not cause crashes, but can cause features of some mods not to function

Players and server admins can manually configure the mod list of a game by editing the modlist.txt
found in the Content/Mods folder of the game directory. The mod list in that text file follows all of the
rules mentioned so far.

Additionally, modlist.txt entries can point to either a mod in your Steam Workshop content directory, or
a manually installed mod. For example:

*X:\steam\steamapps\workshop\content\440900\880454836/Pippi.pak

*X:\steam\steamapps\workshop\content\440900\2019092080/Emberlight.pak

Emberlight_Lament.pak

The first two lines in the list will use the mods found in the location of the user’s Steam Workshop
directory. PAK files kept in those folders are updated automatically by Steam. The third mod, which is
simply listed as the file name with no path, will use the PAK file found in Content/Mods, alongside the
modlist.txt file itself.

If a player starts the game client, and the game cannot find the correct PAK files in the locations
indicated by the modlist, they will receive an error, and that mod will be removed from the modlist.

Using the ModController

The ModController blueprint class created by Funcom serves two very important purposes for
compatibility. It allows modders to take the following actions without modifying base game assets
directly:

■ Add, remove or replace Data Table rows in the Mod Data Table Operations tab

■ Add Actor Components to Actors

You can find a more detailed breakdown of the ModController in the section The ModController
Blueprint Class, below.

25
Mod Data Table Operations

In the Creating Your First Mod section, we showed you how to merge your own supplemental
ItemTable (MyFirst_ItemTable) into the base game’s ItemTable. Please refer to that tutorial if you
need a refresher.

The Mod Data Table Operations graph of your ModController is a space set up to run very specific
functions during the initial startup of the game. These functions exist to allow the manipulation of base
game data tables without requiring modders to directly edit assets, which can create compatibility
issues.

The functions available in Mod Data Table Operations cannot be called from within other blueprint
classes, and only these three functions can be executed in the Data Table Operations graph.

Clear Data Table Clears the entire Target Data Table of all rows. Don’t use this.

Merge Data Tables Combines all rows from the To Be Added Data Table into the Merge Into Data
Table. Some things to keep in mind about this function node:

■ The two referenced Data Table assets must be of the same Struct.

■ Any overlapping row names will be replaced by the To Be Added Data Table. Only entire rows
can be replaced in this way; individual columns of a row cannot.

■ To remain compatible with other mods, your row names must be unique to your mod. Rows
with duplicate row names will overwrite one another according to the mod load order rules
above.

Merge Data Tables with Control Table This node functions similarly to Merge Data Tables,
with one important difference: the ability to use a Merge Control Table to make isolated changes in
specific rows of data table columns. Using this node, modders can alter the way the base game (or

26
another mod) works by tweaking specific data table values while leaving the rest of that row
untouched. To use this node:

1. Set up the first two inputs (“Merge Into Data Table” and “To Be Added Data Table”) exactly as
you would in the Merge Data Tables node. You will want to create a separate data table asset
to use for rows that you want to edit rather than override.

2. Create a new data table using the Data Table Merge Control Row struct. You will use this to
give instructions to the game about how to merge your new data into an existing data table.
Name this data table something appropriate, like MyFirst_ItemTable_MergeControl

3. Open your Merge Control data table and create a single row with the row name
“MergeControl_Default”. It is important to get this row name exactly right.

4. Use the columns of the MergeControl_Default row to indicate which columns of the target data
table should be overridden by default. You must use the exact names of the columns in the
target data table (e.g. “ShortDesc”, “Icon”, etc.) Additionally, data table columns with arrays
(such as required crafting materials in RecipesTable) can have array elements added or
removed using this process.

5. Add additional rows to include specific merging rules for specific rows. For example, if you
want to override the Long Description of the Four-Sided Die item, you would create a row in
your Merge Control Table with the row name 4220 (the ItemTable row name of Four-Sided
Die), and add “LongDesc” to the array of Columns to Override. Note that any columns merged
in this way without their own rows in the Merge Control Table will follow the rules in the
ModControl_Default row.

Some other important notes about using Merge Data Tables with Control Table:

■ Only create one row in your Merge Control data table. Creating additional rows or using a row
name other than “MergeControl_Default” can result in unintended behavior and/or bugs.

■ You will need to create a separate data table asset to use for merging with a control table, as
ONLY the columns indicated by the Merge Control table will be edited. All other columns will
be ignored.

■ For example, if your mod adds new weapons to the game and you also want to change the
properties of an existing base game weapon, you need to make two data tables of the
ItemTableRow structure: one to add whole rows for your new weapon items, and another to
tweak specific properties of base game weapons.

■ Always use the column names without spaces. Even though the Unreal Engine 4 displays
many names with spaces, this is for clarity only, and the correct spelling of column names will
always be without spaces (e.g. “LongDesc”, not “Long Desc”).

27
Remove Data Table Rows Given a Data Table asset reference and an array of Name variables,
removes those row names from the Target Data Table, deleting those rows entirely.

Adding Actor Components via ModController

Another useful tool in the ModController class is the ability to add an Actor Component to an Actor at
runtime without the need to directly modify that class. You can find this in the Defaults panel of the
ModController under Mods > Additional Class Components.

Actor Components and their use are covered in later sections of this guide.

28
In the above example, we are adding an Actor Component class called AC_MyFirstMod to the
BasePlayerChar actor class. Now whenever a character of the BasePlayerChar class is spawned, it
will have an AC_MyFirstMod component attached to it.

You can use such an Actor Component to execute Remote Procedure Calls (RPCs) or add
functionality to the owning actor, all without modifying base game assets.

Some important notes:

■ Always make sure that your Actor Components have their Component Replicates checkbox
set to True in their Defaults panel. If everything seems like it should work, but it’s not working,
it’s probably because you forgot to do this.

■ Actor components added in this way (and in general) must have a unique name. If they have
the same name as an actor component that is included as part of the target’s class, or is
added by another mod, the game or server will crash on startup.

29
VI. Unreal Engine & Blueprint Basics
This guide recommends you learn the basics of the Unreal Engine, which will teach you about some
fundamental concepts and techniques that will be essential for understanding how Conan Exiles
works and how best to plan your mod projects.

To get started learning the Unreal Engine, you will need to download a version of the engine from the
Epic Games Store launcher. Following any of the below tutorial series before getting too far into your
first modding project will give you a huge advantage.

Video Tutorial Series

Making Games with Katie:


https://www.youtube.com/watch?v=iTwxuahe5B4

This series spans about 200 minutes of video, and takes the viewer from downloading the engine
through working with materials and basic behavior scripting.

Website Tutorial

Raywenderlich.com Unreal Engine 4 Tutorial for Beginners:


https://www.raywenderlich.com/771-unreal-engine-4-tutorial-for-beginners-getting-started

This is an easy-to-follow, concise web-based tutorial.

Official Documentation

Getting Started with UE4:

https://docs.unrealengine.com/en-US/GettingStarted/index.html

Epic’s official guide to using Unreal Engine 4 is comprehensive, but includes a lot of information which
is not relevant to Conan Exiles modders, such as creating C++ classes. Nevertheless, individual
sections of this site make for invaluable reference and will be linked throughout this CE modding
guide.

30
VII. Critical Unreal Engine Topics
Before getting too far into your modding journey, you should be familiar with these broad topics, and
be able to answer some basic questions. If you have already gone through one or more of the above
tutorials, feel free to skip to each of the Learning Check sections below and decide for yourself if you
need further reading.

Blueprint Classes & Instantiation

A Blueprint class has one or more instances created in the game world during runtime. This does not
happen automatically, but must be done using a Spawn Actor node or some other process. One
notable exception to this is the Modcontroller Class (see The Modcontroller Blueprint Class, below), a
single instance of which will always be present during games.

A simple way to think of it is this: a Blueprint Class is a template for an in-game object that exists on a
hard drive as part of the game’s data. During runtime, the game creates one or more instances of that
Blueprint in the game world; those instances exist in RAM, and are “living” objects that immediately
start to behave according to their instructions.

For example: BP_NPC_Wildlife_Gazelle is a Blueprint Class, but each gazelle you see in the game is
a separate instance of that class.

Learning Check:

What is the difference between a Blueprint Class and a Blueprint Instance?

Actors & Actor Components

An actor is a class of object that exists in the game world and has game logic which it executes
during runtime. It may or may not have visuals associated with it. A Pawn, which is an actor that has
a mesh and can be controlled by a player or AI, is a child class of the Actor class.

An Actor Component is a sub-object which can be attached to an Actor, either in Blueprint or during
runtime using script.

An example of an Actor class is BasePlayerChar, the class of all player characters in the world. An
example of an Actor Component class is the Character Customization Component, which controls all
the visual and other info of characters in the world, such as name and race.

31
Actor Components (or ACs) are a common, versatile tool for implementing new functionality in Conan
Exiles, as they allow you to give new behavior to existing base game objects without modifying base
game assets.

Resources:

https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/Actors/Components/index.html
https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/Components/index.html

Learning Check:

What is the difference between an Actor and an Actor Component?


What is the difference between an Actor Component and a Scene Component?
How do you add an Actor Component to a Blueprint Class in UE4?

Class Inheritance

Object classes (in both C++ and Blueprint) follow a parent-child hierarchy. Creating a child of an
existing class allows you to expand on its behavior and better organize complex projects. It also
saves time, as you can change a property in many classes by simply changing that property in their
shared parent class.

Almost all Blueprint classes have a parent class from which they inherit some properties or behavior.

Resources:

https://docs.unrealengine.com/en-US/Engine/Blueprints/BP_HowTo/BasicUsage/index.html
https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/Types/ClassBlueprint/index.html

Learning Check:

What is the relationship between C++ classes and Blueprint classes?


What is the relationship between parent and child Blueprint classes?

Pawns & Controllers

According to the official Unreal Engine 4 documentation, “The Pawn class is the base class of all
Actors that can be controlled by players or AI.” In Conan Exiles, this includes all NPCs as well as the
BasePlayerChar class.

Usually, a pawn is possessed by a controller at the moment it spawns, and a pawn can be possessed
by multiple controllers during its existence.

32
Resources:

https://docs.unrealengine.com/en-US/Gameplay/Framework/Pawn/index.html
https://www.youtube.com/watch?v=UwZOw5KmRno

Learning Check:

What is the relationship between Pawns and Controllers?


What is the difference between a Pawn and a Character?
How many Controllers can a Pawn have?
Which Conan Exiles Blueprint classes inherit from the Pawn class?

Replication

Replication is the term for a range of processes which communicate information across a network
during a multiplayer game.

Let’s discuss a couple of examples:

If two players are logged into a dedicated server to play Conan Exiles, there are actually three games
running: the server’s game, and each client’s game. Most important processes, such as calculating
damage and updating character information, occur on the server and then the results are replicated to
clients, updating them on the state of the game.

If those same two players are playing a co-op game, it’s quite a bit different. In that situation, the
player hosting the game is the server (called a Listen Server), while the player joining the game is a
client.

These are very different environments, and you will need to make sure your scripts work correctly in
both, while being mindful of other considerations such as server CPU usage and network traffic.

The good news is that, very often, Conan Exiles’ existing systems will handle replication for you. If
you are simply adding new variants of things that already exist in the game, such as buildings or
weapons, you won’t need to think about replication. But the more advanced and experimental your
mods get, the more you will need to manage replication yourself.

Resources:

https://docs.unrealengine.com/en-US/Gameplay/Networking/index.html

Learning Check:

What are the two main ways in which Actors are replicated over a multiplayer network?
Why is efficient replication important?

33
What is the difference between a dedicated server and a listen server?
What is the difference between a Run on Server event and a Multicast event?
What is a Remote Procedure call?

Meshes, Materials & Textures

As a 3D game, Conan Exiles’ visuals are rendered using Static Meshes and Skeletal Meshes. These
meshes are wrapped in another type of asset called a Material, which gives them their color,
reflectiveness, etc.

Resources:

https://docs.unrealengine.com/en-US/Engine/Content/Types/index.html

Learning Check:

What is the difference between Static Meshes and Skeletal Meshes?


How are meshes attached to actors?

34
VIII. Other Asset Types
In addition to Blueprint Classes, there are several other UE4 asset types commonly used in Conan
Exiles that you should be familiar with.

Struct

From the UE4 documentation: “A struct is a collection of different types of data that are related and
held together for easy access.” Essentially, a struct is a single variable containing a number of other
variables.

The most basic use of a Struct is to store groups of variables together so they can be referenced as
one object, which saves time and helps you stay organized. Structs are also used to define Data
Table rows.

For example, the ItemTableRow struct is used to define the ItemTable data table, which contains
crucial information about all the items in the game.

Resources:

https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/Variables/Structs/index.html
https://www.youtube.com/watch?v=2-tCCtkX1sk&t

Data Table

Data tables let you set up constant (not variable) data for easy reference by your scripts.

An example of a Data Table in Conan Exiles is the ItemTable, which is based on the ItemTableRow
struct.

Resources:

https://www.youtube.com/watch?v=nt1hlJO-DPo

Enumeration (Enum)

An Enumeration is a list of constant values, and is often used to implement a switch or a selector. An
example of an Enumeration in Conan Exiles is E_CharacterState, which the game uses to track the
state of a character with values such as Dead, Emoting, etc.

Resources:

35
https://www.youtube.com/watch?v=yVx8sTO43gc

Widget

Widgets are User Interface elements, usually created in the Unreal Motion Graphics (UMG) UI
designer. They are used to design interfaces such as HUDs and menus.

Resources:

https://docs.unrealengine.com/en-US/Engine/UMG/index.html

36
IX. Conan Exiles Actor Classes

ModController

In addition to the functions mentioned in Mod Compatibility, the ModController class can be used as
a central place to manage variables and execute scripts. It has a persistence component for saving
data to the game’s database (see Persistence Components, below)

ModControllers always exist in the world during runtime on the server and all clients. Only one
instance of a ModController class can exist at any time, though a mod can have any number of
individual ModController classes.

Characters

Character blueprints are some of the most complex in Conan Exiles, and include everything from
boss characters to passive prey animals to the player character. They are also quite modular; many
of the most important properties and functions of CE characters can be found in their actor
components.

There are two main “branches” in the character class inheritance tree: one that adds the functionality
for the player character (Base Player Char) and one that adds functionality for NPCs (Base NPC) and
all of its child classes. See the diagram below for a more in-depth visualization of this.

There are many properties and functions common to both the Base Player Char class and the Base
NPC classes; these include buff system functionality, movement and combat, and can be found in the
Base BP Combat class.

Character Class Inheritance

Conan Exiles’ character blueprint classes use the Unreal Engine 4 Pawn class as their base. See the
diagram below for more information on how these classes inherit from one another.

37
38
Base Player Char

The character blueprint class controlled by the player during gameplay is Base Player Char. When a
player character spawns into the game either because they’ve logged in or because they’ve died and
respawned, the character they control is an instance of the Base Player Char class.

This class is always possessed by a Player Controller class named FunCombat Player Controller.

NPC Character Classes

[WIP]

Character Stats

All character stats and attributes, from the six major ones that players are familiar with like Strength
and Grit, to more behind the scenes properties, are defined in C++ and separated into Int Stats and
Float Stats.

The following tables may be incomplete, as the game has changed over time, and many stats have
been added, depreciated, or had their usage altered. If you see any incorrect information here, please
right click on it and leave a detailed comment.

Int Stats

# INT stat name Usage

0 Health Max Maximum health of the character (can be set independently of Vitality)

1 Health Current Current health of the character

2 Feat Points Used The amount of feat points spent to buy feats

3 Feat Points Total The character’s current maximum feat points, based on it’s level

4 Level Character level

5 Stamina Current Current stamina of the character

6 Stamina Max Maximum stamina of the character (can be set independently of Grit)

7 Consciousness Current

8 Consciousness Max

9 Thrall ID

10 Thrall Tier

11 Gender

39
12 Knockback Defense

13 Faction

14 Attribute Health This is the Vitality attribute for players, NOT raw health

15 Attribute Stamina This is the Grit attribute for players, NOT raw stamina

16 Attribute Encumbrance

17 Attribute Might The Strength attribute

18 Attribute Accuracy

19 Attribute Athleticism The Agility attribute

20 Attribute Metabolism The Survival attribute

21 Attribute Resilience No longer in use

22 Item Container Size

23 Health Bar Style

24 Endurance Current

25 Endurance Max

26 Stagger Resistance

Float Stats

# Float Stat Name Usage

0 Thrall Crafting Speed

1 Thrall Crafting Cost

2 Thrall Crafting Fuel

3 Thrall Entertainer Potency

4 Damage Modifier Melee

5 Damage Modifier Ranged

6 Natural Armor

7 Thrall Cleanse Potency Thrall corruption cleanse potency

8 Thrall Cleanse Limit Thrall corruption cleanse limit

9 Armor

10 Encumbrance Weight Used to set thrall item weight

40
11 Killed XP Modifier

12 Current Encumbrance

13 Temperature Modification No longer in use

14 Penis Scale Multiplier

15 Knockback Fragility DR

16 Knockback Threshold DR

17 Building Damage Multiplier

18 Creature Damage UI

19 Creature Penetration UI

20 Endurance Damage Resist

21 Stagger Speed Reduction

22 Heat Insulation Used for heat protection on equipment

23 Cold Insulation Used for cold protection on equipment

Buildings & Placeables

Actors placed in the world by players using Conan Exiles’ building system fall roughly into two
categories: buildings and placeables. Both of these types of actors share the Buildable Base class,
but diverge early on in their inheritance scheme and behave quite differently. See Buildings vs.
Placeables below for a breakdown on how these two classes differ.

Much of the functionality of buildables is coded in C++ and is not accessible to modders. That said,
many of the C++ functions can be overridden in Blueprint, and many of their properties (such as the
boolean CanBeDamaged) can be accessed from other blueprints.

Building & Placeable Inheritance

The base class for all buildings and decorations, Buildable Base, inherits directly from the UE4 Actor
class. See the diagram below for a breakdown of these blueprint classes.

41
42
Buildings vs. Placeables

It is important to draw a distinction between Buildings and Placeables in Conan Exiles:

Building Bases...

■ Are single actors made up of building pieces which snap together into larger
structures
■ Can support decorations (placeables) as well as additional building pieces

Placeables...

■ Are individual actors placed in the world


■ Snap to building pieces in some cases (doors) but cannot serve as a snap point
for other decorations
■ Offer no support and cannot have building pieces placed on them
■ Can support other decorations, e.g. placing dishes on a table, if collision allows

BP Building Base

When a player begins building with building pieces in Conan Exiles, the first piece they place (usually
a foundation) creates a BP Building Base actor in the game world at that location. As you snap more
building pieces to that initial foundation, new actors are not created (with one exception; see below).
Instead, Instanced Static Mesh Components (in this case a child class named Instanced Building
Static Mesh) are added to the existing BP Building Base actor. This reduces the number of draw
calls required to render a player build in-game.

NOTE: Adding enough building pieces to a BP Building Base


actor will eventually cause it to split, creating a new actor. This
new actor is also of the BP Building Base class and is slaved to
the original building base actor, called the Root Master Building.
The slaved building bases store a reference to their Root Master;
however, the Root Master does not keep a register of its slaved
building bases.

If you are manipulating the building system in your mod, you can use the Get Root Master
Building function to get a reference to the master building. If the building base being referenced is
the master, it will return a reference to Self.

BP Master Placeables

[WIP]

43
44
X. Conan Exiles Component Classes

Persistence Components

Many actor classes in Conan Exiles, such as players, NPCs and buildings, have a Persistence
Component used to store data associated with an actor instance to the game.db database. If you
want to save special properties to characters (such as a mana value, etc.) or mod settings configured
by administrators, this is the node you’ll use.

If an actor has a Persistence Component, you can use


the Set Dirty Flag function in the component to
commit any data associated with the actor to the
database.

[WIP]

Important Notes about Persistence

■ Only variables with their Save Game property set to True will be saved to the database when
this node executes.

■ To save the value of actor properties while playing on a dedicated server, you must be
executing script on the server.

■ Saving extra data to player-owned thralls using the persistence component will cause those
thralls to fail to spawn should the mod responsible for that extra data ever be removed from the
server. For example, if your mod gives a mana value to player thralls and you use the
Persistence Component to save their mana value between server restarts, and then your mod
is uninstalled, those thralls will remain in the game.db but will fail to spawn until your mod is
reinstalled.

45
Character Customization Components

Player characters and humanoid NPCs have a Character Customization Component that controls
the appearance of the character. These components work in conjunction with the Character
Assemble Library and player/NPC data to apply the correct visuals when the owning character is
spawned.

46
XI. Other Conan Exiles Object Classes

GUI Module Controller

The GUI Module Controller is a client-side object that controls the behavior of the game’s various
menus, crafting screens, HUD elements, etc. The UI Module Table data table contains the specific
properties for each module.

You can get a reference to the GUI Module Controller in any event graph using the Get GUI
Module Controller function. Note that the GUI Module Controller only exists on the client. If it is
called in a script executing on a server, it will return None.

IMPORTANT: Any widget blueprint class you create for your mods (for example, a mod settings
panel) must be reparented to the Window Root class in order for Funcom’s GUI Module Controller
to interact with it. You can do this at any time, even after you’ve added script or widget elements, as
reparenting in this way will not cause you to lose any work within the blueprint.

47
Useful Functions

Get Module Given a GUI Module name, returns a reference to that module. This reference can be
used to bind events.

Is Module Active Given a GUI Module name, returns a boolean value depending on whether or
not that module is currently active.

Activate Module Given a GUI Module name, activates or deactivates that module, and returns a
reference to the widget associated with it. Note that widget blueprints can only interact with the GUI
Module system in Conan Exiles if they inherit from the Window Root class.

Funcom Function Library

This function library contains various functions accessed by many different blueprint classes
throughout the game.

[WIP]

Character Assemble Library

The Character Assemble Library contains many shared functions used by different blueprint
classes to apply customization data to characters and render them in the game. It is responsible for
translating customization data (such as eye color, hair style, etc.) into the skeletal meshes that you
see in the game.

Useful Functions

Set Character Layout commits changes to a humanoid character’s meshes, tints, etc.

Fun Combat Player Controller

The player controller class used by the game to handle player input and possess the Base Player
Char actor class is Fun Combat Player Controller.

Useful Functions

Notification Text Will display a message to the player on the right-hand side of the screen,
using the game’s standard visuals.

48
49
XII. Conan Exiles Data Tables
Many of the game systems in Conan Exiles are data-driven, meaning they function based on the
information found in Data Tables. Data Tables are static; their values cannot be changed during
runtime.

Item & Crafting Data Tables

Gameplay and character progression in Conan Exiles center around items, whether looted or crafted.
Much of the crafting system in the game is data-driven, meaning information about item properties,
crafting stats and magical bonuses are stored in data tables and looked up by actors, such as crafting
benches, during gameplay.

Feat Table

The Feat Table defines every knowledge feat in the game, with the exception of DLC feats. Browsing
Funcom’s base game feats should give you an idea of the information that needs to be included with
a Feat, but here are some things to note:

Feat Table Columns

Property Name Description

These properties are straightforward and affect how the feat appears in the
Feat Name, Description, Icon
Knowledge Menu

Feats with this property checked will be granted to all player characters when they
Give on Spawn
enter the game.

Level Requirement The character level required to purchase the feat.

The cost of the feat, in Knowledge Points. You will usually want to have a feat cost
Feat Cost
of at least 1, as a feat cost of 0 causes some visual issues in the knowledge menu.

The category tabs your feat will be displayed in. If you do not set at least one
Categories category, players will only be able to find your feat in the Search tab of the
knowledge menu.

The feat required before this feat can be purchased. If you add a feat ID to this
Prerequisite Feat
array, your feat will appear alongside its prerequisite feats.

An array of recipe IDs. These are the recipes that will be granted to the player
Reward Recipe
character when they learn a feat.

Feats with this box unchecked will be hidden in the knowledge menu until it is
Show in Feat Window
granted to the player character.

Feats with this box checked will be hidden in the knowledge menu, even if granted
Always Hidden in Feat Window
to the player character.

50
Determines the placement, from top to bottom, of the feat in the knowledge window.
Corner Stone Level
This only applies if the feat does not have a prerequisite feat.

Recipes Table

The recipe table contains a row for each crafting recipe in the game, including hand-crafted items and
those crafted at stations, regardless of the type of station. Like Feat Table, Recipes Table does not
include any DLC content.

Recipes Table Columns

Property Name Description

Recipe Name, Short Desc, These properties are straightforward and affect how the recipe is displayed in the
Icon crafting menus.

Recipe Type

These properties are straightforward as well.


Time to Craft, Tier, Craft XP
EDITOR: Is “Tier” in use?

A reference to the Crafting Group property of placeable crafting stations. If the


Crafting Stations Crafting Stations property of a recipe matches the Crafting Groups property of a
station, the recipe will be available at that station.

Building Module

Setting this to True causes the crafting station to destroy itself when the recipe is
Destroy Station on Complete
completed.

Recipe Item Flags

Ingredient ID, Ingredient Up to 4 pairs of Item IDs and quantities (as integers). These are the required
Quantity materials and their quantities required to craft the recipe.

Catalyst ID

Four output items (by Item ID) can be defined in these columns, along with quantities
Result ID, Result Quantity,
as integers. The weights allow you to set your recipe so that some results only have a
Result Weight
chance to be spawned in the output inventory.

Thrall Recipe Feat


Requirement

Is Thrall Machine Recipe

Is Recipe Enabled Allows you to disable this recipe without needing to delete the data table row.

Map Marker Icon

A Name property. When your recipe is completed, the Journey system will award this
Exiles Journey Trigger
journey step to the player character who initiated the crafting process.

DLC Package For use by Funcom in tagging DLC content.

51
Item Table

The Item Table structure is massive and complex enough to warrant its own document elsewhere, so
we will simply cover some of the foundational properties as well as those relevant to the game’s
crafting mechanics:

Item Table Columns

Property Name Description

Items Category

Name, Short Desc, Long These properties are straightforward and affect how the item appears in the GUI
Desc, Icon

The blueprint class for the inventory item itself. This must be BP Game Item or one of
Item Class
its child classes.

The blueprint class of the Building Base to be placed in the world, if the item is a
Building Class
building foundation.

The blueprint class to be used for defining weapon combo type, hit detection area,
Visual Object
etc.

Max Stack Size The quantity of this item that can be stacked in a single inventory space.

For Equipment. 1 = Main Hand, 2 = Offhand, 3 = Helmet, 4 = Chest, 5 = Gloves, 6 =


Equip Location
Legs, 7 = Feet, 8 = Two-handed/Dual/Ranged

GUI Category

Item Tags

Visual Static Mesh The Static Mesh asset displayed for a weapon while it is being wielded.

Item Container Size Inventory size for placeable containers

Durability Category Defines important crafting values

Perish Rate The rate at which the item perishes. Higher values perish faster.

Perish to The item that will be spawned when this item decays/spoils

Max Durability

Repair Item, Repair Amount, The item IDs and quantities required to repair this item to full. Repair Item Weight =
Repair Weight ???

A building piece or placeable will be immune to damage dealt by a weapon below the
Affected by Damage Tiers
tier indicated here.

Determines decay timer for a stand-alone item, subject to server settings. E.g. 233 is
Building Piece Score
equivalent to tier 3 shrine.

52
Building Max Health The total HP of a building piece

Repair XP The amount of experience gained when repairing this item to full durability.

Descriptors you can give your item that will appear as bullet points when a player
Modifiers
selects the item. E.g. “Weapon”, “Sunder”, etc. They have no gameplay effect.

53
NPC Data Tables

[WIP]

54
Working with Data Tables

Gameplay in Conan Exiles is very data-driven, so it is important to learn how to work with the game’s
existing tables as well as create your own structures.

Naming Data Table Rows

In the early stages of creating your mod, decide on how you want to number your rows in tables such
as the Item Table and Recipes Table.

IMPORTANT: Numerical data table rows should never be more than 8 digits long. Use the first 3-4
digits of a row for your unique mod identifier and the rest to count sequentially.

Example:

We choose 3040 as our unique identifier after making sure no one else is using that. So our Item
Table rows will look something like:

30400001
30400002

30401001
etc.

IMPORTANT

NEVER use CTRL+Z to undo an action while editing a data table. The "Undo" action (CTRL +
Z) itself cannot be undone and will break most references throughout an entire data table, including
links to icons, blueprints, etc. If this does happen to you, do not save your mod in its current state.
Instead, close the DevKit without saving and restart it.

If you don’t realize this has happened and save your mod afterward, you will be stuck with the
broken references throughout your data table and will need to either manually repair it (potentially a
very time-consuming process) or restore your mod from a backup.

Some ways to keep this from happening to you:

1. Maintain your data tables outside the dev kit using the methods outlined in this section.
2. Unbind the Undo key in the dev kit’s Editor Preferences.

55
Importing & Exporting Data Tables

Exporting to .CSV

It is possible to export data tables from the Dev Kit in CSV format, which can be edited with any
common spreadsheet application. CSV stands for Comma-Separated Values and is a text file
containing each column of the table, line by line, separated by a comma.

Example:

A B C

D E F

The content of the CSV file would look like:

“A”,”B”,”C”
“D”,”E”,”F”

To start the export within the DevKit, right-click on the data table you wish to export and select "Export
as CSV" in the context menu. Now select a location where you want to save the CSV file.

Important notes about exporting to .CSV:

■ Entries within the data tables may contain links to other objects such as blueprints, visual static
meshes, icons or others, and are therefore stored as paths. These should always be left intact.

■ Text that occurs directly in the game, such as the Short and Long Description properties in the
Item Table, are dressed in special tags such as NSLOCTEXT and also contain internal field
identifiers that are needed for localization.

Using .CSV Files

You can use these files to look at the internal structure of Funcom's data tables and reverse engineer
them into your spreadsheet program, e.g. DataTableExporter.

Due to the partially nested structure of the NSLOCTEXT fields, editing the CSV files directly is not
recommended, as it is too easy to delete an inverted comma or put a comma in the wrong place.

Importing From .CSV

A data table can also be imported from a CSV file.

56
To start the import, right-click on your data table and select the option "Reimport" in the context menu.

Now select the location of the CSV file you want to import. The DevKit remembers the last path and
will use the path and file the next time "Reimport" is called.

Changing the Import Source Location

You can change the location of the source file that a data table uses when reimporting:

1. Right-click your Data Table asset in the Content Browser and select Open Source Location
from the context menu. This will open Windows Explorer.

2. Find your CSV file in Windows Explorer and change the name to something new, leaving the
.CSV extension.

3. Right-click your Data Table asset once more, and select the Reimport option from the context
menu. You will now be prompted to select a new source file.

DataTableExporter

The DataTableExporter tool was originally provided by RobTheSwede. This tool is a data table from
Open Libre Office, an open source spreadsheet programme available for free on the internet at
https://www.libreoffice.org/

As you have seen in previous chapters, data-tables such as the ItemTable, are very important within
Conan Exiles. Editing these tables is only possible in a very rudimentary way in DevKit. You can
create new rows, change or delete rows, move an entry up or down or place it at the beginning or end
of the table. There is no "search and replace" function. If an error occurs when duplicating an entry,
each entry must usually be corrected manually.

In short: all the comfort features that a common spreadsheet programme has are missing in the
DevKit. And this is exactly where the DataTableExporter comes in.

In its original form, this DataTableExporter tool supports datasheet tabs for the three most common
DevKit tables (ItemTable, RecipeTable, FeatTable).

By means of a macro, the (pre-formatted) entries are automatically saved in one CSV file per table.
This can now be easily imported into existing tables in the DevKit.

Advantages:

57
● You can use the full potential of editing functions of the spreadsheet programme (here Open
Libre Office).
● You can keep backups of your data tables without the DevKit getting confused with the
referencing.
● The Undo-Bug (see chapter “Working with Data Tables”) loses its horror.1

Disadvantages:

● You have to get used to a new workflow: Changes are always made outside the DevKit and
are always imported into the respective tables in the DevKit (effort: 2 clicks).
● You must initially transfer your data into the tool.

Links to files that are easily selectable in the DevKit must be transferred as a directory path (effort: 2
clicks export + 2 clicks import).

Requirements for the DataTableExporter

● DevKit installed
● Open Libre Office installed: https://www.libreoffice.org/
● Download Template for DataTableExporter

Special Configuration of LibreOffice

Macros
The spreadsheet uses a VisualBasic Script to export the files, and thus, you will need to activate
macros for the spreadsheet. You can find the option for this in

Tools → Options → LibreOffice → Security → Macros

You should switch this option to ”Medium” (recommended) or ”Low” (not recommended) in order to
run the macro.

You will receive a notification once you’re opening the DataTableExporter tool as they contain a
macro. Click “Activate Macro” to allow the macro to be active. You execute the macro by pressing the
cogwheel.
You have to activate macros for that file every time you open it. Just pay attention when you’re
opening other files, as macros can be potentially bad, so check twice for which file you allow them!

1
You will repair your Data Tables one time after you accidentally hit CTRL + Z (Undo) with a
grumble. You will repair it a second time, but with despair. After the third time you will love the
DataTableExporter especially when you got a huge data table, because the Undo-Bug can't do you
any harm.
58
Fix for slow UI in LibreOffice
There is an issue in LibreOffice which makes the UI slightly slow on certain machines. Use this fix if
you encounter this Slowdown. Else you do not need to do this.
Go to

Tools → Options → LibreOffice → View

and disable ”OpenGL” there. Restart LibreOffice and it will run fine.

I can’t find the exported files


The spreadsheet exports all the tables in .CSV format to a subfolder called “ExportedTables” in the
current location of the DataTableExport Tool.

Using the DataTableExporter

The spreadsheet has multiple sheets. Each table has an Input sheet and an Export sheet. The Input
sheets are where you enter data and the Export sheets are used by the macro to export the data to
tables. Below, we’ll go through how to enter data as well as how to make sure that all the entries are
exported correctly. The process is relatively easy:

1. Enter the data in the InputSheet


2. Make sure the Exportsheet is extended to match the amount of rows in the InputSheet (we will
go through this below)
3. Export data by clicking the Cogwheel in the InputItemTable sheet
4. Import data using the DevKit
5. Celebrate

Before doing anything with your item-table data in the DevKit, it always pays to make a
backup of it. Just in case.

Step 1. Entering Data in the datatables

The first thing you will see when you start up the spreadsheet is something like this:

59
We won’t go through the Conan Exiles data-structure in detail (as the structures of data tables are
covered in the chapters prior) – suffice to say that each row represents an item in the game, and all
items have a number of stats assigned to them. These stats are represented in the columns in the
spreadsheet and you can edit these in order to create new items. If you are not sure about what
certain stats do, there are comments for most of the headers that will briefly explain what they are.

The original template was provided by Rob the Swede (so is most of this DataTableExporter section),
and it’s enhanced and adapted by Senja. These enhancements are explained later on in chapter
“Template Enhancement”.

Note: If you are used to modding items in the Unreal DevKit data tables, do note that the order of this
datatable has been changed in order to make things a bit smoother and you might feel slightly
unfamiliar with it at first but it was done in order to collect all related stats under the same heading
and make things easily read. It does not affect the import in any way.

Provided Examples Template

The provided examples (purple font) in the table represent a selection of items, mostly placeables
though. These are meant to be guides to how to input your own items.

It might be a good idea to replace these with your items, or insert new rows and copy the data from
these into the new rows. Since it’s unlikely you need these items, you should get rid of them once you
feel that you know what you’re doing. Furthermore the ItemIDs of the examples are not accepted
during the import process.

60
Quick reminder about ID Ranges
The number on the left is the Row ID (=ItemID, RecipeID or FeatID). These need to be unique for
each item. However - you can use the same ID in many different tables; a prime example of this is
when making a recipe for an item. It's quite handy to use the same RecipeID as the Item.

Only different ID is the SortID, but this will be covered in the chapter “Template Enhancement”.

Tip: How to copy a reference from Unreal to the spreadsheet


For many of the references in the data-table, you
will need to copy a link from a blueprint or mesh into
the tables. This is often the case for placeables,
building pieces and any StaticMesh or
SkeletalMesh.

In order to do so, you can find the asset in the


Unreal Content Browser, right-click it and pick
"Copy Object Path". You can then paste this into the
Cell in LibreOffice.

Header Comments

Many of the table headers have comments in them in order to help with the creation of your items. If
you don't find the help you need here, refer to the original data table in Unreal to see if you can find
what you need.

Default data helpers

Most cells for any given item do not have to be filled in. If you are creating a new type of material (let's
say "Platinum" for example), you don't need to fill in all the data ranges for weapons, armors, etc. The
export-table will automatically populate the missing fields with default entries.

What’s that cogwheel?

That’s the export button. We’ll get to that one in a short while. Hold your horses.

61
Step 2. Updating the Export Sheets

Once you've entered all the items you


want for your mod, you will need to
make certain that the Export tables
contain the correct amount of rows.

This isn't handled automatically (boo)


but is very easy to do (yay). Simply go
into the Export Table sheets, and
perform the following steps:

1. Click one of the existing rows


2. Press CTRL+C
3. Mark the rest of the rows
4. Press CTRL+V

You can copy any of the existing rows


and paste them as new rows. Repeat
this until you have all the rows you
need.

Alternatively:

1. Click one of the existing rows


2. Hold SHIFT + Scroll to the utmost right filled column
3. Click on the most right cell in the selected row
4. Click on the cell edge
5. Drag down while still keeping SHIFT pressed

62
Do not edit the cells in the export sheet as they contain formatting crucial to the import of the
table.

Step 3. Exporting Data

Cogwheel time! In the first Input Sheet ("InputItemTable") you can find a cogwheel at the very top left
corner of the spreadsheet. Clicking this will export ALL the tables.

Step 4. Importing data into Unreal

Now it's time to import the data into Unreal.

Open your item table and select

Asset → Reimport

This will bring up a file-selector dialogue and allows


you to select the source file for your item-table.

You have now, hopefully successfully, imported the


table into the DevKit.

Uh-oh, I got an error?

That's too bad and shouldn't happen. The two most common errors are these:

Unreal can't find a column named "[whatever]"

63
This will happen when the data-export tables are missing columns that Unreal DevKit expects.
An example would be that the DevKit has updated and the Unreal ItemTable has an additional
column named (for example) "AdditionalProperties" but the ExportDataTable does not.

Don't panic, this only means that the new column will use default data and will not break your
table. It MAY of course break functionality in the game if the new column is crucial but it is
unlikely. Most certainly a modder using this template will provide an update for it.

Unreal gives an error saying that it can't import the table

This is nastier and means that something is very wrong with the data-table export. There is not
much to do about this but to swear loudly and figure out why this is. Always make sure that you
re-import the data from the correct type of table. Assuming you have done so, this requires
more investigation than it could possibly be written down here.

Template Enhancement

Master Table
The idea of the enhanced template (compared to the original provided template) is to avoid multiple
identical entries. E.g. when editing the InputItemTable and InputRecipeTable you will see that there
will be identical columns for Name, Short Description and Icon,...

If you have to make changes, you don't want to make them in the same way over and over again, but
change something once and have it done once and for all.

Thus all the information which do appear more than once or are central made it into the “Master
Table”. This is the very core of the enhanced template. Let’s take a quick ride through the columns:

Column What is it? Annotation

A SortID This is some manually given identifier. As content of the


master table is spread as references to the other tables,
you need to have one unique identifier to keep
information together if you want to change order of row
entries (e.g. to sort it from A-Z, Z-A or how-ever). This
SortID is needed for the InputItemTable and the
InputRecipeTable.
It will define the correct reference in other tables for a
given row to fetch information from the Master Table.
There is no need to sort the SortID in the MasterTable
though.
Requirement: ItemID = RecipeID

B ItemID Must be identical to RecipeID; To find a unique range of


IDs for your mod check:

64
https://1drv.ms/x/s!AqvlsDFICO9_gzdkVr59Bt3VDvas

C Automatically created You will find the Item- or RecipeName in col. R. The Suffix
name with suffix entered in S:2 will be attached in col. C.
DO NOT make your changes in col. C, but in col. R.

D Short Description Is what the name says...a short description about your
item / recipe.

E Long Description Is what the name says...a long description about your
item / recipe.
If you want to achieve a linebreak in your long description
to appear in the game, enter “n\” (without “ “). Every other
attempt will be ignored.

F Icon Icon path; needs to be copied from the DevKit as


described above in “Tip: How to copy a reference from
Unreal to the spreadsheet”.

G Catalyst ItemID of Catalyst Item. This is the ID of any item you


want to remain untouched, but which is needed within the
crafting process, e.g. like a melting form. This will be
entered into col. O in the InputRecipesTable
automatically.

H,J,L,N Ingredients 1-4 ItemID of crafting ingredients 1-4. You can add up to 4
ingredients.
This information will be also used for determination of the
repair costs.
Important: If there shall be no ingredient, set it’s ID to 0.

I,K,M,O Quantity of ingredients Quantity of required ingredients. Set it to 0 if no quantity


1-4 is needed. Make sure that the item id of the same
ingredient is set to 0 as well.
The repair costs will be a 1/10 of this amount and
rounded up if uneven break. Minimum amount is always 1
to avoid division through 0 if an ingredient ID is given.

P Feats This value is optional. It can help you to sort items to


your feats for a better overview. It has no impact on any
Conan Exiles relevant values.
→ You still have to fill the InputFeatTable yourself though.
Don’t forget that!
The contents for the dropdowns is taken from
InputFeatTable col. B:4 to B:39. You can change this by:
● select your range where the dropdown list shall
appear
● Go to menu Data->Validity

65
● In dialogue Validity (de: “Konsolidieren”) select
from drop-down list Function “Cell range”, and
bottom set “Source” to e.g.
$InputFeatTable.$B$3:$B$39 (this will be B:3 to
B:39 from InputFeatTable).
● Change this to your liking and needs
● Push OK

Q Additional internal notes This value is optional. It can contain any information
suiting your individual needs. Leave empty if not needed.
It has no impact on any Conan Exiles relevant values.

R ItemName Enter your Item- or Recipe name here. E.g. “Red Apple”

S:3 Suffix Optional value. Enter your mod individual suffix here. It
helps to fetch your mod content during quicksearch in the
admin menu.
Delete content and leave it empty to not use any suffix.

Enhancement of InputItemTable
Columns A - E, BR, BS, BU, BV, BX, BY (all marked green) and CW (orange) will be automatically
filled if you’re updating the InputItemTable. Please use the same method as in “Step 2. Updating the
Export Sheets” described above. To fetch the correct values enter the corresponding SortID in col.
CV.
Watch a short video how to do this: https://i.gyazo.com/86564cffe106159b8c6686ab9402a364.mp4
(maximise video to see the spreadsheet tabs)

Pay attention that values, which do not rely on any references are copied from the origin row (in the
video it was row 79 in the InputItemTable). Thus you need to CHANGE the values especially in
column G, H or I of the InputItemTable.

Note: When adding a path in col. G, H or I (InputItemTable) to a certain blueprint, make sure to add
manually a “_C” at the end, e.g.

/Game/Mods/SvS2/SvS2_Blueprint/Tavern/SvS2_BP_Apple_Full_Red.SvS2_BP_Apple_Full_Red
will become
/Game/Mods/SvS2/SvS2_Blueprint/Tavern/SvS2_BP_Apple_Full_Red.SvS2_BP_Apple_Full_Red_
C

Do NOT enter “_C” if you’re linking to /Script/ConanSandbox.BuildingItem (in case of your item
being a placeable).

66
You can adapt the other values of your item regarding to your needs. Also you can sort the table in a
way you like. The order items appear in the admin menu is the same as the sequence of rows in your
InputItemTable. E.g. if your table got Items sorted as follows “XX06, XX03, XX12 and XX01” the items
in the admin menu ingame will have the same sorting as “XX06, XX03, XX12 and XX01”.

You do NOT need to sort the InputRecipesTable the same way you sort your InputItemTable.

Enhancement of InputRecipesTable

Columns A - C, J, P - X (all marked green) and AQ (orange) will be automatically filled if you’re
updating the InputRecipesTable. Please use the same method as in “Step 2. Updating the Export
Sheets” described above. To fetch the correct values enter the corresponding SortID in col. AP.
You can do this in the same manner as is described in “Enhancement of InputItemTable”.

Enhancement of InputFeatTable

Adapt the InputFeatTable to your liking. Column B is used as a source for drop down lists in the
Master Table, InputItemTable and InputRecipesTable.

Columns R - U are NOT part of the Data Table. They are used to e.g. show prerequisite feats (col. R)
and their ID (col. S); e.g. if you want to include prerequisites from another mod than the current one.
You can of course leave this blank if not needed.

You can also list the workstation names (col. T) and their IDs (col. U) as a reminder, IF all recipes
from a certain feat require the same workstation. You can of course leave this blank if not needed.

It helps especially in a bigger mod to fetch the current workstation IDs necessary for the
InputRecipesTable col. H.

Apart from things described above there is no hidden enhancement in this table.

Editing the macro

To edit the macro go to

Extras → Macros → Edit Macros

67
A new window will open:

Go to the object catalogue and click on the Data Table Exporter *.ods file (here:
DevKit_v2_5_DataTableExporter.ods).
In “Standard” -> “Module1” you will find the macro code.

If you want to change the export directory edit line 4 and change the value of “exportationDirectory”
to another folder, e.g. “C:/ConanExiles/DataTableExporter” (without “ ”)

If you have added more sheets and wish them to be exported, add a new line between line 30 and
31 like
SheetName = “MySpreadsheetName” Or _

“MySpreadSheetName” is the name of your spreadsheet:

Your macro would look like this then:

68
Make sure that the spreadsheet you want to export as *.CSV has the correct values. The headline
has to be exactly the same as in the data table you want to import the CSV file into.

Make sure to have the proper formatting of the column entries per row as well.

Hint: To get an idea how the correct formatting looks like you can make the reverse-test: Insert an
test entry in your current data table of the DevKit, right click on it and export it as *.csv file. The *.csv
file can be opened as a new LibreOfficeCalc file. The programme transforms your *.csv file into a
table with given values of your example, so that you can look which parts need to be “prefilled” with
certain formatting content and which parts can be inserted freely.

You can take examples from the other input and to be exported data tables within the Exporter to
build the data table of your needs, either to build new existing data tables or for export of your own
data tables with individual structs.

XIII. Troubleshooting
If your mod does not do what it’s intended to do, it’s important to know what your tools are for
troubleshooting the problem. One of the primary methods you will use for narrowing down the root
cause of an issue is placing Breakpoints in your scripts (see Using Breakpoints, below).

Let’s briefly discuss the feedback you’ll get from the Dev Kit when your mod has problems:

Compile Errors

Some blueprint errors are critical enough that they will prevent the Unreal Engine from compiling and
running the game. There is no one approach for resolving these errors; you will need to open the

69
problem blueprints in the editor, find the issues in the graphs for that blueprint, and resolve them
before you will be able to safely test your mod.

Runtime Errors and Warnings

A Runtime Error is any error caused by a problem in your script that was not severe enough to cause
a crash. If your mod generates any errors or warnings while running, upon ending your play session,
you will receive a pop-up message in the lower right corner of the viewport:

Click on Show Message Log to navigate instantly to the Message Log, which will show you the
errors generated during runtime:

If the pop-up message fades before you’re able to click on it, you can reach the Message Log from
the menu: Window > Developer Tools > Message Log. Make sure to click on the Play In Editor tab
on the left side of the window.

Once the Message Log is open, clicking the links provided in the error lines will open the related
blueprint in the editor and navigate you automatically to the node responsible for the error.

Common Runtime Errors

■ “Accessed None...” A reference to an object returns None and is invalid. This happens often
for objects which exist only on the server or client, but not both. Ex. trying to reference the GUI

70
Module Controller while executing on a dedicated server. This error can also occur when
attempting to read the value of an un-replicated variable.

Cook Problems

When “cooking” your mod into a .pak file, you will frequently encounter errors and warnings. It is
important to know what this feedback means and how to address it.

Cook Warnings

In general, warnings reported during the cook process indicate that something is out of the ordinary,
but not serious enough to cause the cook to fail. If the dev kit finds some number of warnings but no
errors, your cook will complete successfully. However, it is important to periodically review these
warnings, as they can point to larger problems in your mod.

Common Cook Warnings

■ “Warning: - Missing cooked file: …” Check your mod source folder for any stray 1kb files left
over from instances where you renamed or moved an asset. These redirectors are not used,
but can cause this warning to occur.

Cook Errors & Failure

Cook failures are often related to the mod’s source files, such as the Dev Kit being unable to locate
the source file (on your local drive) corresponding to one of the mod’s assets. There are many other
rarer causes, however, and these will need to be resolved on a case-by-case basis.

71
How to approach reading the Output Log after a failed cook:

Note: The summary will only show the first 50 errors and/or warning messages. You can find the
complete list by scrolling up.

Using Breakpoints

Breakpoints are placed on nodes either via the right-click


menu or by using the shortcut key (F9 by default). While a
breakpoint exists, the game will pause immediately before the
breakpoint (without executing the node where it has been
placed), allowing you to check on the values of your
variables, or to see if your execution is reaching the
breakpoint at all.

72
You can read more about Breakpoints and other troubleshooting methods here:

https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Debugging/index.html

The Dev Kit Game Log

When troubleshooting a problem, you may also find it useful to check the game’s regular log file for
errors and warnings which may not have been reported in the Dev Kit itself.

Your Dev Kit maintains a log file during your Play in Editor sessions in exactly the same way as the
base game. You can find your Dev Kit’s log file in Windows Explorer at the following location:

X:\Users\YourUserName\AppData\Local\ConanSandbox\Saved\Logs\ConanSandbox.log

NOTE: AppData is a hidden folder by default, and you may need to make hidden files and folders
visible in Windows before you are able to see it.

73

You might also like