Collections are a part of Customization Data Assets. They are used to group CDAs together and make them visually distinguishable in the Character Editor. They e.g., can be used to group common styles like Evening Wear, Sport, and Winter. Or depending on your gameplay, by player classes like Mage, Monk, Rogue, and Warrior.
To add collections you simply need to define them.
Since the V11 Gameplay Tag Update, collections are defined by a Gameplay Tag under the CharacterEditor.Collection namespace.
Opposing to the deprecated E_CDA_Collection enum, they are more flexible due to their hierarchical structure, when it comes to adding new collections and performing filtering. Currently, there are no hierarchical collections built-in, but see Anatomy Profiles for a reference on how you could implement them.
The gameplay tag CharacterEditor.Collection.# and its children are special filters and not meant to be assigned to CDAs.
See Filtering by Gameplay Tags below for fitering details.
See Gameplay Tags for general setup details.
From V2 Anatomy Update to V10 Selection Update, collections are defined by the E_CDA_Collection enum.
We are using the enum to group all our Polyphoria products. You can choose which collections are displayed by switching between the predefined collections, but you can add your own collections by adding new names to the enum and assigning CDAs to that new collection.
See Filtering by Enumeration below for further details.
Once a collection is added you can assign it to your Customization Data Assets.
[V11] See BP_CustomizationDataAsset ➝ General ➝ Gameplay Tags for further details.
[V2] to [V10] See BP_CustomizationDataAsset ➝ General ➝ Collections for further details.
Several places filter CDAs when using the Character Editor. The BP_PackageRegistry directly accesses the Asset Registry and can provide filtered lists of CDAs directly to e.g. the BP_CharacterCustomization randomization functionality or WBP_CharacterEditor to display the CDAs in corresponding CDA pickers.
The actual filtering depends on the Character Editor version, as follows.
Since the V11 Gameplay Tag Update the filter is based on gameplay tags.
They work in all places where enumerations worked before - the logic is called "CDA Filter", which describes either functions or properties. Besides that, the rules to show a CDA got more flexible and extended by a None filter. In the Blueprints, you will find CDA Filter, Collection and similar variables and parameters for their usage.
A CDA passes the filter if any rule of points 1-4 and all conditions of point 5 apply.
See Character Editor Function Library ➝ Is CDA Matching Filter Settings for details.
Use BP_GameplayTagTester in your scene to test if any CDA is matching the given CDA Filter.
The Enumeration collections work in the WBP_CharacterEditor and Character Editor Tools and filter the results shown in the respective CDA pickers. E.g., WBP_CDA_CollectionPicker for apparels, controls the apparel shown in the WBP_CDA_ApparelPickers.
A CDA passes the filter if any rule of point 1-3 and all conditions of point 4 apply.
See Character Editor Function Library ➝ Does CDA Passes Filter Settings [V11 removed] for details.