How to Add Custom Parameter
Base system (the core)
To add creation parameters, you can base your work on what I've done.
The system is modular; you simply need to create a Blueprint (ACCParamHandler base class) that will serve as an interpreter to implement your own logic.
The custom ACCParamHandler need to be added to an ACCParamHandlerDataAsset
First and foremost, you need to grasp how class structures works. Below, I offer an explanation in simpler terms of how it operates (right side it's examples screenshots).
A more detailled partial schema example (from Vroid specie)
Here is a partial example of a use case, for instance, with Vroid Specie
Now that you've seen the diagrams, I recommend inspecting the blueprints to learn more and better grasp the system
UI Part
The UI part is likely to be the most subjective as it will depend on your entire game mechanics.
However, here's an example of how you could add your customized parameters in the ACC UI
Basically you will need to get the CreationEdition object, then the CreatorEditComponent > Listener and call a RequestChangeXXXParam
- GroupKey : The ACCGroupParamHandlerDataAsset key from your ACCSpecieDataAsset (exemple : HeadParams)
- Key : The ACCParamHandler key from your ACCParamHandlerDataAsset (exemple : HeadStyle, EyeBrowStyle, etc..)
- CustomInfo : For custom additional info (optionnal)
- Value : The parameter type value (can be Color,Float,Int,Bool depend of your logic)
In this screenshot example the GetCreationEdition is available as i'm in ACCWidgetCreatorListener widget child class
You can try to use GetCurrentCreator singleton function if the GetCreationEdition function isn't available in your Widget