Naming Conventions

Rigging requires a specific naming convention that is both strict and adaptable. Hive offers a Rule-based Configuration solution that allows for the definition of naming conventions. The solution uses presets, which can be attached to rigs and components, including guides, joints, animation controls, and dependency nodes. Additionally, the naming conventions can be extended to support new components at any time. Hive also provides a user interface for modifying these conventions extensively.

Presets are hierarchical where children inherit from parent presets and at the root(Hidden in the UI) is our default zooTools preset allowing us to roll out changes and new components without affecting your custom presets.


Conventions applied to a rig is saved into the rigs meta data and the saved template making it very easier apply once and reuse assignments.


In the following section, we will walk through how to modify the naming convention for the arm component.

First open the UI.

alternate text

Clicking the Cog icon will open the Naming Convention UI.

We recommend when creating your own preset as a child of the default user preset if you’re individual, but if you’re a studio then create it at the root.

Presets can be applied to the rig as a whole or to individual component you’ll see in our UE presets we have specific presets for certain components, in the case of UE their default skeleton naming isn’t consistent so we had to create custom presets that handle those cases.

alternate text

With the DefaultUserPreset selected and a new Preset in my case i called it “myCustomPreset”

alternate text

Select the newly created preset so we can modify it.

alternate text

Now lets modify the arm component, in the UI the “HiveType” in all configurations from components, the Rig and globals.

alternate text

Select the component you wish to modify.

Naming conventions are dealt with by Rules each rule can be modified for any component, let’s modifying the name for the skin joints which get exported if you’re going to games.

alternate text

Select the Rule you wish to modify.

Now lets modify the naming convention of all skin joints on this component. The Rule Field allows you to change the order and fields to be used, typing in the field will display an autocomplete drop down to help you determine what you have access too.


all fields with a rule must be separated by a single ‘_’.

alternate text

We’ll change our convention to use you’ll the hive joint “id” and the component side. You’ll see the Rule Preview automatically update, this is randomly generated values based on the rule convention you provide.

alternate text

With the rule modified you can now rebuild the skeleton and joint names after you assign the preset See below and the joint names will update. However lets go further and modify the “end” joint of the arm component to be hand.


Modifying fields affects all rules on the currently active component only.

alternate text

Select the Id Field.

Double click and type “hand”, The end name refers to the hive ID which is used many sections of a component. For flexibility the component also provides ‘endfk’ and ‘endik’ for animation controls.

alternate text

Change the end field name to be hand.

There are times where ids won’t exist in the UI these come from procedurally generated elements of a components like twists, bendy, spine joints etc. In this we can create a new field name and value. Here we’ll create a new name referring to the uprTwist00 id.

alternate text

Adding a missing field name and value for dynamic ids.

Now simply save and any modifications you’ve made across any and all components, presets,rules will appropriately be saved out. Saving will only save the modification in a component.

Assigning Naming Conventions.

Since we’ve now created a new preset, made some changes lets update a rig with this preset and see the new changes.

For demo purposes i’ve created a single arm component but you might have a full character rig.

To Assign a preset go to the rig settings.

alternate text

Click the rig settings cog icon.

Now under the “Naming” section click the “ZooToolsPro” button which displays the currently active preset.

alternate text

Clicking the naming button popups the preset view.

Select our preset which will apply the assign the preset to the rig but won’t apply the configuration until next build.

alternate text

Selecting our preset to make active.

Once assigned click build skeleton since we’ve modified the “skinJointName” rule.

alternate text

Build the skeleton to apply the naming convention.

Now in the outliner if you check the joint names for the “end” and “uprTwist00” id joints as well as the convention used for arm joints you’ll see that the “end” has been named “hand” and uprTwist00 has been named “awesometwist00”. You’ll also see that the rule had affect where the shldr joint was renamed from “arm_L_shldr_jnt” to “shldr_L”.

alternate text

Check the skeleton for a naming changes

Technical Details


This section is a WIP.

In this section we’re explain how naming conventions work from more of a technical point of view.

First thing to know is naming conventions like many parts of Zoo is saved as JSON data and can be queried, modified, deleted and saved via the API.

We have two configuration files defined as different file format extensions.

  1. Presets(“.namingpreset”)

  2. Configurations(“.namingcfg”)

Presets are kept quite simple they just determine which configurations we have modified in the preset for the preset hierarchy we store that as part of the zoo hive preferences.

Preset JSON data structure

    "name": "ZooToolsPro",
    "configs": [
            "name": "zootoolsProGlobalVChainComponent",
            "hiveType": "vchaincomponent"

The preset config in the above example links the “vchaincomponent” hive type, the hive type is used internal in hive to retrieve the appropriate configuration for the component or rig. Before any api calls require the naming access. The name refers the uniquely named(typically autogenerated) configuration.

Configuration Data Structure

Configurations are much more detailed and can contain only changes made over the top of the parent component configuration based on the preset hierarchy or it can contain everything. Naming configuration structure and core api isn’t Hive specific only presets and hierarchy plus resolver are. You can find out about naming conventions here.

Hive Naming Convention API Example

# Docs coming soon