Toolkit can be configured to work with other entity types, it’s essentially a case of adding environment ymls for the new entity types, modifying your schema and templates, and adjusting the Workfiles and Loader apps.
As an example, let’s say we want to work on Animations, here are the steps you would need to take. (In this example Animations is actually CustomEntity03).
- Adjust your schema to work with your new entity type. You need to create a new structure under your project folder for your new entity type, you could, for example, follow a similar setup for
AssetsorShots, but switch the entity types to your new one. This doc may help. In this example we are going to create this structure in the schema:.../{project}/scenes/{Scene}/{CustomEntity03}/{Step}/...
- Now open up your
.../{pipeline_config_root}/config/core/templates.ymland create new keys for your entity types (SceneandCustomEntity03).
- Create a new animation root in your
templates.yml
- You could also start duplicating the templates used for Shots or Assets and make Animation versions (though you may also want to wait till later once you’ve decided what apps and engines you are going to actually use).
- Now add environment ymls for your new entity types. Note you only need to add new environment ymls for the entity type you want to work in. In our example, we are only ever going to want to work directly on
CustomEntity03, andScenejust forms part of the folder structure. To add a new environment yml, it might be best starting by taking a copy of one of the other environment yml files and then modifying it to match your custom entity.
- You would then need to go and create all the included settings as well. For example
@settings.tk-maya.animation_stepdoesn’t exist currently so we would need to open up the.../env/includes/settings/tk-maya.ymland add it. We could copy the asset_step settings as a starting point. But again we need to modify and create any settings that were asset_step specific. So that would mean creating ananimation_work_area_mayatemplate if you haven’t already, and creating animation specific settings for publish, snapshot, and workfiles apps. You would repeat this process for all the engines and apps that you want to use in this environment.
- Workfiles2 customization is a bit more involved than the others. You need to add tabs to display your Animation entity, and as a User can switch between contexts whilst being in a given environment, you need to add your tab settings to all workfiles2 settings, so that even if your working on a
Shotyou can still jump over to working on anAnimation. So we can copy the asset_step settings again for workfiles, change the templates, change the setting name, and add the new Animation tab. Remember we also need to add the same Animation tab settings to the other context settings such assettings.tk-multi-workfiles2.maya.shot_step,settings.tk-multi-workfiles2.maya.asset_step,settings.tk-multi-workfiles2.launch_at_startupandsettings.tk-multi-workfiles2
- Now you’ve added your new
animation_step.ymlenvironment yml and all the includes are sorted, we need to modify the core hookpick_environment.pylocated:.../{pipeline_config_root}/config/core/hooks/pick_environment.py. The purpose of this python script is to return the name of the environment file to use on a given context. So you would add your own if statement checking if the entity wasCustomEntity03and if there was a task, if so you would return “animation_step” (the name of your yml file minus the extension.)
That should then complete all the changes you need to make.







