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 features | SDK support [support date] |
---|---|
Parameter Controller | × Not supported (to be supported in the near future) |
Paste inverted shape | No SDK support, as this is Cubism Editor functionality. |
Loop editing support | No SDK support, as this is Cubism Editor functionality. |
Restore deformer shape | No 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 tools | No SDK support, as this is Cubism Editor functionality. |
Warp deformer resizing aid | No SDK support, as this is Cubism Editor functionality. |
WebM format added to video output settings | No SDK support, as this is Cubism Editor functionality. |
Fixes affecting compatibility
- Change in class structure of Renderer-related processes (other than Unity)
- Process to confirm use of the blend shape function
- 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.”
Model drawing method using the new features of Cubism 5.3 (Unity)
Models using the blend mode or offscreen drawing added in Cubism 5.3 are drawn with a new drawing method that differs from the method for models using only Cubism 5.2 or earlier features.
The specific modifications are explained in “Model drawing method using the new features of Cubism 5.3 (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).
- The blend method acquisition method was changed.
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 was added to the drawable objects in the 5.3 SDK, whereas only Drawable was available until the 5 SDK.
In addition, the specifications have been changed to pass the window size (Width and Height) to the constructor of the CubismRenderer_xx class.
Accordingly, it is necessary to pass the Width and Height to the CreateRenderer function of the CubismUserModel class.
Change to the blend method acquisition method
Since the 5.3 SDK, the blend method has been incorporated into the blend mode and the method of acquisition has changed from csmGetDrawableConstantFlags to csmGetDrawableBlendModes.
This change allows for the handling of blend modes from the 5.3 SDK.
Model drawing method using the new features of Cubism 5.3 (Unity)
Model drawing method using blend mode or offscreen drawing
For models using the blend mode or offscreen drawing, all drawable objects will be drawn once on the RenderTexture and finally on a single Plane.
Models that do not use either the blend mode or the offscreen function will be drawn using the conventional drawing method.
Differences between the conventional drawing method and the model drawing method using the new features of Cubism 5.3
Conventional drawing method
- Each Drawable is drawn as a Unity object, each using Unity’s Mesh Filter component.
- Each Drawable object can be sorted using Transform.localPosition.z, such as BackToFrontZ.
- Mask drawing is performed using the pre-processing mask method.
Model drawing method using new features
- Mask drawing is performed using the high-definition mask method.
- Each drawable object (Drawable and Offscreen) is processed in CubismRenderer.DrawObject().
- Each drawable object is drawn on a single RenderTexture and then the RenderTexture drawing is applied to the Plane.
- Each drawable object is sorted in either BackToFrontOrder or FrontToBackOrder.
Effects caused by the model drawing method using new features
In the model drawing method using the new features, the process of forcing the Unity object into the drawing using MeshRenderer.sortingOrder, Transform.localPosition.z, etc., as described in “Put another sprite between the Drawables of the model,” is no longer possible.
Extensions to reduce these effects will be implemented in the future.
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.
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.