UMA OneClick


Special instructions:

NOTE: OneClickUmaDcs requires SALSA LipSync Suite v2.5.0+ and the latest version of OneClickBase (now included in the core SALSA package on the AssetStore). Also be aware, UMA has increased their minimum Unity version to 2019.4+ as of UMA v2.11.

Since UMA is a run-time character system with many options, our setup scripts are slightly different than our other one-clicks and meant primarily to demonstrate what is possible when using the SALSA LipSync Suite with the UMA system. The SALSA Suite leverages the Dynamic Character Avatar and UMA Expression Player systems for implementing the OneClick functionality. Using this system, it is easy to also leverage design-time preview mode, making it much more approachable to add/modify ExpressionComponents. It is; however, also possible to use UMA using Bone controller types if you prefer -- however, this would required the designer to implement this option manually.

NOTE: As of the version 2.11 release, UMA now implements an in-Editor preview of its avatars, eliminating the need for SALSA Suite to use the preview prefab avatar. In fact, the existing UMA OneClick functionality still works, but the preview implementation is broken in UMA OneClick v2.5.0. Well, it's not really broken per-se, it is simply conflicting with the new system. We have posted an update that replaces the old preview-prefab with a new implementation that leverages UMA's in-Editor avatar preview.

We have developed a special controller type for use in SALSA Suite components: UMA. This controller type adds a proxy component (UmaUepProxy) to the GameObject that allows the core system to communicate with the UMA OneClick without the requirement of dealing with the dependencies of the UMA system in the core SALSA LipSync Suite. The OneClick for UMA also requires a "driver" component (UmaUepDriver), which is included in the OneClick package for UMA. This driver is the middleware to the UMA system -- it does have a dependency on the UMA package and will generate errors if it is imported into your project without UMA already being present. Once UMA is imported all errors should disappear.

NOTE: If re-configuring an UMA avatar at runtime, please also see the Runtime Setup documentation and in particular, the UMA Considerations portion of that document.

Applying UMA OneClick

OneClickUmaDcs can be applied to any GameObject; however, for correct one-click operation, ensure you apply it to the root object where the UMA Dynamic Character Avatar (DCA) is configured. As of UMA v2.11 and UMA OneClick v2.5.1, we no longer use the "Getting Started" option to setup an UMA character. UMA is much easier to configure now.

The OneClick is applied to the GameObject configured with a DynamicCharacterAvatar component in-scene.

UMA Preview Mode

DEPRECATED: SALSA LipSync Suite leverages the avatars used in the UMA Core Tool - Expression Clip Editor (In the Examples folder) for preview. Therefore, for preview mode to work, the UMA / Examples / Expressions Examples folder must be present in your project. Once you have configured your avatar and no further configuration is required, you may remove this folder if desired. You may also remove the prefabs in the Crazy Minnow Studio / Addons / OneClickUMA folder.

IMPORTANT NOTE: for preview operation, the UmaUepDriver component must be open in your GameObject's Inspector window.
UepUmaDriver preview requirement

UMA Selective Eyes Module Implementation (Eye/Head)

If you wish to use your own Head or Eye animation method, you may do so by disabling the options in the UmaUepDriver component (in the Inspector). Simply uncheck the appropriate checkbox. We recommend using these options, but you are free to disable them if you wish.

UMA Setup - Manual Mode

It is also possible to use the UMA OneClick with other manual UMA-based setups. If you are setting your character up differently from the UMA GettingStarted method, it is likely the OneClick will work with it providing you adhere to a few caveats.

  1. OneClick requires an UMAExpressionPlayer.
  2. You will need to configure the UMAExpressionPlayer yourself, linking the required expression set.
  3. You will need to call our driver to initialize the process.
  4. Please examine our UmaUepDriver and preview scripts for mechanisms we use to implement setup and interoperability with UMA.

To implement a OneClick UMA setup without using the GettingStarted prefab method:

Please see our new UMAOneClick v2.5.1 Video Tutorial:

The following is DEPRECATED for UMA v2.11+ and UMAOneClick v2.5.1:
Same as previous, apply the OneClick to your avatar root. On the UmaUepDriver, disable (uncheck) the "UMA Character is Dynamic" option. Configure an UMAExpressionPlayer on your avatar and you will need to configure it with these parameters:
UMAExpressionPlayer.expressionSet = yourExpressionSet;
UMAExpressionPlayer.umaData = yourUmaData;
UMAExpressionPlayer.Initialize();
Finally, programmatically call our UEP driver manual start function, passing a link to the UMAExpressionPlayer you just configured:
UmaUepDriver.ManualStart(yourUMAExpressionPlayer);