Quick Integration Guide
Last updated
Last updated
On this page we will cover quick setup to get the projects up and running as well as overview integration examples shipped with each pack. To start off, once you import the pack to your project and try to run it, it will give you some errors by default. To resolve this and possible other issues you want to follow the steps outlined in this guide.
Doing this step will remove compilation errors
What we have to do is enable Skeletal Merging plugin first. You can do that by going to Edit - Plugins, enabling Skeletal Merging and restarting the editor.
Without this step it could run fine, but you may experience issues in the packaged build
You want your project to include Gameplay Tags from the Data Table supplied with each instance of Character Builder. It won't break the project in an obvious way by not doing this step, but it is recommended to set it up to avoid all kind of issues which are not accounted for. To do so you want to go to Project Settings and type Tags in the search bar. In the Gameplay Tag Table List you want to select ProjectTags data table which by default can be found at: /Content/*ProjectName*/CharacterBuilderComponent/Blueprints
If your customization map doesn't look like screenshots you need to do this step
And last but not least, we want to set up settings for the way engine works with Depth Passes. In 5.4 you might not have to do it, but it is better to double check. This is needed in order for preview scene to render properly, our post process material is taking advantage of Depth Pass to isolate the character out, also some functionality of the plugin that has to do with Depth Pass is tied to this. It is not necessary for the functionality, but certainly is for aesthetics.
Go to Project Settings - Custom Depth Stencil Pass and select Enabled with Stencil
Lets break down typical integration example you can find in *MarketplacePackName*/Blueprints/BP_ExamplePawn_**
It has invisible mesh which drives animation and CharacterBuilderComponent.
You can click on CharacterBuilderComponent to see its settings in Details Tab
Lets break down what each of them does:
Pass Offset to IK - a lot of shoes have offsets to avoid clipping into the ground. If you have BPI_AnimBP interface implemented your driving animation blueprint you can pass it through it to the IK solver to offset your character. If not, it will simply offset the mesh locally on the component.
Only Equip Exactly Matched - when this is checked, component fill its equip list from the supplied Item Data Asset list. If unchecked, it will leave character naked, unless you explicitly set which equips to use.
Used With UI - If true will execute UI related functions, interfaces and updates
Use Custom Depth and Depth Stencil Value - Custom Depth Settings
Master Save Name - Local Preset System runs on a single Master Save for data management. Here you can set it's name, it is spawned automatically. You can distinguish your presets that way, if you need it.
Auto Fetch Materials if Mat List Empty - You can explicitly set material collections on each item by Tag. This option fetches the first Tag from collection and assigns it, instead of just using materials from the mesh itself.
SCurve Global - This controls values of the textures. At default Unreal lighting, 1.6 is good. If you have more dim environment and don't want textures to look too dark, you can set the value at around 1. For instance, customization map uses value of 1.
You can set these settings at the runtime too using Set Character Builder Settings node:
To initialize the component, all you have to do is use Set Character Data node:
If you dont check "Re-Init Character" you also need to run Initialize Character node. Lets break down what each variable does:
Character Definition - This is your Character Data Asset. It has a list of basic naked parts (Torso, Arms, Hands etc) and head mesh along with a few other options (like your head anim blueprint for example). Each character pack comes with one or two. You can select the one you want to use from the drop down here.
Item Definitions Soft - List of the item Data Assets to use with this character. If you have wrong body type (such as equipping female items on male) they won't go through the safeguard.
Primary Tags - Data Asset containing allowed Item Tags for this character, most of the time you leave this default.
Parent Component - mesh component to retarget animation from.
Material Map - Item ID - Material Tag map to set textures for each item
Item ID Map - Slot Tag - Item ID map to explicitly select equips for each slot (if they are present in Item Definitions List)
Typically it would be too much trouble setting this up manually. Usually it is done via preset system.
Function Load Character Builder Preset is called to fetch data from either locally saved preset, or Data Asset (if you convert it via our tool). You can set up the preset in the Customization Map
From there simply launch the game and enjoy, it should work. If you wanna see examples of explicitly setting up the nodes, they are in the blueprint.