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
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
Following the release of v2.4.1 last week, Cocos Creator has brought you the long-awaited byte game platform support! A new platform always means new opportunities and challenges, and will bring more users and potential to developers. We also look forward to the explosion of more excellent products on byte games! We recommend that developers who need to release byte games upgrade the engine to the latest version to get the best experience.
Byte games
The byte game is developed based on the full product matrix of Bytedance and includes such creations as Today Toutiao, TikTok and Today Toutiao Speedy Edition. It does not require users to download, just click to open the new game type that is ready to play. ByteDance’s full product matrix takes content distribution as the core, and promotes the distribution of small games through content, and uses content to bring volume and fission to small games. Currently, there are very rich application scenarios. There are traffic portals in natural search, feed stream, personal homepage, small video, video comment area, etc. For detailed instructions, please refer to the Understanding Mini Games: Overview of Traffic Portals article (Chinese Only). In terms of revenue, ByteDance currently supports both advertising and in-app purchases.
For games developed with Cocos Creator, developers only need to select the ByteDance game publishing platform when building, and Cocos Creator automatically completes the adaptation and building.For details, please refer to the Publish to Byte Games documentation.
Known issues
- After the iOS device is upgraded to iOS 14 beta.3, there will be a problem that the web platform cannot display the screen temporarily. You can customize the engine and manually merge the changes #6974 for repair.
v2.4.1 Byte platform has been unlocked synchronously
Cocos Creator v2.4.2 and v2.4.1 are exactly the same in terms of product functions, so the release portal of byte games for existing v2.4.1 users has been unlocked through hot updates. v2.4.1 users only need to start Cocos Dashboard v1.0.8 when the network is connected, and then open the editor. If unsuccessful, please make sure that Cocos Dashboard is using the latest v1.0.8, and completely exit and reopen. Minimizing the app isn’t good enough.
In addition, there is more good news: v2.4.1 already supports the Huawei AppGallery Connect platform, and developers can access Huawei HMS Core with one click, currently including account, Services such as payment, advertisement, and games will continue to support SDKs such as push, analysis and positioning in the near future.
Also, Cocos Creator will cooperate with Huawei in all aspects, especially at the technical level, integration with the underlying algorithms of CG Kit, tap Vulkan’s extreme rendering capabilities, release greater graphics rendering performance, and improve rendering efficiency. At the product level, Huawei’s HMS Core and AppGallery Connect will also be successively connected to more high-quality services to help developers develop higher-quality games.
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 latestcc.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 usecc.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 usecc.Color.fromHEX
interface
Upgrade from < 2.3.3 version
-
The
CCTexture2D
andCCTexture2DRGB
methods in the Effect have been abandoned. -
Vec3.FRONT
has been abandoned, please useVec3.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
andlibs
directories under theproj.android-studio
root directory, respectively. -
proj.android-studio
under the root directoryjni/CocosAndroid.mk
,jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed inapp/jni/Android.mk
andapp/jni/Application.mk
, Android Instant, please put ingame/jni/Android.mk
andgame/jni/Application.mk
. -
When Cocos Creator compiles for Android, it will execute
assembleRelease/Debug
by default, and when compiling for Android Instant, it will executeinstant: 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.