Character Setup - Character Setup with Master Character Creator

Addyarb

New member
Hello,

I'm attempting to integrate the Third Person Controller with Master Character Creator, a customizable character solution.

I'm running into an issue while attempting to setup a character using the Character Manager. My issue is that the models are generated at runtime and do not exist in the editor for me to reference during the setup process. In order to use a humanoid rig and Unity IK, it appears that I must have an existing character with a humanoid avatar and a head bone assigned.

Are there any good workarounds to this? I have tried copy/pasting components onto my character using the Atlas prefab as reference - however this creates a lot of new issues. For example, each ability, item, effect, etc. loses its Persistable Preset reference - and it's unclear what should be disabled, removed, re-referenced, etc.

Should I generate a character at editor time with the features I need, remove the character, and try to patch up the missing references dynamically - or is there a better solution I might be missing?

Thanks!

Addy

1736708177758.png
 
Even though you aren't using UMA I recommend taking a look at that integration as you'll want to follow a similar route:


You can use the Character Builder classes to create the character at runtime.
 
Thank you for the suggestion. Using the Character Builder class, I was able to successfully wait for Master Character Creator's CharacterEntity script to build the character, and then add the components for locomotion, IK, etc. afterwards.

Here's my script if anyone happens to run into a similar situation. Fundamentally, the Character Builder class just needs to wait until the character exists during runtime - and then have the same methods called. In my case, I also needed to copy the Animator component to the instantiated character so that the Foot IK script could find it.


I think that a serializable config class for what's shown in the character set up editor window could be a useful addition. This way, a simple reference could be made instead of copying over each of the method arguments. I totally get that this is probably a less-common use-case though.

Thanks again!
 
Back
Top