Cocos Creator v2.4.3 released, now using Cocos Dashboard!

Cocos Creator v2.4.3 released, now using Cocos Dashboard!

Cocos Creator v2.4.3 is here! This update brings more new features, optimizes performance and improves stability.

It is recommended for all v2.3.x developers to upgrade! Please perform the necessary technical evaluation and backups before upgrading.

Note: Yes, please use Dashboard now to Download and manage Cocos Creator

Downloads

Dashboard for MacOS

Dashboard for Windows

Download Creator from Dashboard

Cocos Dashboard

The Cocos Dashboard serves as a unified downloader and launch portal for Cocos Creator and Cocos Creator 3D engines. Everyone can upgrade and manage multiple versions of Cocos Creator. In addition, unified project management and a creation panel is integrated, which is convenient for everyone to develop projects with different versions of engines at the same time.

Manage projects developed under different versions:

You can choose to use a different version of Cocos Creator when creating a new project:

What’s new

Cocos Creator 2.4.3 is finally here! This update brings great new features and performance improvements, such as support for nested use of Prefab and support for Android x86_64. In addition, it fixes problems since version 2.4 and improves the stability of the editor. I hope everyone can use Can be more handy and get twice the result with half the effort.

It supports nested use of other Prefabs in a Prefab, thereby reducing the number of duplicate resources and making it easier to maintain and update.

DmE0ppJV

  • Added support for Android x86_64

The Android platform can be built with x86_64, which can run on more devices and emulators.

Xd7Ozxrw

  • The simulator adds the option of whether to clear the cache

Improvements

  • Optimize the size of the JSON file after construction, and merge all JSON, which can reduce the size of JSON by up to 30%

  • Upgrade the Cannon physics engine version to 1.1.1

  • The native platform supports the use of breakpoint resume after downloading remote resources fails[#345]

  • Optimize the editor’s import speed of Plist resources

  • Optimize the performance of executing cc.resources.load in the editor

  • Support loading Asset Bundle [#153]

Engine

  • [CORE]Fix the problem of shared attributes in the clone method of SpriteFrame [#7030], thanks to Xiaopang Dacheng

  • [CORE]Fixed the issue that resources cannot be removed from the build when editorOnly acts on resource properties[#7048]

  • [CORE]Fixed the problem that the calculation results of cc.Quat.rotateX, cc.Quat.rotateY, cc.Quat.rotateZ may be incorrect [#7036]

  • [CORE]Fixed the problem that z value is reset to 0 when setPosition and setScale do not pass in z value [#7104], thanks Dacheng Xiaopang

  • [AUDIO]Fixed the problem that AudioSource could not get duration[#7035]

  • [AUDIO]Fixed the problem that the AudioSource component checked loop and mute invalid [#6935]

  • [AUDIO]Fixed the issue that audio did not stop playing when switching scenes[#7317]

  • [PARTICLE] Fix the issue that the particle system InputAssembler is not cleared [#7060], thanks to caogtaa

  • [PARTICLE]Fixed the issue that the particle system component cannot switch to other SpriteFrame in the gallery[#7000]

  • [LABEL]Fixed some spikes in Label rendering[#7132]

  • [LABEL]Fixed the issue of color property sharing of LabelOutline, LabelShadow, MotionStreak components [#7027]

  • [LABEL]Fixed the problem of invalid label color modification in start. [#7018]

  • [LABEL]Fixed the problem of invalid modification of string attribute when text is hidden in BITMAP mode. [#7003]

  • [PHYSICS]Fixed the problem that once a rigid body enters dormancy, collision with other rigid bodies cannot produce collision effects[#7119]

  • [CAMERA] Fix the crash when rendering EditBox, VideoPlayer, WebView when there is no camera, [#332]

  • [CAMERA] Fix the problem that the correct size of the camera cannot be obtained in the onLoad function, [#7073]

  • [WIDGET]Fixed the issue that when widget is set to ON_WINDOW_RESIZE, there is no update when setContentSize is used [#7275]

  • [ASSET] Fix the problem of loading the same Asset Bundle multiple times and failing to load [#7424]

  • [ASSET] Fix the problem that loading the same image by calling loadRemote continuously [#6941]

  • [ASSET]Fixed the problem that the progress callback is still being executed after the resource loading fails[#7121]

  • [ASSET] Fix the problem that the return value of Bundle.load is not an array when passing in an array [#6923]

  • [ASSET] Fix the problem that the script loading order may be incorrect [#7065]

  • [ASSET] Fix the problem that Sprite.spriteFrame cannot be switched during lazy loading, [#7233]

  • [ASSET] Fix the problem of calling cc.resources prematurely in the project script and prompting that it does not exist.

Native

  • Fix the issue of the wrong width and height of SafeArea components on Android platform [#2562]

  • Fix the issue that SafeArea is not recalculated after Android rotation [#337]

  • Fix the problem that the gravity sensor is not correct after the iOS device screen is flipped [#2791]

  • Fix the problem that the iOS device orientation is set to upside down and the display is wrong [#2787]

  • Fix the issue that the iOS platform is rotated immediately when the LaunchScreen screen is displayed, and the touch coordinates may be abnormal [#309]

  • Fix the crash issue below Android 4.4 [#2532], thanks to deyongzhong

  • Fix potential memory leaks and null pointer problems [#2512], thanks to quink-black

  • Fix the issue that popping and retracting EditBox causes the screen width to change [#2630]

  • Fix the problem that the cursor will automatically jump to the end when editing text in EditBox on iOS [#2669]

  • Fixed the issue that EditBox Korean Lenovo was interrupted under iOS [#2669]

  • Fixed the problem that temporary files were not deleted after downloading resources failed [#2629]

  • Fix the problem of incorrect splicing of cache resource paths on iOS[#311]

  • Fix the problem that the spine and dragonbone on the remote server cannot be displayed [#322]

  • Fix Dragonbone crash problem[#351]

  • Added ENABLE_NATIVE_TTF_RENDERER macro to control whether to use native renderer for ttf font rendering [#7053]

  • Fix the problem that the native platform cannot open mipmap [#2689]

  • Fix the problem of spotlight rendering error on native platform [#2695]

  • Fix the problem that exceptions in the async function will not be printed [#328]

  • Fix the problem of inaccurate jump of iOS VideoPlayer [#2531], thanks goesByhc

  • Fix the problem that VideoPlayer.play is called when the video is not loaded and will not play [#329]

  • Fix the issue of abnormal crash when calling CallStaticObjectMethod[#2706]

  • Fix the problem that the native platform cc.game.restart reports errors [#347]

  • Fix the problem that the native platform ttf resource fails to load on the remote server [#7380]

Editor

  • Fix the problem that undo will report an error when adding DontSave private mark to the object in the editor

  • Fix the problem that the return value of cc.resources.loadDir in the editor is inconsistent with the runtime

  • Fix the problem of loading all resources in Asset Bundle during preview

  • Fix the problem that JSON files cannot be merged completely after setting Bundle to merge all JSON files

  • Fixed an issue that caused the editor to crash when there is a problem with the RichText data in the scene or prefab in rare cases

  • Fixed the problem that animation cannot be loaded when the timeline panel pops up

  • Fix the problem that the gizmo is not updated when the center value of SphereCollider3D is modified in the editor.

  • Improve the editor UI

  • Fix the problem of loading failure when previewing the built project

  • Fixed the problem that the dependent resources were not exported when exporting resources

  • Fix the problem that the auto-atlas in the plugin cannot be built

  • Fix the issue that the frame event parameter added by the animation editor is invalid when the value of the boolean type is false

  • Fix the problem that the preview error is reported when the physical module is not checked [#7075]

Mini Game

  • Fix the problem that the input state of the mini game is chaotic when the input box is switched when the soft keyboard is pulled up [#136]

  • Fix the problem that loadRemote cannot load pictures in the temporary directory [#155]

  • Fix the problem that XHR cannot set the timeout property on WeChat[#164]

  • Fix the problem of audio playback failure on some small game platforms [#7341]

Web

  • Fix the problem that the video cannot be paused when clicking on the video in Firefox [#7372]

  • Fix the problem of low frame rate on iOS14 devices [#7415]

Upgrade Tips

Upgrading a project from a previous version of Cocos Creator is irreversible. Please backup the old version of the project before upgrading.

Projects under development can usually be upgraded seamlessly, but because of the uniqueness of each project, developers should conduct a technical evaluation based on their project’s own needs. If developers encounter difficulties in upgrading, please feel free to give us feedback and we will try our best to assist. In addition, due to stability considerations, it is recommended that projects that are about to be launched or already launched be upgraded with caution.

Upgrade from <2.4.0 version

  • cc.loader is no longer recommended, please use the latest cc.assetManager instead, please refer to the Resource Management Module Upgrade Guide

  • The sub-package function has been upgraded to Asset Bundle, please refer to the Resource Subcontract Upgrade Guide

  • Adjusted the directory structure after the project is built and adjusted the API of BuildResults. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guide

  • The cc.RawAsset that was deprecated since 1.10 has been officially removed, please use cc.Asset instead. Since 2.4 is no longer compatible with the legacy usage of the RawAsset type in the original 1.x project, it is recommended that all projects to be upgraded to 2.4, especially those upgraded from version 1.9, be edited in any 1.10 ~ 2.3 version. All warnings or errors output when the compiler compiles the code are processed correctly, and then upgraded to 2.4.

  • cc.Color.fromHex is deprecated, please use cc.Color.fromHEX interface

Upgrade from < 2.3.3 version

  • The CCTexture2D and CCTexture2DRGB methods in the Effect have been abandoned.

  • Vec3.FRONT has been abandoned, please use Vec3.FORWARD instead.

Upgrade from < v2.3.0 version

Since v2.3.0, Android and Android Instant use the same build template, please note:

  • If the code is used solely by the Android platform, please put it in the app/src directory, and the third-party library used by itself, please put it in theapp/libs directory.

  • If the code and third-party libraries used by Android Instant are separate, please put them in the game/src, game/libs directories.

  • For code and third-party libraries shared by Android and Android Instant, please place them in the src and libs directories under the proj.android-studio root directory, respectively.

  • proj.android-studio under the root directory jni/CocosAndroid.mk, jni/CocosApplication.mk, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk and app/jni/Application.mk, Android Instant, please put in game/jni/Android.mk and game/jni/Application.mk.

  • When Cocos Creator compiles for Android, it will execute assembleRelease/Debug by default, and when compiling for Android Instant, it will execute instant: assembleRelease/Debug.

In addition, when Cocos Creator compiles for Android, it will execute assembleRelease/Debug by default, and when compiling Android Instant, it will execute in``stant:assembleRelease/Debug.

If you have customized the pause logic when switching between audio background and background, please remove it after upgrading to 2.3.0 Currently Cocos Creator games automatically pause and resume audio internally when switching between front and back on all platforms. If the developer has customized this block before, and listens for and performs audio operations like cc.audioEngine.pause() and resume(), it may conflict with the engine’s default behavior. If you encounter related audio issues, simply remove the corresponding custom code.

Upgrade from version v2.0 – v2.3.0

Starting from 2.3.0, the Canvas component is no longer responsible for setting the Canvas node size to the screen size. This behavior will be implemented in conjunction with the Widget component. To ensure compatibility, after the 2.0 project is upgraded, the node where Canvas is located will automatically add Widget components. (No problem upgrading from a 1.0 project)

Upgrade from < v2.2.0

Starting from 2.2.0, we have strengthened the memory management mechanism, and now require users to dynamically create cc.Node which is independent of the scene node tree through code must be released through destroy(), otherwise the engine cannot know when to recycle this type The memory of the node will cause a memory leak.

  • In addition, the nodes that are manually removed from the scene need to be unified when they are not needed.

// Assuming testNode is a node in the scene, if it was manually

// removed from the scene before, such as

testNode.parent = null;

// or

testNode.removeFromParent(true);

// or

parentNode.removeChild(testNode);

// If testNode will be used again in the future, there is no need to

// manually destroy the node otherwise it should be called manually

testNode.destroy();

  • If a node is managed via cc.NodePool, it is not affected.

Upgrade from < v2.0

If you open the 1.x project, all resources such as scenes will be upgraded automatically. If there are warnings or errors in the code, you can refer to v1.10.0 Resource Upgrade Guide and the v2.0.0 Upgrade Documentation.

4 Likes