Generic selectors
Exact matches only
Search in title
Search in content
Search in project

Setting up new UMA Race

UMA 2.10+

This documentation will allow you to create and define a new race for UMA without changing any bone structure or DNA. This configuration will be based on our Ogre Race.

Preparing UMA configuration

Drag Assets/Resources/HumanMale prefab into the scene.

On the Dynamic Character, Avatar set Active Race to OgreMaleDCS, remove old recipes and attach ones that should be associated with the Ogre Race. If the race is not compatible with Expression then remove the Expression Recipe in case of our races they are, so for Ogres, you can keep it.

Change prefab name in the scene to the OgreMale and drag it into the Assets/Resources directory.

In Assets/Dragonsan/AtavismObjects/CharacterCreateObjects directory duplicate prefab HumanRace and change its name to OgreRace.

On the OgreRace prefab set race name to Ogre, and attach previously created OgreMale.

Open CharacterSelection scene from directory Assets/Dragonsan/Scenes/(Demo|Core).

Duplicate Human Race Selected game object, rename it to Ogre Race Selected, adjust other child game objects like Ogre Race Item, and Ogre Race Button, and drag OgreRace prefab into the Race Data field.

Select the CharacterCreator game object and add Ogre Race Button into the Races list.

On the BodyPanel and HeadPanel game objects on the DNA Slider Panel component, expand DNA List, and on every bone like armLength->Compatible Races add our OgreMaleDCS race name.

On the Slider game object in DNA Slot component expand Alternatives, and for each Element on the list define Hair by putting pair with Race: OgreMaleDCS, and filename of the hairstyle recipe, in this case, it will be M_Ogre_Hair_Recipe.

Configuration of Atavism Editor

Open Atavism Editor and Add a new race by heading to Option Choices Plugin, select Race from the list, click the Add Choice button, enter Ogre into the field and click on the Save Data button at the end.

Open Player Character Setup Plugin and adjust your Character Race accordingly to the screenshot below. You can repeat this step if you want to have multiple classes for your new race.

Adjust your statistics for your Player Character Setup, like movement_speed, strength, intelligence, mana, health, etc. The most important are movement_speed which should be higher than 0, health, and health-max they should have the same values for example 1000. At the end click the Save Data button at the bottom of the form and restart the Atavism world server.

UMA 2.9 and below

This documentation will allow you to create and define a new race for UMA without changing any bone structure or DNA. This configuration will be based on new YourRace and Female, so in the end, you can repeat these steps for Male accordingly.

Preparing UMA configuration

Create a new prefab in the Assets/Resources directory accordingly to your race names like YourRaceFemale prefab.

Set this race name on newly created prefab in the UMAHumanFemaleAppearance components in the Race Name variable to YourRaceFemale.

For Female duplicate all elements which are located in the Assets/Dragonsan/AtavismObjects/UMA/AdditionalSlots/CharacterSockets directory, which contain name RaceFemale (marked red, male are marked green) as on the screen below and rename them to your new race, for example, CharacterSocketsHumanFemale element should be renamed to CharacterSocketsYourRaceFemale and rest accordingly.

After duplication and name change, you should see something like on the screen below.

Select CharacterSocketsYourRaceFemalePrefab and drag the UMA_YourRaceFemaleDCS to the Socketed Model Appearance variable.

Select CharacterSocketYourRaceFemale (Slot) and rename Slot Name to CharacterSocketYourRaceFemale

Select CharacterSocketYourRaceFemale (Slot), expand the Slot Events and drag the CharacterSocketYourRaceFemalePrefab to the Character Completed section and chose CharacterSocketsSlotScript.OnDnaApplied as on the screen below

Select CharacterSocketHumanFemaleRecipe element and click on Enable Editing

Click Slots

Drag the CharacterSocketsYourRaceFemale (Slot) element to the “Drag Slots and Overlays here. Click to Pick” window and click “Add to Global Index (Recommended)” button as on the screen below.

Duplicate Human Female DCS in the Assets/UMA/Content/UMA_Core/HumanFemale/RaceData directory and change its name to YourRace Female DCS.
Note: If you are using Dragonsan UMA Race Pack, then Race recipe will be in the Assets/DragonsanStudios/UMA/RaceName/Race/{Female|Male}/Race Data so you can skip this step.

Select previously duplicated and renamed object and set the Race Name parameter to YourRaceFemaleDCS.
Note: If you are using Dragonsan UMA Race Pack, then you can skip this step.

Open UMA -> Global Library Window

Drag newly created YourRace Female DCS to the “Drag Indexable Assets here. Non-indexed assets will be ignored.” section.

Head into Assets/UMA/Content/UMA_Core/HumanFemale/Recipes/Base Recipes/Legacy, duplicate HumanFemaleDCS Base Recipe and rename it to YourRaceFemaleDCS Base Recipe.
Note: If you are using Dragonsan UMA Race Pack, then you can skip this step.

In the RaceData apply newly created YourRace Female DCS by clicking the circle and selecting YourRace Female DCS as on the screen below.
Note: If you are using Dragonsan UMA Race Pack, then you can skip this step.

Select Assets/UMA/Content/UMA_Core/HumanFemale/RaceData/YourRace Female DCS click on the circle on the right side of the Base Race Recipe and select YourRaceFemaleDCS Base Recipe element from the list.
Note: If you are using Dragonsan UMA Race Pack, then you can skip this step.

Expand Cross Compatibility Settings and drag Human Female DCS (Race) element into the proper section.
Note: If you are using Dragonsan UMA Race Pack, then you can skip this step.

Select Assets/Resources/uma_dcs_receiver and in the Dynamic Character Avatar component expand Additional Utility Recipes and add CharacterSocketsYourRaceFemaleRecipe to the list.

Modifying User Interface

Duplicate Assets/Dragonsan/AtavismObjects/CharacterCreateObjects/HumanRace and rename duplicated object to YourRaceRace

Select YourRaceRace prefab and rename the Race Name parameter to YourRace in the Atavism Race Data component.

Load Assets/Dragonsan/Scenes/UMA/ForDemo/CharacterSelection scene (or if you prefer its core version of the scene which you can find in Assets/Dragonsan/Scenes/UMA/CharacterSelection).

In the CharacterSelection scene expand Canvas/Character Creation/Character_Creation_left/Panel/Race BG, duplicate Race game object and adjust its position in the Canvas.

Select your newly created Race (1) and drag Assets/Dragonsan/AtavismObjects/CharacterCreateObjects/YourRaceFemale prefab into the Race Data as on the screen below

In the CharacterSelection scene select CharacterSelectCreate game object, expand the Races section in the UMA Character Selection Creation component and add (drag) the newly created Race Button Human to the list. Save the scene.

Configuration of Atavism Editor

Open Atavism Editor and Add new race by heading to Option Choices Plugin, select Race from the list, click Add Choice button, enter YourRace into the field and click on the Save Data button at the end.

Open Player Character Setup Plugin and adjust your Character Race accordingly to the screenshot below. You can repeat this step if you want to have multiple classes for your new race.

Adjust your statistics for your Player Character Setup, like movement_speed, strength, intelligence, mana, health, etc. The most important are movement_speed which should be higher than 0, health, and health-max they should have the same values for example 1000. At the end click Save Data button at the bottom of the form and restart the Atavism world server.

Modify scripts

Add these lines after line #452 in the UMADCSPropertyHandler.cs file

case "YourRaceFemaleDCS":
    if (umaDCSEquipmentDisplay.DCSYourRaceFemaleRecipe != null)
    {
        avatar.SetSlot(umaDCSEquipmentDisplay.DCSYourRaceFemaleRecipe);
    }
    else
    {
        if (umaDCSEquipmentDisplay.MultiDCSYourRaceFemaleRecipe != null)
            foreach (UMAWardrobeRecipe wr in umaDCSEquipmentDisplay.MultiDCSYourRaceFemaleRecipe)
                if (wr != null)
                    avatar.SetSlot(wr);
    }
    break;

So it should look like this

and in the UMAEquipmentDisplay.cs file, you should add one line as on the screen below