[Last update: 06/10/2021]


Live2D Cubism handles some of the data for runtime in json format.
Cubism SDK for Unity includes classes to parse and instantiate those json format files.

They are parsed and instantiated when imported by the asset importer included with the SDK, but can also be loaded at run-time by the user.




Parser for .model3.json.

You can get the path to various other json, such as motion and facial expressions described in .model3.json.

To parse .model3.json in CubismModel3Json, use CubismModel3Json.LoadAtPath().


From the parsed data, it is possible to obtain the relative paths to the various files described in .model3.json.

Basically, the path can be obtained with the same structure as the hierarchy of .model3.json, but the reference to the data for expression described in .model3.json has its own structure.
This is because the .model3.json structure in Cubism cannot be parsed by JsonUtility, Unity's built-in Json parser, due to its specification.
In Cubism SDK for Unity, only expression data references are parsed by our own Json parser.


To generate a model prefab from the parsed .model3.json, use CubismModel3Json.ToModel().

The processing implemented in Cubism SDK for Unity assumes that assets in the project are loaded from the Unity editor.
When loading at runtime from an AssetBundle or other source, the loading process must be implemented by the user.

For more information on how to load a model at runtime, please see our tutorial here.



Parser for .motion3.json.

AnimationClip can be generated from the curve information described in .motion3.json.

To parse .motion3.json in CubismMotion3Json, use CubismMotion3Json.LoadFrom().


To generate an AnimationClip from the parsed .motion3.json, use CubismMotion3Json.ToAnimationClip().




Parser for .userdata3.json.

User data can be applied to the model's ArtMesh from the information described in .userdata3.json.

To parse .userdata3.json in CubismUserData3Json, use CubismUserData3Json.LoadFrom().


To retrieve user data from the parsed .userdata3.json, use CubismUserData3Json.ToBodyArray().




Parser for .physics3.json.

Physics settings described in .physics3.json can be converted for use in Unity.

To parse .physics3.json in CubismPhysics3Json, use CubismPhysics3Json.LoadFrom().


To convert physics settings from the parsed .physics3.json to a format handled by Unity, use CubismPhysics3Json.ToRig().




Parser for .exp3.json.

The information on facial expression differences described in .exp3.json can be converted into a format that can be handled on Unity.

To parse .exp3.json in CubismExp3Json, use CubismExp3Json.LoadFrom().




Parser for .pose3.json.

From the information described in .pose3.json, you can obtain the settings that control the display state of the part in Unity.
In Cubism SDK for Unity, Pose is used to process the curves of the generated AnimationClip.

For more information on the Pose function, please click here.

To parse .pose3.json in CubismPose3Json, use CubismPose3Json.LoadFrom().




Parser for .cdi3.json.

The .cdi3.json file contains the names of the parameters, parts, and parameter groups set in the Cubism editor, and each ID that pairs with them.

In Cubism SDK for Unity, it is used to display the names of parameters and parts in the Inspector window.
If the model does not have a .cdi3.json, the ID will be displayed.

To parse .cdi3.json in CubismDisplayInfo3Json, use CubismDisplayInfo3Json.LoadFrom().

© 2010 - 2022 Live2D Inc.