SDK Compatibility and Limitations of Cubism 5.3 Features

Updated: 08/26/2025

This page contains statements regarding the beta version.

Summary

This section describes the following points about SDK compatibility with Cubism 5.

  • What changes were made in the 5.3 SDK?
  • What notes or changes are needed for compatibility with the existing 5 SDK?

About the Names

  • 5 SDK refers to Cubism 5 SDK R4 and earlier.
  • 5.3 SDK refers to Cubism 5 SDK R5 beta1 or later.

Table of new features in Editor 5.2 and their support by the 5.3 SDK

5 Editor new featuresSDK support [support date]
Parameter Controller× Not supported (to be supported in the near future)
Paste inverted shapeNo SDK support, as this is Cubism Editor functionality.
Loop editing supportNo SDK support, as this is Cubism Editor functionality.
Restore deformer shapeNo SDK support, as this is Cubism Editor functionality.
Blend mode△ Supported (some Native platforms and Web, Unity only from beta1)
Offscreen drawing△ Supported (some Native platforms and Web, Unity only from beta1)
Enhanced brush toolsNo SDK support, as this is Cubism Editor functionality.
Warp deformer resizing aidNo SDK support, as this is Cubism Editor functionality.
WebM format added to video output settingsNo SDK support, as this is Cubism Editor functionality.

Fixes affecting compatibility

  • Change in class structure of Renderer-related processes (other than Unity)
  • Rendering Method for Models Using New Cubism 5.3 Features (Unity)
  • Cubism Core API Changes

Compatibility

Backward compatibility

Blend mode and offscreen drawing

Since this is a new feature, there is no explanation regarding compatibility.

Change in class structure of Renderer-related processes (other than Unity)

For Native and for Web, the structure of Renderer-related classes and some functions have been changed to improve maintainability of Renderer-related processing.

Replacing only the framework will result in a build error.
The specific modifications are explained in “Change in class structure of Renderer-related processes.”

Rendering Method for Models Using New Cubism 5.3 Features (Unity)

Models that utilize the Blend mode or offscreen drawing added in Cubism 5.3 are rendered using a new rendering method that differs from models using only features available in Cubism 5.2 and earlier versions.

The specific modifications are detailed in “Rendering Method for Models Using New Cubism 5.3 Features (Unity)“.

Update from the existing 5 SDK

Updating to the 5.3 SDK works by replacing all files as usual.

For Native and Web, the caller needs to be modified due to the renaming of some classes in the SDK Framework.

Forward compatibility with existing 5 SDKs

Please note that MOC files exported for 5.3 cannot be read.

When attempting to read a MOC file exported for 5.3, the following error is output when calling the csmReviveMocInPlace function and the csmMocConsistency function.

[CSM] [E]csmReviveMocInPlace is failed. The Core unsupport later than moc3 ver:[5]. This moc3 ver is [6].
[CSM][E]Inconsistent MOC3.

Change in class structure of Renderer-related processes

For Native and for Web, the structure of Renderer-related classes and some functions have been changed to improve maintainability of Renderer-related processing.

The specific changes are as follows:

  • CubismOffscreenSurface_xx class was renamed to CubismRenderTarget_xx class (Native).
  • A new base class was created for the CubismRenderTarget_xx class and common processing was moved (Native).
  • The drawing process structure was changed for the CubismRenderer class (Native and Web).
  • Change in Blend Mode Retrieval Method.

In the unlikely event that you have customized the SDK and are having difficulty updating as usual, please refer to the following changes.

CubismOffscreenSurface_xx class was renamed to CubismRenderTarget_xx class (Native)

The CubismOffscreenSurface_xx class has been renamed to the CubismRenderTarget_xx class.

This is to avoid naming conflicts in the program due to the addition of offscreen drawing as a new feature.

This change requires fixing a call to the CubismOffscreenSurface_xx class outside of the SDK Framework.

A new base class was created for the RenderTarget class and common processing was moved (Native)

Created a new base class CubismRenderTarget class from the CubismRenderTarget_xx class file and moved processes that could be common.

This change improves the readability and maintainability of the CubismRenderTarget_xx class file.

The drawing process structure was changed for the CubismRenderer class (Native and Web)

The structure of the drawing process in the CubismRenderer_xx class has been significantly changed since Offscreen were added to the drawable objects in the 5.3 SDK, whereas only Drawable was available until the 5 SDK.

Additionally, the specification has been changed so that the window size Width and Height are passed to the CubismRenderer_xx class constructor. Accordingly, it is necessary to pass Width and Height to the CreateRenderer function of the CubismUserModel class.

Change in Blend Mode Retrieval Method

Starting from 5.3 SDK, the blend method has been incorporated into blend mode, changing the retrieval method from csmGetDrawableConstantFlags to csmGetDrawableBlendModes.

This change enables the handling of blend modes introduced in 5.3 SDK and later versions.

Model Rendering Method Using New Cubism 5.3 Features (Unity)

Rendering Method for Models Using Blend Mode or Offscreen Drawing

Models utilizing Blend mode or offscreen drawing have all drawing objects first rendered to a RenderTexture, then finally drawn onto a single Plane.

Models that do not utilize either blend mode or offscreen features are rendered using the traditional rendering method.

Differences Between Traditional Rendering Method and New Rendering Method Using Cubism 5.3 Features

Traditional Rendering Method

  • Each Drawable uses Unity’s Mesh Filter component and is drawn as individual Unity objects.
  • Each Drawable object can be sorted using Transform.localPosition.z such as BackToFrontZ.
  • Mask drawing is performed using the preprocessing mask method.

Rendering Method Using New Features

  • Mask drawing is performed using the high-precision mask method.
  • Each drawing object (Drawable/Offscreen) performs drawing processing within CubismRenderer.DrawObject().
  • Each drawing object is drawn to a single RenderTexture, then rendered by applying the RenderTexture drawing to a Plane.
  • Each drawing object is sorted by either BackToFrontOrder or FrontToBackOrder.

Impact of Using the New Rendering Method

With the new rendering method for models using these features, it becomes impossible to perform processes that insert Unity objects into the drawing using MeshRenderer.sortingOrder or Transform.localPosition.z, such as “Put Another Sprite between the Drawables of the Model

Extension features to mitigate these impacts are planned for future implementation.

Cubism Core API Changes

The csmGetDrawableRenderOrders function has been eliminated and a new csmGetRenderOrders function has been added.

Please refer to the Live2D Cubism Core API Reference for more information.

About load

Blend mode

Regarding the blend mode load, using even one blend mode will cause a negligible load on the entire model. In addition, the load increases with each number of modes used.

The load depends on the type and version of the drawing API being used. As an example, in the case of OpenGL, if glTextureBarrier is available, the load is reduced compared to environments where it is not available.

Offscreen drawing

Regarding the offscreen drawing load, each use of one generates a screen-sized offscreen, which generates a load.

Also, if even one offscreen drawing is used, the model loading speed is greatly reduced because the analysis of the model structure is processed at model loading time.

Restrictions

Cubism SDK (general)

With the overwrite function for multiply and screen colors in the Cubism SDK, the multiply and screen colors transmitted from the parent of the part’s parent-child hierarchy will not be applied to objects set to offscreen.
In addition, models using the new drawing method added in Cubism 5.3 will automatically have the high-definition mask setting.

Native

In beta1, OpenGL only on Windows, macOS, iOS, and Android supports the Cubism 5.3 functions.
Platforms other than those listed above that exist in the Cubism 5 SDK R5 beta1 package do not support the included Cubism Core and may not run the functions properly.
Support is scheduled for beta2 or later.

Web

None in particular.

Unity

As noted above, models using the new drawing method added in Cubism 5.3 will have the high-definition mask setting.
Therefore, models using the new drawing method in the Cubism SDK for Unity do not use GlobalMaskTexture shared by all models, but by default use the CubismMaskTexture asset generated by each model at import time and have no limitations on the number of masks.

However, the following other restrictions apply.

  • Hit areas do not work properly.
  • Objects outside the model canvas are not drawn and are cropped.
The restrictions above will be revised in due course.

Note that even models exported with Cubism 5.3 or later versions will use the previous method if the new drawing method is not used.
If the new drawing method is not used, the above restrictions have no effect.

Other

Cubism SDKs other than those listed above are not compatible with the Cubism 5.3 functions.
Support will be provided in due course.

Was this article helpful?
YesNo
Please let us know what you think about this article.