The Character Editor Tools is used to manage and randomize Customization Data Assets directly inside the Unreal Editor.
The Character Editor Tools also works with custom pawns!
The Character Editor Tools are disabled during Play in Editor (PIE) sessions.
The CDA Manager tab displays a list of all CDA packages from the Package Registry, grouped by the contained CDA classes. Within those groups each CDA is represented by a row, containing various info columns. It validates and migrates Customization Data Assets and provides various filters and settings to navigate your CDAs at a centralized place and find potential issues with their most important settings, easily.
There is the following statuses and actions:
This status shows when loading is completed.
Click Reload CDAs anytime after you have updated one or more CDAs.
This status shows if the Package Registry is out of date and requires reloading.
Click Load CDAs to refresh the Package Registry and the CDA Manager.
If you load an empty package, you will receive a warning similar to this.
This is totally fine for the current Unreal Engine session. But following Unreal Engine startups will show the Customization Data Assets must be loaded status again, until you fix the issue.
This status shows if there is now BP_PackageRegistry in the level, yet.
Click Spawn BP_PackageRegistry and load CDAs to initialize everything needed.
There are 5 columns in total, where the first contains one info and the rest contains two below each other, as follows:
Column | Info | Type | Description |
---|---|---|---|
1 | Icon | Summary of the validation. | |
2 | CDA | Link | Name of the CDA; opens the asset on click |
2 | Mesh | Link | Name of the Skeletal Mesh, Static Mesh or Groom Asset, depending on the CDA base class; opens the asset on click |
3 | Display Name | Text | Display Name or beautified CDA name |
3 | Thumbnail | Link | CDA's skeletal mesh, static mesh or Groom name; opens the asset on click |
4 | Anatomies | Text | Anatomy Gameplay Tags of the CDA. |
4 | Collections | Text | Collection Gameplay Tags of the CDA. |
5 | As Deprecated Enums | Text | Deprecated Anatomies enum values of the CDA. |
5 | As Deprecated Enums | Text | Deprecated Collections enum values of the CDA. |
The package and class rows have independent columns that give you a clue about different counts.
Column | Description |
---|---|
![]() |
Total amount of CDAs in the package/class. |
![]() |
Amount of valid CDAs. |
![]() |
Amount of valid CDAs, that are debug assets and would be not used in-game if Accept Debug Assets is false across different functionality. |
![]() |
Amount of valid CDAs, that are valid except cosmetics (i.e., don't have a custom Display Name or Thumbnail, if validated through the settings. |
![]() |
Amount of CDAs with warnings (e.g. during the migration process for missing gameplay tags). |
![]() |
Amount of CDAs with errors (e.g. missing "Mesh") |
The filters allow you to show or hide specific CDAs from the list view for better navigation.
When hiding all CDAs of a whole class or package, they may be hidden, depending on the corresponding setting.
The list of displayed CDA Classes, Anatomies and Collections are dynamic and subject to the CDAs that the Package Registry has loaded, thus some of the displayed checkboxes may not be shown to you.
Your filters are stored as BP_CharacterEditorToolsSaveGame in /SaveGames/CharacterEditorTools.sav.
The settings further configure the functionality of the CDA Manager, besides toggling CDA visibility.
The Expansion sections lets you expand or collapse the various rows.
The Validation section controls, which optional validation is performed.
The Content section lets you show/hide
Your settings are stored as BP_CharacterEditorToolsSaveGame in /SaveGames/CharacterEditorTools.sav.
This functionality migrates the deprecated enums to the new gameplay tags.
The Collection enum value Any Collection will be migrated to gameplay tag Collection.#.Any, if there is no other enum value matching a gameplay tag from DT_CollectionEnumGameplayTagMap. This is done, since at least one collection is required to filter for the "Any Collection", as explained in Filtering by Gameplay Tags. If there is another enum value, then Any Collection values will be skipped.
TODO VIDEO TUTORIAL
The Randomization tab displays a similar, but more compact list of CDAs that are considered for the randomization of the selected pawn. The CDAs cannot be filtered and they are readonly, i.e. there is no possibility for randimizing with only a subset of those CDAs. Though, you can use the "Apply" button on each CDA row to fine-tune your randomization by adding or removing CDAs. The validation columns are hidden in this view. The list acts as a way to spot, why certain CDAs may not be included in the randomization process.
The randomization requires a customizable pawn being selected in the viewport. The Anatomy, Accept Debug Assets, and Allow removing CDAs options are static for each character, while the various CDA-type-based options [TYPE] Collection and [TYPE] Randomization contain dynamic controls, that are populated with values depending on the selected Anatomy and [TYPE] Collection. If randomization is possible for a type, the controls are disabled. Each enabled button shows a delete button on hover to remove CDAs from the character.
The following tutorial requires a little preparation (steps 1 to 4), since there is no easy one-click button to save the current profile. Unfortunately, structs created in Blueprints like our Customization Profile cannot be simply saved to data tables. The responsible Scripting Plugin function requires C++ structs.
That being said, here is how you can do it.
The Character Editor Tools only were used for randomization until [V10].
The following video shows the old randomization until timestamp 5:05.
[YouTube aI-Glv1YYrU]