Conan Exiles Wiki
Advertisement

This article is a stub. You can help Conan Exiles Wiki by expanding it.

Modding/Useful links
Levels: Modding
Author: Robtheswede
See also: Guide#Modding, Useful links.

A list of useful links for modding related guides and useful links.

General[]

  • Community members have set up a modding discord. Please read the rules when you join!


This is a link to all guides maintained by Robtheswede (DevKit developer).
Most of these are not yet documented on the wiki, but are listed on the Guide page. Feel free to contribute them!
Created to replace and solve some problems with Conan Exiles in-game mod options


Unreal Engine[]



Tools[]

Compresses pak files on cook.
If all is correct you should get something like this in your output:
"##Hi, Joshtech here. Just going to step in and perform magic on this pak file. kk thx##"
Allows for bulk scanning of mod pak files to gather which funcom assets they "touch".
An example of its use would be to place the executable and UnrealPak.exe in your workshop directory.
All scans are recorded within a timestamped output log.
An excellent sharing of blueprint utility for UE
I created my own datatable structure and wrote a search function for it.
I included it in my own function library for reuse.
It works on the same principle as the CE weight table.
There is an Array you add multiple "Feats" in.
The TemplateID is the Feat you want to learn when using this consumable.
When you use the consumable it checks if you have already learned the feats in the Array or consumable.
If you have not you learn the feat from the consumable.
When you use the other feats in this array it will say "You already learned feats from this" or something along that.

Asset for draggable UI.

I created a new Widget and set it up so the root and canvaspanel were visible and created 3 borders that were variables. On each of the borders I binded an event to On Mouse Down and all it did was get the drag offset and set value of a variable I made called "Currently Dragging" which was a reference to a content widget. Here's an example of what the event bind looks like:

https://gyazo.com/59e443cb6613de1ec41e368e1ffd6daa

Then, in the actual widget blueprint I created 2 overrides: On Mouse Move and OnMouseButtonUp (buttonup can technically can be optional). Here's how I set them up:

https://gyazo.com/2db13bf2033e4a1999e0a0c63a5bc426

https://gyazo.com/6dd476cab3661ec3f182d1f737373003

Final result is this:

https://gyazo.com/b99ed72c484edaf99e52e4680e396b47

There's other ways to do it too that are probably more efficient. In a mouse button down override you can detect a drag event and then in OnDragDetected override create a drag & drop operation and use a payload.

To determine if an item is a child of a class based on the ItemTable.
A spreadsheet tool for easy editing of the ItemTable and RecipesTable.
A program which allows you to automate replacing item ID's for a recipe's ingredients.
A smart material for substance painter to help with tint masking. It adds colors so that you don't need to change the viewport channel to see your user masks. Before exporting your maps, move it to the bottom of your layer stack so that the colors don't bleed into your maps.
If you want to use high IDs (this must be number) for hair and colors, you can use this or mod the character creation.
The character creation seems to count the number of rows in the datatable and use an ID incremented from 0 to that number. This needs to be changed to read the real available IDs.
The sources (GitHub) use an Apache license and can be used as long as you mention the original work, the author and agree that your use of the sources is your sole responsibility.

EZee_AP[]

CETagUpdator

CETagUpdator interface.

Can be used to update steam tags.
TempTool

TempTool interface.

Calculates the colours used for the temp of the map's TemperatureHeatMap.
HM Split

HM Split interface.

For "cutting" a big heightmap into tiles to be loaded with world composition.
(file should be .r16 format, resolution is the outputted tile sizes)
Simple LevelProp with custom interaction and its own "Floating Info" widget, including the RPC example from the wiki.

Small tool for level creators, tool can be used to generate instanced meshes from static meshes in the editor, tool respects mesh scale and materials, if you have 2 of the same mesh using different materials they will be counted as 2 individual unique meshes.

  1. Highlight all the static meshes you want converted into instanced meshes in the editor viewport.
  2. Open "BLU_InstanceTool" and press "Unique Mesh Count", this will output the number of instance actors to add to the level.
  3. Highlight all the static meshes and the instance actors in the editor viewport.
  4. Open "BLU_InstanceTool" and press "Make *TYPE* Instances".
  5. Delete your static meshes.

  • Before using the tool make sure to backup your level as a safeguard.
  • It is not optimised. It is only for use in the editor and it seems to work well so far.


Includes 4 example widgets and 3 UI components.

  1. User Widget, this widget saves data to a .sav file on the client PC (also has option to delete the data from client PC).
  2. Admin Widget, this widget saves data to the database on the server.
  3. MultiUser Widget, has user and admin options, user options are saved to .sav, admin options are saved to database on the server.
  4. Save To Player Widget, this widgets saves data to an actor component added to BasePlayerChar so you can save player specific data.

  • DropDownInfo, convenient drop down text.
  • YesNoDialogue, confirmation dialogue.
  • OnOffToggle, alt checkbox.


  • WorkshopUploader

    Workshop Uploader interface.

    Includes 5 features which make uploading to the workshop easier.

    1. Uploads new/updates workshop items
    2. Mod Tags
    3. Can inject WorkshopID into modinfo.json inside the pak file (needed for mod auto downloader, the devkit will do this the first time you upload via the devkit, when pak is rebuilt it does not use compression)
    4. Compress pak files
    5. Test integrity of pak file (when running IsConanExiles can highlight default content in blue depending on settings.json)

    There is a simple settings.json file in the dir, read the ReadMe.txt file for usage (read that file anyway), app not necessarily limited to Conan Exiles, although tags options will be removed when running without "IsConanExiles".

    In the "file" menu you can save/load all the app data for each mod, some features (compression/test/inject id) require you to copy UnrealPak from "Devkit\Engine\Binaries\Win64\UnrealPak.exe" to the application directory. Think of it as CETagUpdater v2.


    Unzip and drop in your local folder. All the magic happens in the construction script, but you can use the code in normal event graph etc.
    Scripts can also be used to change colors that are not normally changeable with dyes.

    RenderMapToHDR 1

    Scene Capture Interface for RenderMapToHDR.

    RenderMapToHDR 2

    Offsetted render example of the Conan Exile default map for RenderMapToHDR.

    Renders maps in HDR.

    Warning! Requires a pretty decent PC and assumes your map is the same size as the conan exile map (806400 {-403200}, {403200}).

    RenderMap_8x8_Heat_4096

    Can be used as a guide when creating your heatmap (Use TempCalc.zip - also listed here).

    RenderMap_8x8_Offset_4000

    Will create a temporary map image you can use as a template to create your map image (T_FullscreenMap).

    1. Copy both blueprints to your local folder.
    2. Create 2 "RenderTargets" (Materials & Textures->Render Target), 1 4000x4000, 1 4096x4096.
    3. Open "RenderMap_8x8_Offset_4000" and set the 4000x4000 render target to the "Texture Target" of the SceneCaptureComponent2D. Or, Open "RenderMap_8x8_Heat_4096" and set the 4096x4096 render target to the "Texture Target" of the SceneCaptureComponent2D.
    4. Temporarily disable level streaming in the viewport "Viewport->Advanced Settings->Stream Levels Automatically When Camera Is Moved" should be unchecked.
    5. load your map and set "all" heightmaps to be displayed (you should be able to see your whole map).
    6. Drag the 2 blueprints into your level.
    It should also be noted, when you render your map you will probably want to switch the water out for something a little more suited, easier to see, no movement (waves) etc, your maps origin point should also be 0, 0, for more serious reasons other then just rendering the map.

    Guides[]

    Main article: Guide#Modding


    A shortened guide on meshes brought into Blender from the DevKit.
    Works with doors / gates. (Doorbell.zip)
    For anyone starting to go for fully custom models on their mod, this might help to gain some prior experience on the matter.
    Setting up character volumes.
    An additional view on the whole armor creation process. Focused on Apex in Maya.

    Robtheswede[]

    Quickies.[1]

    Death2Mongo (DeadlyMidnight)[]

    Pulled from this playlist.

    FireSpark81[]

    Pulled from this playlist.

    HellsSauna (Hellsbreath)[]

    Pulled from this playlist.

    JustHorse[]

    Sebastian Walter (Uruk)[]

    German (DE).

    Snowhunter[]

    TheBigBadBusch[]

    LuzipherMST[]

    German (DE).

    Tips n' Tricks[]

    Testing mods on multiplayer 1

    Click the little button beside Play and tick Run Dedicated Server.

    Testing mods on multiplayer 2

    Increase the number of clients if you want to see it from two perspectives.

    • If you want to test mods in multiplayer you can click the little button beside Play and tick Run Dedicated Server and increase the number of clients if you want to see it from two perspectives.[2]
    • How to move a devkit installation:
    1. close the devkit and the epic launcher
    2. rename the devkit folder
    3. start the epic launcher
    4. start the installation of the devkit to your ssd
    5. wait until you see some download progress (~ 1%)
    6. stop the insatllation and close the epic launcher
    7. copy your old installation of the devkit to your new folder
    8. start the epic launcher and continue the installation of hte devkit
    9. the epic launcher will verify the current folder content and the installation is finished
    • If you are setting up an RGB mask, for example _M textures, from Substance you'll need to make your own export profile for Conan Exiles that uses those channels. These are not the default for Unreal. The
      • red channel is the metallic mask.
      • green is the roughness mask.
      • blue is the ambient occlusion mask.
    Note: M_Conan_Legacy_Skin is set up differently from every other material; Red is AO, green is roughness and blue is specular.
    • Use idle animation to help you position armor pieces.[3]
    • For anyone doing maps - if you're placing Skeletal meshes out, you really should click this checkbox, otherwise your SK's will tick quite a lot.
    • When creating UI (Eg. a crafting station), double click your icons and make sure that the texture sorting group or whatever it is called is "UI". This optimizes the use of them a bit.
    • You can use the console command SetServerSetting LogoutCharactersRemainInTheWorld 0 to start from wherever you do "play from here" (in case you always start in the last-logout place when running the game from the editor)
    • DLC Item-Ranges
    An extensive list of DLC item ID ranges. These are not available in the DevKit.

    References[]

    1. "Quickies" Robtheswede, Dropbox
    2. Cheese#0001, Modding discord - February 13, 2017
    3. Sibercat, modding discord - May 11, 2018
    Advertisement