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

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

Cocos Creator v2.4.1 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, you 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

New platforms always mean new opportunities and challenges. Cocos Creator 2.4.1 adds support for two new platforms: HUAWEI AppGallery Connect and lianshang games. You can now choose these platforms when building. This version allows your game to connect to Huawei HMS Core with one click, and upload to HUAWEI AppGallery with one click Connect, eliminating the complicated operations such as accessing SDKs and uploading platforms during the development process, helping developers create high-quality innovative applications and enhance the game experience!

Added HUAWEI AppGallery Connect release platform

In Cocos Creator, through the HUAWEI AppGallery Connect publishing platform, developers can access Huawei HMS Core with one click, including login, payment, Share, Location, Analysis and other services that can greatly improve the developer’s work efficiency.

Developers can enable the SDKHub in the service panel and configure the corresponding SDK presets.


Choose HUAWEI AppGallery Connect platform during building, and select the preset SDK preset.

After the building is completed, you can upload with one click through the upload window.

Added LianShang game publishing platform

LianShang Mini Games is a mini game application platform under the WiFi Master Key, which is convenient, lightweight, and free of installation. It is now officially supported by Cocos Creator. Developers only need to select the Lianshang Mini Games release platform when building, and the platform adaptation is automatically completed.

For more information about publishing to LianShang Mini Games, please refer to the Publishing documentation.

Release Notes

Bug fixes

  • [Engine] Fixed the problem of the wrong execution sequence of plugin scripts at runtime [#6983]

  • [Engine] Fixed the problem that the scene may fail to load when delayed loading is enabled [#6983]

  • [Native] Fixed the wrong typesetting of the rich text component on the native platform [#6975]

  • [Editor] Fixed the problem that the scene view is automatically switched to 2D view when entering the Prefab editor mode

  • [Editor] Fix the problem that the build fails after the main package is configured as a mini game sub-package on the Xiaomi mini game, OPPO mini game, and vivo mini game platform

Known issues

  • After the iOS device is upgraded to iOS 14 beta.2, there will be a problem that the web platform cannot display the screen temporarily. You can customize the engine and merge the changes manually [#6974] to resolve. We will continue to follow up with subsequent versions of iOS 14 to avoid compatibility issues.

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.

1 Like

This fix, if I understood it correctly, was not fixed.

I have an script that defines the names of the libraries to be imported, is really simple, just check if an global variable exists, then sets it. This script is marked as plugin, but when a normal class will use it to require another script, this variable is not setted yet, and the plugin will run after a normal script was loaded.