This converter remaps the morphs of the MCS avatar system (v1.7) so they will work with Unity 2019 and later.
Unity introduced a new way of optimizing mesh on import, which scrambles the vertex order of the MCS models. However, the MCS morph targets will still have the old vertex order, so when applying a morph the wrong vertices get pushed and you end up with some abstract art. This tool converts the morph target maps to their new vertex order.
More information on the issues of MCS in Unity 2019 and other fixes can be found in this thread the Unity forums: https://forum.unity.com/threads/released-morph-character-system-mcs-male-and-female.355675.
- Create TWO Unity projects: one in version that works with MCS 1.7 (i.e. 2017 or 2018), and one in your later version (2019+). Apply the following steps to both projects.
- From https://github.com/mcs-sdk/mcs/releases, download and import your MCS packages. The CodeAndShaders.unitypackage and the female or male base package are mandatory; add whatever additional clothing/hair packs you have and need.
- Import the MCSConverter.unitypackage included in this repo, or drag and drop the RadboudVR folder into your Assets folder.
- Drag the MCSFemale or MCSMale prefab into your scene.
- Attach your content packs
- Add the ConvertMCS.cs component to the MCS character.
In your Unity 2017/2018 project:
- Select the meshes you wish to convert (default selects all)
- Click “Extract”. This will extract vertex maps of all selected models into a file folder.
- Copy the extracted maps folder (Assets/MCS/ConversionMaps) into the same location in your Unity 2019+ project.
In your Unity 2019+ project:
- Select all meshes you wish to convert.
- Click “Convert”. This may take a while and will overwrite the old morph streamingasset files.
- Restart Unity.
- Turn off GPU Skinning in player options, otherwise only the first morph you edit in the editor will work.
While this converts all the morph maps, the MCS 1.7 system also relies on a “JCT manager” for some morphs that has its own mapping. I have not yet figured out how to remap those, so if you run into any issues, try disabling the JCT Transition component on the hip of your MCS character.