Frequently Asked Questions

Updated: 02/21/2023

Q. I imported Cubism SDK for Unity into Unity, but I get a DllNotFoundException when I insert a model.
Q. If I have multiple models in a scene, the draw call increases. What should I do?
Q. Which platforms are supported for export from Unity?
Q. Is there a benchmark?
Q. I am a Cubism 2.x user. Should I upgrade my 2.x project to 3.x?
Q. What Unity versions are supported by the Cubism SDK for Unity?
Q. Are there any concerns about updating a project from Unity 5.x to Unity 2017.x or later?
Q. Skinning physics operations do not shake as expected in the SDK.
Q. I want to make my Unity project with the pre-R8 SDK compatible with Android 64bit.
Q. Can I use AnimationClip generated at runtime in Unity with Cubism SDK for Unity?
Q. Does Cubism SDK work with IE11?
Q. Copying CubismCore fails after overwrite import of the Unity SDK.
Q. Can Repeats be used with the Cubism SDK?
Q. When I display multiple models in Cubism SDK for Web, some models are not updated. What should I do?

Q. I imported Cubism SDK for Unity into Unity, but I get a DllNotFoundException when I insert a model.

A. Restart Unity.

When updating a model without restarting Unity, such as when importing Cubism SDK for Unity for the first time or updating, an error like DllNotFoundException:Live2DCubismCore will be output.

This error is caused by Unity not loading the native libraries that come with the Cubism SDK for Unity.
Unity loads native libraries at startup, so if you get this error, restart Unity and see if you get the same error.
Click here for more information.

Q. If I have multiple models in a scene, the draw call increases. What should I do?

A. Use sorting layers and sorting orders to organize the order of your models.

The CubismRenderController component included with the SDK makes it easy to set sorting values.

Unity’s SetPass call increases when the texture, shader, etc. of the mesh to be drawn in the scene changes.
Although it is possible to devise ways to reduce SetPass during the model creation phase, the same increase in SetPass occurs between each model.
Therefore, if the switching of textures, shaders, etc. can also be combined in all models, a reduction in SetPass calls can be expected.
Sorting layers and sorting orders are used to combine the switching between multiple models.

See “Performance When Working With Models in the SDK” in the Editor manual for details on how to reduce switching of textures, shaders, etc., as well as points to keep in mind when creating models.

Q. Which platforms are supported for export from Unity?

A. The Cubism SDK for Unity currently supports the following platforms.

  Windows macOS Linux Android iOS Consumer
PlayStation®4 Nintendo Switch™
Status of support

See “Platform Support Status” for more information.

Q. Is there a benchmark?

A. The Cubism SDK for Unity includes sample scenes for benchmarking, making it easy to check performance on each platform.

Not available for Native and Web.

Q. I am a Cubism 2.x user. Should I upgrade my 2.x project to 3.x?

A. It depends on the size of the project and the duration of development and operation.
Starting from version 3.0, the SDK is not compatible with previous versions due to significant improvements in the SDK.
Cubism 2.x model data for embedded use is not compatible with the 3.0 SDK, and the Cubism 2.x SDK API is not forward compatible with the 3.0 SDK.
To use the 3.0 SDK, you will need to re-export your model data in the 3.0 Editor or upgrade the code, assets, etc. in your Unity project.
Therefore, the decision whether to upgrade a project should be made after examining the benefits that both the Editor and the SDK bring and the cost to upgrade.

Q. What Unity versions are supported by the Cubism SDK for Unity?

A. Our policy is to support the latest version of Unity at the time the SDK is released, so the officially supported version is Unity 2018.3 as of 3.3.
Operation with earlier versions is not supported, but may work if prefabs, materials, etc. are recreated.

The csc.rsp and mcs.rsp files in the SDK package can be used in Unity 5.5 by changing the file names to gmcs.rsp and smcs.rsp.
Click here for more information.

Q. Are there any concerns about updating a project from Unity 5.x to Unity 2017.x or later?

A. If you update your project from Unity 5.x to Unity 2017.x or later, model Prefab components that are not stored in Assets will disappear.
If you are updating a project from 5.x to 2017.x or later, please update the model in the Hierarchy with the Apply button before updating the project version.

Q. Skinning physics operations do not shake as expected in the SDK.

A. Physics calculations are affected by the input difference time (FPS).

Physics calculations depend on parameters, the state of the internal pendulum, and inputs.
The physics of skinning using a multistage pendulum model is particularly sensitive to small inputs, which can significantly affect the calculation results.
If you want exactly the same behavior, use the physics-baked .motion3.json file.

If the appearance in the Cubism Editor Physics and Scene Blend Settings differs from the appearance in the SDK, this may be due to the different FPS of the operation.
The current Cubism Editor is calculated at actual FPS, and the calculate FPS depends on the scale of the model and the performance of the PC on which it runs.
If you want to refine the details of the physics calculation, we recommend that you do so while checking it on the actual device.
We are planning to fix the problem that the physics calculations in the Cubism Editor have difficulty matching the behavior in the SDK, etc., in a future update.

Q. I want to make my Unity project with the pre-R8 SDK compatible with Android 64bit.

A. Please obtain and use the 64-bit compatible version of the library from the latest version of the SDK.

Cubism 3 SDK for Unity R8 and earlier does not support 64-bit Android.
To make a project created with SDK before R8 64-bit compatible, obtain the 64-bit compatible version of the Android library from Cubism SDK for Unity for R9 or later and add it to the project.
Cubism SDK for Unity’s library files for 64-bit compatible Android are located in the following hierarchy.

/Assets/Live2D/Cubism/Plugins/Android/arm64-v8a/libLive2DCubismCore.so

In addition, since the Android library files included in Cubism SDK for Native are equivalent to those included in Cubism SDK for Unity, 64-bit support is also possible by using Native’s 64-bit compatible version of the Android library.
Cubism SDK for Native’s library files for 64-bit compatible Android are located in the following hierarchy.

/Core/lib/android/arm64-v8a/libLive2DCubismCore.a
/Core/dll/android/arm64-v8a/libLive2DCubismCore.so

If you have added a library to your project, make sure the Platform and CPU are set correctly in the Inspector with that library selected.

Q. Can I use AnimationClip generated at runtime in Unity with Cubism SDK for Unity?

A. Simply using Cubism SDK for Unity as-is will not work.

AnimationClip generated at runtime cannot be played by AnimatorController or Playable API.
Therefore, Cubism SDK for Unity, which uses these functions, is also not supported.

If you are using an AnimationClip generated at runtime, it is possible to make it play by using Unity’s Animation component.
However, the “MotionFade” feature of Cubism SDK for Unity does not support motion playback by the Animation component.
This can be handled by not using MotionFade or by customizing the SDK source on the user side.

MotionFade in Cubism SDK for Unity requires the fade to be processed as the motion plays back, and monitors the motion playback state.
In Cubism SDK for Unity, CubismFadeStateObserver and CubismMotionLayer monitor the playback state.
This can be handled by implementing a component on the user side that monitors the playback state of the Animation component.
The component that monitors the playback state of the motion implements ICubismFadeState.

Q. Does Cubism SDK work with IE11?

A. The Cubism SDK for Web has been tested with IE11 and is supported.

Cubism SDK for Unity depends on the browser supported by Unity, but IE11 may be deprecated or disabled.
See the official Unity reference for more information.

Q. Copying CubismCore fails after overwrite import of the Unity SDK.

A. Restart Unity with an empty scene or a scene not using the Cubism SDK open.

The Cubism Core in the Cubism SDK for Unity cannot replace the Cubism Core used in the Editor because it is referenced by Unity when used in a scene.
To reset the Cubism Core reference, restart Unity with a scene open that does not use Cubism Core (empty scene, etc.).

Q. Can Repeats be used with the Cubism SDK?

A. No, errors occur when using Repeats with the Cubism SDK and many functions do not work as intended.

Many functions, such as motion playback and physics operations using parameters for which Repeats are set, do not work as intended.
If you want to use expressions using Repeats in Cubism SDK, you need to implement each function on your own.

Note that no error will occur if the SDK is used with a model that has parameters with Repeats set.
If you do not use Repeats, you can use the model as is.

Q. When I display multiple models in Cubism SDK for Web, some models are not updated. What should I do?

A. When calling CubismFramework.initialize(), pass to an argument the amount of memory to be allocated.

This phenomenon is caused by the small amount of memory that Emscripten allocates when initializing the module.
This can be avoided by allocating more memory on the Cubism Core side.
To specify the amount of memory to allocate, pass the amount of memory to an argument of CubismFramework.initialize().

The value passed to the argument must be at least 1024 × 1024 × 16 bytes (16 MB).

CubismFramework.initialize(1024 * 1024 * 32);


If any other value is passed, it will be rounded to 1024 × 1024 × 16 bytes.

// 1024 * 1024 * 16
CubismFramework.initialize(256);
Was this article helpful?
YesNo
Please let us know what you think about this article.