Cocos Creator v2.1.2 released! (More 3D)

Cocos Creator v2.1.2 released!

Six months has passed since the release of Cocos Creator v2.1.0, and the team has been hard at work creating the next releases. Cocos Creator v2.1.0 is our most popular release to date. The development teams effort will be spent on Cocos Creator v2.1.0 and therefore maintenance of v2.0.x will be discontinued. v2.0.x users should consider upgrading to v2.1.1 when it makes sense to do so.

The v2.1.2 update includes not only general experience optimizations and bug fixes, but also the optimization of pure 2D projects, as well as a decrease in project size. At the same time, this version also incorporates all the changes in v2.0.10, supporting the two new platforms: Xiaomi Mini Games and Cocos Play.

What’s New

Optimizing 2D projects

Previously we had always positioned v2.1 as a 3D predecessor, so v2.1 was lagging behind for the care of pure 2D projects. However, v2.1.2 has been carefully optimized to work well with both 2D and 3D projects. Now we officially recommend that all v2.0 projects be upgraded to v2.1.2. Projects upgraded from v2.0 will default to 3D modules, ensuring that there is no impact on the package and performance of 2D projects. To add 3D support, manually check the 3D module in Menu → Project → Project Settings → Module Settings.

Supports Xiaomi Mini Games

Cocos Creator officially supports publishing to Xiaomi Mini Games. For detailed usage, please refer to Publish to Xiaomi Mini Game.

Supports Cocos Play

Cocos Creator officially supports publishing to Cocos Play. For detailed usage, please refer to Publish to Cocos Play.


Improve the WeChat game resource loading process

  • Fixed a problem where the resource might not load successfully (thanks to snow_storm for feedback) [#97]

  • Optimize processing logic when caching fails [#98]

  • Fixed a problem with subsequent callbacks of remote images without multiple callbacks [#96]

  • Avoid crashes caused by oversized json file parsing (thanks to canghai7789 for feedback)[#101]

  • Adjust the cache interval to reduce the impact on the game frame rate [#97]

Editor improvements

  • Complete automatic atlas algorithm, now you can generate the smallest size atlas without manually adjusting max size

  • Improve Windows platform support for multiple monitors. Now the editor automatically detects window visibility when it starts, ensuring that the window displays properly.

  • Increase warning information before project upgrade or downgrade to prevent users from misoperation

  • Added DragonBones and Spine’s dressup demo [#725] in the included sample project

  • Optimized editor compatibility with GPU devices and reduced false positives due to WebGL compatibility

  • Improved the Asset Watcher mechanism. If the type of an accessor(getset) of a component is defined as an array of resources, the setter will be triggered to reset the entire array when the corresponding resource changes.

Engine improvements

  • Turn off preserveDrawingBuffer by default on WeChat game, which solves the problem that the game will be stuck for a few seconds from the background to the front desk [#4537]. (The WeChat game must be enabled with preserveDrawingBuffer when it is first released, otherwise the scene switch will be black)

  • Improved positioning accuracy of Label on native platform [#4765], [#1764]

  • Optimized BMFont Memory usage during rendering [#4651]

  • Allow Label to be modified again after setting it to BITMAP mode (although it is still not recommended, resulting in additional memory and performance overhead)

  • Reduced the timeout for loading ttf fonts from Web platform from 60s to 3s [#4536]

  • Added url attribute to Asset to get the actual url of the current resource. Developers can directly call the platform’s native API to use these urls [#4536]

Bug Fixes

Editor fixes

  • Cannot convert undefined or null to object may be reported when fixing a build project

  • Fixed rendering problems caused by the offset of some Sprites when importing plist atlas

  • Fix gizmo related issues for circle collider

  • Fixed an issue where VideoPlayer and WebView were not displaying correctly in the editor

  • Fixed an issue where the render component could not save the custom material [#4390]

  • Fixed an error when compiling scripts using the command line

  • Fixed issue where the scene editor does not display the animation track in the animation editing mode

  • Fixed issue where the plugin’s own runtime-resource could not be displayed in the explorer after reloading the third-party plugin reload

  • Fixed a problem where the project might fail to build when the image suffix in the automatic collection is named uppercase PNG

Engine fixes

  • Fix Input events Respond to problems with hierarchical errors in individual cases [#4522]

  • Fixed an issue where the z setting of the 3D node is invalid [#4408]

  • Fixed 3D GPU bone count failed to determine correctly, causing problems that the model may not display in some cases [#4772]

  • Fixed an issue where releasing remote image release failed [#4536]

  • Fixed Spine and DragonBones rendering batch invalidation issues in v2.1.1 [#4645]

  • Fix Spine uses rendering problems after clipping [#4744]

  • Fix Label When using BITMAP mode, dynamic mapping does not work [#4393]

  • Fix Label When using CHAR mode, Label Outline will be cropped [#4550] [#4807] [#4809]

  • Fixed PageView Sliding position calculation error when dynamically adding page [#4556]

  • Fixed an issue where cc.tween has a value of 0. [#4790]

  • Fix the problem that the distance returned by the ray detection will be affected by the node scaling [#4562]

  • Fixed an issue where built-in resources would be emptied when restarting the game [#4509]

  • After the repair project is directly upgraded from version 2.0 or earlier, the Rotate related Action orientation will be wrong.

  • Fixed native platform Label rendering performance degradation problem [[#1765]] ( [#143]

  • Fix native platform, if you render the 3D model with less bones first and then render the model with more bones, the problem will be rendered incorrectly [#4473]

  • Fix native platform after executing If there are still resources downloaded in the background, it will cause a crash [#1763]

  • Fixed Spine on the native platform. Frequent loading and unloading of the resource [#1758]

  • Fixed native platform sub-package scripts are not encrypted as jsc files

  • Fix Windows platform Label Inconsistent text size [#1766]

  • Fixed a problem with WebGL compatibility errors reported on some browsers after version 2.1 [#4394]

  • Fix Web platform EditBox occlusion of other UI control touch events (change default stayOnTop to unStayOnTop)[#4705]

  • Fix Web on the mobile sideEditBox When cloning the soft keyboard, the problem of adapting the Canvas size multiple times[#4705]

  • Fix Web platform EditBox Placeholder shows incorrect question when multi-line input [#4705]

  • Fix WebAudio setting the volume may not work immediately [#4767]

  • Fixed IE 11 compatibility issue[#4659] [#4701]

  • Fixed iOS on WeChat browser EditBox problem with misplaced touch area after soft keyboard [#4705]

  • Fixed a problem with the Facebook Live SDK logic exception

  • Fix WeChat mini game On iOS Audio may not be replayable [#102] [#107]

  • Fix WeChat mini game on background music can not stop the problem [#4793]

  • Fix WeChat mini game answer phone after Audio no longer resumes playing [#4757]

  • Fix WeChat mini game Open field does not support the error caused by Button Gray Effect [#4474]

  • Fix WeChat mini game Open domain does not support WebGL caused an error [[#4748]] (

  • Fixed call to WeChat game in version 2.1.1 subContextView.update() Unable to update open domain map issue [#4721]

Since v2.0.0 has been rewritten from the bottom with a 3D renderer, Cocos Creator has evolved into a game engine that can be both lossless and purely 2D and 3D. In the future, Cocos Creator will continue to adhere to the 2D first concept, continue to improve 2D game development experience and basic performance, and gradually introduce 3D features suitable for 2D games.

We are proud of v2.1.2, and we wonder if you are proud too? Good quality is inseparable from careful polishing, and Cocos will continue to improve the quality of its products with a down-to-earth spirit. We welcome our community to continue to submit feedback to us through forums, GitHub, Cocos Enterprise Services and other channels!


v2.1.2 for macOS
v2.1.2 for Windows

3D Example

After downloading v2.1.2, create a new example project and open the case under assets/cases/3d to experience the 3D features.


You are all amazing!!!
Keep up the good work. Will test the engine tomorrow.

Now… I will wait for material system!


the cocos play and xiaomi mini games links don’t work for me :frowning:

Thanks, I published the new docs a few days ago. I will look into this today and see why.

Edit: I never translated them.

These are in Chinese and I’ll get these translated.

What is the purpose of the “internal” folder below the “assets” folder.
Can I hide it from the project?

Let’s ask @jare

@jare ? :slight_smile:

He will be here don’t worry. Team worked incredibly hard this week and some rest is appropriate. I’ll circle back Sunday and remind if needed.

I upgrade my project from 2.1.0 to 2.1.2 and some bitmap fonts are broken, how to fix it, thank you. Below is project demo and my font. (9.6 KB) (793.0 KB)

@jare can ask someone to take a look when he starts his work week.

1 Like

Happy to see a new Update. But a lil bit sad, we don´t get soft-shadows in this release :frowning:

Hi @slackmoehrle

You mentioned that this version incorporates all the changes in v2.0.10 but according to the Roadmap this will be merged in v2.2.0

Can you please re-confirm that v.2.1.2 contain all the changes in v2.0.10 please?


Let me check with the engineering team to see what is the correct answer.

1 Like

Sure, thanks dude. I’ll be waiting your answer,

internal asset that is engine default asset resource!
eg: grey material, sprite material!

it is always present, but now exposed in editor!
you can copy and modify!

and it can’t hide in project!

2.0.10 features that make sense were merged into 2.1.2 now.

What the roadmap means is that 2.0.10 will go away as a product version being replaced by 2.2, which be 2.0.10 + 2.1.2. 2.2 then becomes the latest supported release.

Make sense?

we are currently using 2.1 with hot update, should we upgrade to 2.1.2?

after upgraded, can we just hot update (using the current app built with 2.1) the new files built by 2.1.2 or do we need to re-compile app and ask user to download the game again?

Basically, I wanted to know 2.1.2 is just scripts level changes or it’s native codes level changes.

Is there any new information about the bitmap font? Most of my bitmap fonts are broken after update

Let’s ask @jare to help us.