Download Cocos Creator
2021.10.11

V3.3.2

Publish Time: 2021.10.11

Highlights

The main function of this version is to allow native applications built by the engine to support iOS 10+. In order to support iOS 10+, the engine code removed the dependency on C++17.

Some functions of the engine depend on C++17, and some functions require using the Android API. For the convenience of developers, the function configuration interface of the editor prompts for these dependencies. For example, when Android uses the delayed pipeline, Android API 21+ is required. If the configuration chooses to use the delayed pipeline, the editor will prompt the required Android API version:

Of course, we also provide a complete document explaining the requirements of each functional module for the Android API and C++ versions. For more information, please refer to the native options documentation.

Key update list

  • Cocos Store download has improved performance
  • Native GPU Instancing material switching causes rendering failure
  • Fix the problem that muti cannot be modified in the Two Curve mode of the curve component
  • Fix the problem that the override may be lost when saving immediately after undo in the prefab modification mode
  • Fix the UITransform component or Canvas node problem when adding UI nodes when editing prefab resources

Known Issues

  • Topon and Tradplus Service plugins will have exceptions when building the IOS platform, which we will fix with a hot update in the near future.

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without a compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

Upgrade from version <3.1.0

  • Starting from v3.1, the priority attribute of the UITransform component has been deprecated. If you need to adjust the order of the node tree, please use the setSiblingIndex method. Prior to v3.1, nodes that were created by code and depended on the priority attribute may have inconsistencies in the performance of the node tree. Please adjust them manually.
  • RenderTexture will be inconsistent between positive and negative on different platforms. In order to solve this problem, Creator has added the SAMPLE_FROM_RT macro to the effect. When using RenderTexture, you need to set the SAMPLE_FROM_RT macro to true, and each backend will be uniformly adapted to The correct effect.

Upgrade from version <2.4.5

Cocos Creator 3.x version has been officially released, and version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with 2.4 key issue fixes to ensure that games that have already been launched Smooth operation! therefore:

  • Existing 2.x projects can continue to develop with peace of mind, without a compulsory upgrade to 3.0.
  • If you want to upgrade an existing 2.x project to 3.x due to project requirements, you can use the 2.x resource import tool provided by Creator. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert js into ts, add component type declarations, attribute declarations, and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. For detailed upgrade instructions, please refer to the Upgrade Guide.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.09.17

V3.3.1

Publish Time: 2021.09.17

Bugs Fixed

Editor

  • Optimize the display of the physical laboratory options on the WeChat byte panel. When creating a new WeChat build task, the Wasm physics system will be enabled by default. After it is turned on, it will override the physical backend selection set by the project
  • Fix several animation editor operation problems, including:
    • Some types of animations are not correctly interpolated
    • The curve data is not copied when copying the track
    • Cannot continuously operate the selected keyframe attribute track
    • Wrong position of adding keyframe when scroll bar exists
    • After selecting multiple keyframes, clicking on the keyframe moves abnormally
    • Fix the failure of pasting keyframe data across nodes and attributes
  • Fixed and improved particle curve related controls: including the Bursts property cannot be added normally, the curve containing the Constant mode is displayed abnormally, the display of Two Curve is optimized, and the curve is displayed incorrectly after removing the keyframe.
  • Fixed the problem that joint-texture-layout is invalid when building on the command line (it will cause loading failure at runtime)
  • Fix the problem that the FileId of Component in the created object is the same
  • Fix that when the auto atlas and renderTexture resources are in the same folder, they cannot be previewed and built normally
  • Customized engine settings are stored according to the editor version
  • Fixed the problem that the script in Prefab was not updated in time after modification
  • Fix the problem of creating ui node in Prefab edit mode
  • Fix the problem that the resource is deleted when editing the Prefab resource, and the save will not be automatically transferred to save at this time
  • Fix the issue of select all and copy functions related to the root node on Hierarchy
  • Fixed an issue where Hierarchy called the db interface and reported an error when switching scenes
  • Fixed the problem that the file name of the custom script template cannot be a pure number
  • Fixed the issue of db reporting errors when deleting assets in batches in the assets panel
  • Support the mechanism to filter the suffix of the input name when creating a new resource in the assets panel
  • Fix the problem that the resource that failed to import will report an error every time the focus returns to the editor
  • Fix the problem that the old private node in the scene will cause a warning
  • Fix the problem that the scene resource upgrade will add a blank line at the end

Engine

  • Fix the problem of decreased performance of particle system instantiation Link to Chinese Forum post
  • Fixed iOS 14 Web platform performance issues
  • Optimize the Shadow Culling algorithm. After the upgrade, you need to use resolution and distance to adjust the shadow quality
  • Fix calculation errors on the shadow of the spotlight
  • Shadow bias is changed to use world space units, which will be more intuitive to adjust
  • Fix the crash problem in Android 11 API Level 30 environment
  • Fixed the issue that AnimationClip.createWithSpriteFrames failed to dynamically create animation
  • Fix inverseTransformPoint function error
  • Fix widget’s monitoring of target anchor changes
  • Fixed the issue that the Editbox backgroundImage property was not synchronized when modifying SpriteFrame
  • Rollback the deprecation of the EventKeyboard.isPressed property
  • Fix the problem that the node scale cannot be set in the button’s scale mode and the problem of infinite zoom
Download Dashboard Download Creator From Dashboard
2021.08.24

V3.3.0

Publish Time: 2021.08.24

What’s new!

Performance optimizations

In version 3.3, the focus continues to be optimizing the loading performance and running performance of the WeChat mini-game platform. After all internal projects are upgraded, the WeChat cloud testing starts with a performance score that can reach more than 80 points.

We continue to leverage the native binding layer to a new level, we have implemented a native version of render scene, lighting, model and other render objects, the render objects collection process is also completely running with native implementation, which further improved the performance of the native platform.

There is also a side benefit. Due to the upward migration of the binding level, some underlying data sharing mechanisms have been lifted, such as Pass, SubModel, etc. This makes the implementation of the upper layer of the JS engine, especially the data related to the UI and 2D rendering batches more simplified, and the data structure of some high-frequency operations is restored from TypedArray to direct properties, which makes the performance of the Web and small game platforms also visible improvements .

Optimized Scene editing experience

  1. Optimize the roaming mode of the scene camera, and add an acceleration switch.

2. Add a scene light switch (open by default).

3. Increase the display of the maximum and minimum coordinates of the model.

4. Increase the snap function of Transform Gizmo (when you move, rotate, zoom Gizmo, hold down the Ctrl key, you can increase the value according to the set step length.

5. Optimize the experience of using large projects: reduce the memory usage of the editor, avoid crashes, and optimize lag.

New Animation Editor and Animation Data upgrade

Currently, the Animation Editor has built-in curve editing, which matches the time axis, and supports the editing of the time curve between any key frames.

Animation Data has also bee upgraded to introduce a new basic curve class, refactoring AnimationClip, and unifying the curve data used by animation and particle systems. These works are prepared for the subsequent improvement of the animation system. In the subsequent version, we will support advanced functions such as animation state machine editing and Blend Tree animation fusion.

In addition, the Animation Editor also:

  • Supports the animation display editing after the animation root node is hidden.
  • Optimizes the occlusion relationship between the key frame of the Animation Editor and the small red line, the size of the key frame, the selected color, etc…
  • The Animation Editor supports holding down shift + mouse wheel scrolling to move the timeline.

Platform support and Build system optimizations

Windows x64 build option have been added, and the win32 platform will be gradually deprecated in the future.

In the Build panel, there are many new optimizations:

  • The iOS build configuration option supports developer id configuration related to the target iOS version and signature.
  • After constructing md5Cache, you can add md5 suffix to the script to ensure that the version is updated; (feedback from the forum.)
  • As some versions of WeChat already support astc, the compressed texture configuration of the small game platform astc is currently open.
  • Preferences-Build a new option to open the build log.
  • Build an interstitial configuration panel, which supports direct drag and drop of pictures in the file system to place.
  • Command-line construction supports the input logDest to specify the log output path.
  • Due to the limitation of the number of exit codes on the Mac, the command line to build the exit code has been modified.
  • After the native platform is built, the game name cannot be modified a second time.

Shadow effects and settings optimization

In previous versions, the configuration of shadows has always been a feature that confuses developers. We have a complete plan and are gradually improving shadow support. v3.3 will first simplify the configuration of shadows, optimize soft shadow algorithms, and repair shadows. Part of the effect problem. Configuration adjustments include:

  • Shadow color is migrated to the grayscale adjustment option of Shadow saturation, which will automatically migrate the alpha channel of the old version.
  • The soft shadow options are changed from the previous X9, X25, etc. to Soft and Soft2X.
  • The size of the simplified shadow map is set to High, Medium, Low.
  • Remove the SelfShadow option, now self-shadow calculation will be turned on by default.

v3.1

v3.3

Perfect Physics system

As v3.1 supports the PhysX physics backend, the selection and use of multiple sets of physics engines has also become our focus of use experience. In v3.3, we not only strengthened the physical functions, but also unified the different physical backends as much as possible.

  • Support CCD continuous collision detection function
  • Increase the minimum volume control of the collision body to avoid a series of problems caused by node zero scaling.
  • Supports more flexible configuration options for the PhysX physical packed byte platform.
  • Support the global control in Bullet physics to allow automatic sleep.
  • Support Bullet physics in ray detection filter trigger collision body.
  • Fix local inertia with no additional status of rigid body in Bullet physics.

Other

  1. After the audio system removed the playback control interface on all AudioClip resources in v3.1, the developers were quite dissatisfied. In v3.3, we added the playback control interface back to the AudioClip resource by marking it as obsolete. We still hope that all developers can switch to using the AudioSource component to play audio, which is essential for future audio system enhancements.
  2. Input events were dispatched before they were received. If the event response logic is complex, it may affect the frame callback and cause the frame rate to be unstable. v3.3 has been adjusted to the inter-frame recording event queue, and the events are processed in the main loop. Queue.
  3. The View and Screen interfaces have been simplified, some platform-related interfaces have been discarded, and some of the View’s window control functions have been unified on the Screen.

Key update list

Editor

  • New version of animation time curve editing and animation editor experience optimization.
  • The curve editor of each module is unified: particles, animation, etc…
  • Optimize the editing operation of the particle curve, add a button to reset the coordinate movement range, and support directly right-click to edit the position of the key frame point.
  • Scene editor experience optimization:
    • Add a scene light switch (open by default).
    • Optimize the roaming mode of the scene camera, and add an acceleration switch.
    • Increase the display of the maximum and minimum coordinates of the model.
    • Increase the snap function of the Transform Gizmo .
  • Support HDR file import, the engine internal processing RGBE codec.
  • Editor performance and experience optimization.
  • When the Image resource is changed to SpriteFrame type, the Clamp configuration of texture is automatically modified to CLAMP_TO_EDGE to avoid the problem of edge blending and black edges.
  • Support for editing animation events directly on the property panel with animation model.
  • Fix the resource leakage problem in the editor and reduce the memory usage.
  • Turn on ASTC compression texture configuration for WeChat mini game platform.
  • Optimize the performance of the hierarchy panel, add prefab nodes to directly enter the editing function of prefab resources.
  • Optimize the performance of the console panel and fix the problem that a large amount of log data slows down the startup speed.
  • Color picker supports color gamma correction preview.
  • Inspector supports grouped display of component attributes, using @group decorator
  • The inspector edit node adds the world coordinate of the copy node.
  • Supports a single grayscale image or a combination of channels of the rgb channel that displays the baking results.
  • Support custom script templates, and some preset variables can be used when generating scripts.
  • Support the installation directory with Chinese on Windows platform.
  • iOS build and fill configuration options: target iOS version, signature-related developer id.
  • Added generation platform option for Windows platform, support win32 and x64 options
  • Support script import map
  • Added the function of clearing code cache, the entry is in the menu: [Developer → Cache → Clean Code Cache]
  • At the bottom right corner of the editor, add a hint that the engine version is inconsistent with the editor version.
  • Electron upgraded to 13.1.4.
  • Fix the occasional progress bar stop problem when building projects with m1 cpu devices.

Engine

  • Optimize the AO calculation in the standard lighting model.
  • Shadow parameters and rendering optimization.
    • Repair the shadow effect, optimize the shadow edge blur algorithm.
    • Migrate Shadow Color to Shadow Saturation single channel option, it will automatically migrate the alpha channel of the old version.
    • The soft shadow options are changed from the previous X9, X25, etc. to Soft and Soft2X.
    • The size of the simplified shadow map is set to High, Medium, Low.
    • Remove the SelfShadow option, now self-shadow calculation will be turned on by default.
  • Introduce general curve class (Curve).
  • Refactoring AnimationClip, refactoring and upgrading of animation data: prepare for the fusion of animation state machine and complex animation.
  • Optimize the first screen rendering speed of WeChat mini games.
  • Fixed the rendering problem caused by UI transparency cascade.
  • Fixed the problem of Label repeatedly adding dynamic pictures.
  • The particle curve uses unified Curve data.
  • Physics Engine.
    • Unify the behavior of each physical back-end.
    • Support CCD continuous collision detection.
    • Increase the minimum volume control of the collision body to avoid a series of problems caused by the zero scaling of the node.
    • Supports more flexible configuration options for the PhysX physical packed byte platform.
    • Support whether to allow automatic sleep in the global control of Bullet physics.
    • Support Bullet physics ray detection filter trigger collision body
  • Baking library supports Apple m1 cpu device.
  • Byte game audio is implemented using the WebAudio interface.
  • Event system.
    • All input events are collected and processed in the main loop of the game.
    • AudioSource supports monitoring audio start and end events AudioSource.EventType.STARTED & AudioSource.EventType.ENDED.
    • SystemEventType and macro.KEY are deprecated, use SystemEvent.EventType and KeyCode instead.
    • Deprecated SystemEventType, and some system event-independent enumerations under SystemEventType, please use SystemEvent.EventType.
    • Obsolete static properties Event.TOUCHEvent.MOUSEEvent.KEYBOARDEvent.ACCELERATION.
  • Simplify the discarded part of the view and screen interfaces, and implement them in the platform adaptation layer (PAL).
    • Obsolete view.adjustViewportMeta and view.isAutoFullScreenEnabled.
    • Obsolete view.enableAutoFullScreen, please use screen.requestFullScreen.
    • Obsolete cc.winSize, please use view.getVisibleSize
    • Discard screen.autoFullScreen, please use screen.requestFullScreen.
    • Discard screen.disableAutoFullScreen.
  • Fix the memory leak that may be caused by removing the Spine animation (thanks to Github PR from @hailua54).

Infrastructure

  • Native rendering scene module: optimize the performance of the native platform.
  • Use controllable off-screen FrameBuffer for content rendering.
  • Support MSAA anti-aliasing based on the off-screen FrameBuffer (enable the project macro Enable Antialias): Note that if the project macro is enabled before, the performance loss of the native platform will increase after the upgrade to 3.3, which is normal.
  • Built-in Frame Graph rendering customization layer, subsequent versions will be connected to the rendering pipeline, and the customization interface will be opened to users.
  • Support Subpass in Vulkan & Metal backend.
  • Add the ability to debug with iOS Simulator on Apple devices with M1 CPU, you need to refer to Document Usage.
  • The binding generator is fully compatible with python 2.7/3.x (64 bit).

Breaking changes

  • Building compressed textures no longer has a default png image. If you use a project with this feature, please add a default image for the existing compressed texture configuration in the project configuration (from Forum Feedback.)
  • Currently supports direct import of HDR textures. If you used an RGBE formatted .png before, please replace with the original .hdr textures.
  • We fixed an FBX resource import problem: If the FBX model contains multiple animations, the second and subsequent animations incorrectly include all the animation data of the previous segment.Note: If animation segmentation has been configured, it may need to be adjusted. However, we have not received feedback from external developers on this issue.

Known Issues

  • The native platform Bullet back-end ray detection performance has decreased. We will fix this problem in the next minor version. You can temporarily switch to the PhysX back-end for use or reduce the number of rays per frame.
  • The startSpeedstartRotationgravityModifier properties of 3D particles may display abnormally in Curve mode. This problem will be fixed in the next minor version.

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without a compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

Upgrade from version <3.1.0

  • Starting from v3.1, the priority attribute of the UITransform component has been deprecated. If you need to adjust the order of the node tree, please use the setSiblingIndex method. Prior to v3.1, nodes that were created by code and depended on the priority attribute may have inconsistencies in the performance of the node tree. Please adjust them manually.
  • RenderTexture will be inconsistent between positive and negative on different platforms. In order to solve this problem, Creator has added the SAMPLE_FROM_RT macro to the effect. When using RenderTexture, you need to set the SAMPLE_FROM_RT macro to true, and each backend will be uniformly adapted to The correct effect.

Upgrade from version <2.4.5

Cocos Creator 3.x version has been officially released, and version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with 2.4 key issue fixes to ensure that games that have already been launched Smooth operation! therefore:

  • Existing 2.x projects can continue to develop with peace of mind, without a compulsory upgrade to 3.0.
  • If you want to upgrade an existing 2.x project to 3.x due to project requirements, you can use the 2.x resource import tool provided by Creator. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert js into ts, add component type declarations, attribute declarations, and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. For detailed upgrade instructions, please refer to the Upgrade Guide.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.08.10

V3.2.1

Publish Time: 2021.08.10

What’s new!

Cocos Creator v3.2.1 is the result of merging v3.1.2 into v3.2.1, and continues to bring a more stable experience on the major version branch. Both v3.2 users and v3.1.x users can upgrade without pain.

Release Notes

  • Web & mini-game 2D rendering performance optimization
  • Optimize the startup performance of mini-games
  • Optimize the runtime performance of animation components
  • Optimize the PCF shadow blur effect, which is more friendly to low-precision ShadowMap
  • Optimize bullet physics engine performance
  • Added automatic resource scanning switch, large projects can manually refresh the resource manager to improve the editor experience
  • TS strict mode is not turned on by default when creating a project (manually recommended)
  • Solve the memory leak caused by Mask
  • Solve the memory leak caused by MeshRenderer setting material
  • Enhance the fault tolerance of FBX model import
  • Compatible with obsolete AudioClip playback interface

Important

  • Fixed the issue of the Empty template creation project
  • Fixed the problem of multiple PASS switching in the material editor and some attribute display loss
  • Fixed JointTextureLayout panel cannot be scrolled
  • Fixed the issue that the setting window of SplashScreen could not be closed
  • Fixed the problem that the script on the root node of the prefab is lost in the native environment
  • Fixed rendering errors caused by repeated loading of Morph models
  • Fixed crash when TTF font is missing
  • Animation editor fix
  • Fixed the problem that the keyframe of the animation editor node could not be deleted directly
  • After the animation editor is selected, press Ctrl to add keyframes and then copy and paste, zoom, and arrange keyframes are abnormal
  • Fixed the problem that the scroll bar does not appear when the attribute list of the animation editor exceeds the limit. After the sample is modified, the current time display is not updated in real-time
  • Environment and light and shadow
  • Fixed the texture error after IBL is turned on
  • Fixed the problem that the skybox could not be displayed for the first time setting
  • Fixed GPU pre-baked skeletal animation failure after opening ShadowMap shadow
  • Particle module repair
  • Fixed the issue that the particle material cannot be displayed when the node is not enabled
  • Fixed the particle start speed effect problem and the gravity effect problem when rotating
  • Build module repair
  • Fixed an error after restarting the build plugin feedback from forum
  • Fixed that the cache is still used in the build after the modification of the automatic atlas configuration feedback from the forum
  • Fixed the git ignore configuration problem of Android ABI without default value and native folder feedback from forum
  • Tiled map fixes
  • Fix the display error of Tilesets under multi-atlas
  • Fix the error of TiledLayer getTiledTileAt function
  • 2D skeletal animation
  • Fixed the problem of editor update color, Spine and DB transparency does not take effect
  • Fixed the problem that Spine on web and native uses blend mode to display incorrectly
  • Fixed the issue that the Spine hanging node did not take effect after the editor set the scale

In addition, the v3.3.0 version has entered late testing. This version has some very important updates that should be known in advance:

  1. Further increase the proportion of nativization, implement rendering scenes in the native layer, optimize performance, and lay a solid foundation for the future upper-layer nativization and scene management
  2. Optimized rendering pipeline to reduce IO pressure
  3. Optimize the experience of using large projects: reduce the memory usage of the editor, avoid crashes, and optimize lag
  4. Optimize the standard lighting model
  5. Animation data reconstruction and upgrade: prepare for the animation system upgrade and animation state machine
  6. The physical behavior of each back-end is unified
  7. Delayed rendering pipeline optimization: light source clipping, SSPR, etc.
Download Dashboard Download Creator From Dashboard
2021.07.21

V2.4.6

Publish Time: 2021.07.21

This update fixes some known issues. Cocos Creator will continue to optimize performance to bring developers a better experience! The following is the detailed update content.

Important updates

  • Optimize the loading speed of editor resources. After the resources are imported for the first time, the editor will be opened again afterward. The time required is only less than 50% of the previous version, which greatly optimizes the startup speed and improves development efficiency
  • Optimize the stuttering problem when the editor is built. We moved the engine compilation process to the worker, which will not block the execution of the main process, and the developer can continue the development work while building
  • Optimize the performance of the sequence frame animation on the iOS platform, which can increase the performance by up to three times on the old iPhone 6s Plus model [#8528]
  • Add the scene list to the preview toolbar, you can quickly select the preview scene without switching to the corresponding scene, improving work efficiency

Editor

  • Fixed the problem that the Hash value of the Zip file is inconsistent after each build
  • Fixed the problem that dragging nodes with subclasses to the properties of the parent class is invalid
  • Fixed the problem that the node on the hierarchy panel cannot be located by clicking the attribute option on the attribute panel
  • Fixed an issue where the small Gizmos square was offset outside the node when the light node was moving
  • Fixed the problem that the Explorer did not enter the selected state after renaming and pressing Enter
  • Fixed the problem that the modification of numTilesX and numTilesY in the 3D particle Texture Animation module did not take effect immediately.
  • Fixed the problem that the 3D particle Rotation module could not set separateAxes, and the modified XY rotation was invalid.
  • Fixed the problem that the modification does not take effect immediately when using the curve in the 3D particle size module.
  • Added VideoClip type, the video resource is automatically recognized as VideoClip format after import
  • Fixed the problem of noise in compressed textures, thanks to Xiaopang Dacheng
  • Fixed the problem that the depthWrite value of the built-in Unlit material is incorrect
  • Fixed the problem that the rich text component causes the open scene data to change [#8903]

Engine

  • Fixed the problem of incorrect calculation of material hash value due to uniform order [#8823]
  • Fixed the issue that sp.Skeleton.clearTrack does not reset the initial posture [#8801]
  • Fixed the problem of incorrect calculation of cc.Color.fromHex [#8762]
  • Added Node.setSelfGroupIndex interface for setting self grouping [#8614], thanks to Xiaopang Dacheng
  • Fixed the problem that the Mark component uses the wizard to check the delay loading error after checking [#8264]
  • Fixed the issue of event loss caused by triggering other events in event callback [#8276]
  • Fixed the problem that the game content cannot be pushed up after opening the soft keyboard multiple times [#8374]
  • Fixed the problem that touch nodes, and then hide nodes, all touch events are invalid after releasing the touch point [#8969]
  • Added Animation.hasAnimationState API to determine whether there is an AnimationState, thank you Xiaopang Dacheng

Mini Game

  • Fixed the problem of reporting errors when calling cc.assetManager.cacheManager.clearLRU [#234]

Breaking Change

-cc.sys.isNative is changed to false on the fast game platform

Upgrade Tips

As Cocos Creator 3.0 version has been officially released, v2.4.x will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! therefore:

  • Existing 2.x projects can continue to develop without a compulsory upgrade to 3.0.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

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

Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, due to stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. The following is the upgrade instructions. If developers encounter difficulties during the upgrade, please give us feedback and we will try our best to assist.

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 be upgraded to 2.4, especially those upgrading from version 1.9, be edited in any 1.10 ~ 2.3 version. All warnings or errors output when the compiler compiles the code is 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.0Android 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 the app/libs directory.
  • If the code and third-party libraries used by Android Instant are separate, please put them in the game/srcgame/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.mkjni/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.mkAndroid 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.

Download Dashboard Download Creator From Dashboard
2021.07.15

V3.1.2

Publish Time: 2021.07.15

What’s new!

Cocos Creator 3.1.2 mainly fixes the stability problems of v3.1 and optimizes the editor workflow. All developers are welcome to use and experience! Please make a backup of relevant files before upgrading! The following is the detailed update content.

v3.1.2 is a version that optimizes experience and performance on v3.1.1. The update content of this version is not included in v3.2. Later, the v3.1.2 update will be merged into v3.2.1 and v3.3.0!

Since 3.1.0, the engine group has actually been advancing three version lines in parallel, v3.2.0, v3.1.x, v3.3.0, of which v3.2 has a requirement for the release of Hongmeng 2.0, so the release date is set early Now, for stability, the main reason is to increase the Hongmeng platform support on the basis of v3.1.1. After that, we continue to receive feedback from developers about 3.1. In order to more effectively solve the pain points encountered by developers and lower the upgrade threshold for developers, we have decided to continue to optimize the experience and performance on v3.1.2 Performance, delivered to developers. At present, Cocos Creator v3.x, as a new 3D engine, is still far from the expectations of developers. We hope to give developers stronger confidence through this practical action of continuous delivery. At the same time, thank you to all the v3.x pioneers for their support, it is your feedback that makes the engine more and more perfect!

Release Notes

  • Web & mini-game 2D rendering performance optimization
  • Optimize the startup performance of mini-games
  • Optimize the runtime performance of animation components
  • Optimize the PCF shadow blur effect, which is more friendly to low-precision ShadowMap
  • Optimize bullet physics engine performance
  • Added automatic resource scanning switch, large projects can manually refresh the resource manager to improve the editor experience
  • TS strict mode is not turned on by default when creating a project (manually recommended)
  • Solve the memory leak caused by Mask
  • Solve the memory leak caused by MeshRenderer setting material
  • Enhance the fault tolerance of FBX model import
  • Compatible with obsolete AudioClip playback interface

Important

  • Fixed the issue of the Empty template creation project
  • Fixed the problem of multiple PASS switching in the material editor and some attribute display loss
  • Fixed JointTextureLayout panel cannot be scrolled
  • Fixed the issue that the setting window of SplashScreen could not be closed
  • Fixed the problem that the script on the root node of the prefab is lost in the native environment
  • Fixed rendering errors caused by repeated loading of Morph models
  • Fixed crash when TTF font is missing
  • Animation editor fix
  • Fixed the problem that the keyframe of the animation editor node could not be deleted directly
  • After the animation editor is selected, press Ctrl to add keyframes and then copy and paste, zoom, and arrange keyframes are abnormal
  • Fixed the problem that the scroll bar does not appear when the attribute list of the animation editor exceeds the limit. After the sample is modified, the current time display is not updated in real-time
  • Environment and light and shadow
  • Fixed the texture error after IBL is turned on
  • Fixed the problem that the skybox could not be displayed for the first time setting
  • Fixed GPU pre-baked skeletal animation failure after opening ShadowMap shadow
  • Particle module repair
  • Fixed the issue that the particle material cannot be displayed when the node is not enabled
  • Fixed the particle start speed effect problem and the gravity effect problem when rotating
  • Build module repair
  • Fixed an error after restarting the build plugin feedback from forum
  • Fixed that the cache is still used in the build after the modification of the automatic atlas configuration feedback from the forum
  • Fixed the git ignore configuration problem of Android ABI without default value and native folder feedback from forum
  • Tiled map fixes
  • Fix the display error of Tilesets under multi-atlas
  • Fix the error of TiledLayer getTiledTileAt function
  • 2D skeletal animation
  • Fixed the problem of editor update color, Spine and DB transparency does not take effect
  • Fixed the problem that Spine on web and native uses blend mode to display incorrectly
  • Fixed the issue that the Spine hanging node did not take effect after the editor set the scale

In addition, the v3.3.0 version has entered late testing. This version has some very important updates that should be known in advance:

  1. Further increase the proportion of nativization, implement rendering scenes in the native layer, optimize performance, and lay a solid foundation for the future upper-layer nativization and scene management
  2. Optimized rendering pipeline to reduce IO pressure
  3. Optimize the experience of using large projects: reduce the memory usage of the editor, avoid crashes, and optimize lag
  4. Optimize the standard lighting model
  5. Animation data reconstruction and upgrade: prepare for the animation system upgrade and animation state machine
  6. The physical behavior of each back-end is unified
  7. Delayed rendering pipeline optimization: light source clipping, SSPR, etc.

In addition, various demos are also in production, such as the Parkour Demo that has been put on the Store.

The API documentation page is also being redesigned.

In short, we attach great importance to the voice of the community and will try our best to improve the 2D & 3D development experience of Cocos Creator v3.x step by step.

Download Dashboard Download Creator From Dashboard
2021.06.18

V3.2.0

Publish Time: 2021.06.18

Cocos Creator 3.2 officially supports HarmonyOS, becoming the world’s first game engine that supports HarmonyOS. At the same time, Creator has conducted in-depth cooperation with the Bytedance platform to support the use of PhysX provided by the platform in byte games with experimental features! All developers are welcome to use and experience!

What’s new!

Support building HarmonyOS applications

In version 3.2, Creator supports one-click packaging of games into HarmonyOS applications. After configuring the HarmonyOS SDK and NDK paths, select HarmonyOS one-click packaging in the build panel. For detailed operations, please refer to the publishing HarmonyOS applications documentation.

ByteDance games support the use of PhysX capabilities provided by the platform

Cocos Creator and the ByteDance platform have conducted in-depth collaboration, with the experimental feature in v3.2 to support the use of PhysX physics capabilities provided by the ByteDance platform in ByteDance Mini Games, optimizing the performance of physics calculations, and having a nearly 100% performance improvement compared to Bullet physics

Multithreading can be enabled in the build panel:

gOG6Y_kM

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

Upgrade from version < 3.1.0

  • Starting from v3.1, the priority attribute of the UITransform component has been deprecated. If you need to adjust the order of the node tree, please use the setSiblingIndex method. Prior to v3.1, nodes that were created by code and depended on the priority attribute may have inconsistencies in the performance of the node tree. Please adjust them manually.
  • RenderTexture will be inconsistent between positive and negative on different platforms. In order to solve this problem, Creator has added the SAMPLE_FROM_RT macro to the effect. When using RenderTexture, you need to set the SAMPLE_FROM_RT macro to true, and each backend will be uniformly adapted to The correct effect.

Upgrade from version < 2.4.5

Cocos Creator 3.x version has been officially released, and version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with 2.4 key issue fixes to ensure that games that have already been launched Smooth operation! therefore:

  • Existing 2.x projects can continue to develop with peace of mind, without compulsory upgrade to 3.0.
  • If you want to upgrade an existing 2.x project to 3.x due to project requirements, you can use the 2.x resource import tool provided by Creator. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert js into ts, add component type declarations, attribute declarations and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. For detailed upgrade instructions, please refer to the Upgrade Guide.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.06.01

V3.1.1

Publish Time: 2021.06.01

What’s new!

Cocos Creator 3.1.1 mainly fixes the stability problems of v3.1 and optimizes the editor workflow. All developers are welcome to use and experience! Please make a backup of relevant files before upgrading! The following is the detailed update content.

Improvements

  • Added the ability to create Prefab resources in the Explorer panel
  • Added a new level manager panel that can be set in batches (Alt + click) to lock the node function (after being locked, it cannot be selected in the scene editor panel)
  • When the property in the property inspector is a non-null type, but has a null value, a new creation function is added

Bug Fixes

  • [EDITOR] Fixed the issue that may report errors when building the Android platform.
  • [EDITOR] Fixed the problem that the command line build using default values ​​could not be successful.
  • [EDITOR] Fixed the problem of some boolean parameter conversion errors when building the command line.
  • [EDITOR] Fixed the invalid modification of Target Api Level when building Android platform.
  • [EDITOR] Fixed the problem that the PNG format image is generated incorrectly when the ETC1 RGB Separate A format and the PNG format are selected at the same time for the compressed texture.
  • [EDITOR] Fixed the issue that after adding skeletal animation events, it cannot be deleted all.
  • [EDITOR] Fixed the selection problem of component track in animation editor.
  • [EDITOR] Fixed the problem that the nodes or components in the nested Prefab referenced in the Prefab will be lost after saving.
  • [EDITOR] Fix the problem that the nodes or components in the Prefab will be lost after saving in the newly added components in the Prefab instance.
  • [EDITOR] Fixed the problem that the collapsed state of the property inspector interface record is invalid.
  • [EDITOR] Fixed the issue of whether to modify the child nodes together after editing the layer property of the node in the property inspector panel.
  • [EDITOR] Fixed the problem that the array in the property inspector panel does not recognize the dragged resource.
  • [EDITOR] Fixed the problem that when the SpriteFrame resource is dragged to the level manager panel to create a node, the layer property of the node is not UI_2D.
  • [EDITOR] Fixed the problem that there is no selected record for the last-level resource in the resource preview panel.
  • [EDITOR] Fixed the problem that the resource manager panel cannot accurately scroll to the internal resources in the folded folder.
  • [EDITOR] Fix the problem that the Joint Texture Layout panel cannot be scrolled.
  • [ENGINE] Fix the problem of incorrect effect of SafeArea component [#8654].
  • [ENGINE] Fixed the problem that the time scale of stop is not reset to 0 after calling pause on the audio of the Xiaomi Kuai game platform [#8636].
  • [ENGINE] Fix the issue that the audio of Huawei Quick Game Platform gets currentTime as string type [#8656].
  • [ENGINE] Fixed the problem that the touch event callback of the LianShang game platform will cause the stuck on the low-end machine [#8661].
  • [ENGINE] Fix the problem that touch events are unavailable on the iPad browser [#8673].
  • [ENGINE] Fix the problem that the gravity sensor of QQ browser, WeChat mini game iOS terminal, Baidu mini game cannot be turned on or is incorrect [#8632].
  • [ENGINE] Fix the problem of CacheManager.clearLRU call error [#8663].
  • [ENGINE] Fix the problem that the SubContextView node cannot be rendered due to the modification of the node layer [#8677].

Known Issues

  • There is a problem with the keyboard and mouse adaptation of the WeChat PC. We will fix this problem in the next version, or you can manually merge this PR fix: [#8626]
  • You need to manually call the Sprite.updateMaterial function after setting the RenderTexture in Sprite, otherwise it may cause image flipping problems on some platforms
  • Checking UseIBL on the scene skybox option may cause the cc_environment binding to be lost. This problem will be fixed in the next version

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

Upgrade from version <3.1.0

  • Starting from v3.1, the priority attribute of the UITransform component has been deprecated. If you need to adjust the order of the node tree, please use the setSiblingIndex method. Prior to v3.1, nodes that were created by code and depended on the priority attribute may have inconsistencies in the performance of the node tree. Please adjust them manually.
  • RenderTexture will be inconsistent between positive and negative on different platforms. In order to solve this problem, Creator has added the SAMPLE_FROM_RT macro to the effect. When using RenderTexture, you need to set the SAMPLE_FROM_RT macro to true, and each backend will be uniformly adapted to The correct effect.

Upgrade from version <2.4.5

Cocos Creator 3.x version has been officially released, and version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with 2.4 key issue fixes to ensure that games that have already been launched Smooth operation! therefore:

  • Existing 2.x projects can continue to develop with peace of mind, without compulsory upgrade to 3.0.
  • If you want to upgrade an existing 2.x project to 3.x due to project requirements, you can use the 2.x resource import tool provided by Creator. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert js into ts, add component type declarations, attribute declarations and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. For detailed upgrade instructions, please refer to the Upgrade Guide.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.05.12

V3.1.0

Publish Time: 2021.05.12

The launch of Cocos Creator v3.0 marks a new journey for Creator, and Cocos Creator 3.1 is the first cornerstone of the journey. This version update brings many great new features, including deferred rendering contributed by the Huawei HiSilicon team. Pipeline, PhysX physics backend support, etc.; at the same time, compared to version 3.0, various aspects of performance have also been optimized, such as frame animation performance, loading performance, package body, and so on. We will continue to cultivate deeply on the basis of 3.x, with a sincere attitude and dedicated spirit, steadfastly improve the product experience, and benefit all developers. All developers are welcome to use and experience! Please make a backup of relevant files before upgrading! The following is the detailed update!

What’s new

  • Added deferred rendering pipeline (thanks to the contribution of the Huawei HiSilicon team), you can select the deferred rendering pipeline in the project settings:
  • Introduce multi-threaded rendering architecture. On the native platform, the traditional single-threaded architecture can no longer meet the rendering of large-scale scenes. Therefore, Creator initially split the traditional single-threaded architecture into two main threads, a rendering thread and a device thread, in v3.1. In addition to the split of the main thread, Creator also parallelizes the submission process of command buffers to speed up rendering efficiency. The multi-threaded rendering architecture diagram is as follows:
  • Added PhysX physics support, currently supports native platforms other than Android x86, and has a performance improvement of more than 100% on iOS (if you need to preview on the web platform, you can refer to the physics-3d project in example-3d, the main content is modified In the preview-template folder):
  • The editor supports bone octahedron display, you can visually see the distribution status of the model bones:
  • Support previewing animation on the Inspector of FBX/glTF resources:
  • Open the new version of the curve editor, support to edit the left and right slopes separately, and support the cycle mode of directly displaying the curve:
  • Android platform supports the construction of x86_64 architecture.
  • Support adding/removing components on the Prefab instance.
  • The Mac build supports the M1 option, which is used to better prompt the support issues of some known engine modules on Apple M1 (Silicon) architecture devices.
  • Added the laboratory function of scene instant cache, which is enabled by default, and can restore data after the scene exits abnormally.
  • The editor adds ui-curve and ui-curve-editor components, which can be used directly by plug-in developers.

Release Notes

Improvements

  • Improve the operating performance of the engine’s native platform.
  • Improve the performance of engine frame animation.
  • Improve the loading speed of runtime resources (build mode).
  • Optimize the stuttering problem of the animation editor when editing a large number of key frames.
  • The auto atlas panel adds three optimization options when using auto atlas in the Bundle, which is used to eliminate unused resources in the auto atlas in the Bundle to reduce the package body.
  • Optimize the problem that the automatic atlas is referenced by multiple Bundles, which causes the pictures to be copied, and reduce the package body.
  • Shadow Map supports linear depth, depth map compression (mutually exclusive with linear depth function), self-shadow effect, and normal bias parameter settings.
  • Lighting Map supports RGBE format.

Editor

  • Optimize the event editing panel of the animation editor to avoid generating empty function data.
  • The release path of the build release panel is adjusted to a switchable protocol header.
  • The export/import build configuration function of the build release panel supports cross-version import after export.
  • The build release panel adds a verification mechanism, and the build cannot be built when the build options are filled in incorrectly.
  • Optimize the output log of packaged rpk for some small game platforms.
  • Optimize the construction of output log information and fix the problem of log loss.
  • Optimize the handling of resource loss, which can be automatically restored after resource recovery.
  • New Button locks the Label node by default, making it easy to select in the scene.
  • Fix the scene data problem that may be caused by exiting from Prefab.
  • The animation baking rate can be selected when FBX is imported.
  • Solve the problem that some FBX import will cause the editor to freeze.
  • FBX/glTF adds import option Promote single root node.
  • Fixed the issue that TiledMap was lost when importing .tmx resources.

Engine

  • Fixed the problem of TiledMap animation failure.
  • Fixed the problem that Spine did not take effect in native premultiplication.
  • Fixed the issue that the transparency display of Spine was abnormal when the premultiplication was turned on.
  • Fixed the incompatibility of Vulkan drivers for some models.
  • Fix the problem that the Shadow Map display of Metal related platforms is disordered.

Breaking Changes

  • The playback interface of AudioClip has been removed, and the started event monitoring is not supported. AudioClip is now a pure audio resource type.
  • You can no longer directly call the CCStandardShading function in the effect resource, and encapsulate it in the CC_STANDARD_SURFACE_ENTRY macro definition. It is recommended to only do custom logic in the surface function.
  • Rename the GFX module, remove the GFX prefix, and use import {gfx} from'cc'.
  • The automatic atlas and compressed texture switches have been removed from the build panel, and the project will be processed directly after the automatic atlas and compressed texture are configured.
  • Deprecated cc-fog header files, use cc-fog-vs and cc-fog-fs instead.
  • Removed some constants under sys, including sys.LINUXsys.BLACKBERRYsys.EMSCRIPTENsys.TIZENsys.WINRTsys.WP8sys.QQ_PLAYsys.FB_PLAYABLE_ADS.

Known Issue

  • There is a problem with the keyboard and mouse adaptation of WeChat PC. We will fix this problem in v3.1.1. You can merge this PR manually to fix #8626.
  • The SafeArea component is temporarily unavailable. We will fix this problem in v3.1.1. You can solve this problem by manually merging this PR #8652.
  • You need to manually call the Sprite.updateMaterial function after setting the RenderTexture in Sprite, otherwise it may cause the problem of image flipping on some platforms.

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

Upgrade from version <3.1.0

  • Starting from v3.1, the priority attribute of the UITransform component has been deprecated. If you need to adjust the order of the node tree, please use the setSiblingIndex method. Prior to v3.1, nodes that were created by code and depended on the priority attribute may have inconsistencies in the performance of the node tree. Please adjust them manually.
  • RenderTexture will be inconsistent between positive and negative on different platforms. In order to solve this problem, Creator has added the SAMPLE_FROM_RT macro to the effect. When using RenderTexture, you need to set the SAMPLE_FROM_RT macro to true, and each backend will be uniformly adapted to The correct effect.

Upgrade from version <2.4.5

Cocos Creator 3.x version has been officially released, and version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with 2.4 key issue fixes to ensure that games that have already been launched Smooth operation! therefore:

  • Existing 2.x projects can continue to develop with peace of mind, without compulsory upgrade to 3.0.
  • If you want to upgrade an existing 2.x project to 3.x due to project requirements, you can use the 2.x resource import tool provided by Creator. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert js into ts, add component type declarations, attribute declarations and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. For detailed upgrade instructions, please refer to the Upgrade Guide.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.04.19

V2.4.5

Publish Time: 2021.04.19

What’s new

Cocos Creator 2.4.5 is finally here!

After the M1 chip was launched, the engine group received feedback from everyone, and the adaptation to the M1 chip was prioritized. Cocos Creator 3.0 version has already supported the environment of the M1 chip, 2.4.x followed closely, and finally Version 2.4.5 also officially supports the environment of the M1 chip, everyone is welcome to experience and use it!

New

  • Support Apple Silicon (M1) chip operating environment.

Bug Fixes

  • Fix the problem that caused the built-in effect to fail to load when the effect resource has a syntax error.
  • Fix the problem that the scale bar does not return to 0 when the animation editor is entered for the first time.
  • Fix the problem that the animation sequence on the component changes after editing the animation [#8295].
  • Fix the problem of removing the resident node in onDestroy and reporting an error [#8314].
  • Fix the inconsistency between the scrolling speed of Firefox’s Scroll View and Chrome [#8306].
  • Fix the problem of SafeArea error when playing vertical screen games on iPad, thanks to Xiaopang Dacheng [#224].

Upgrade Tips

As Cocos Creator 3.0 version has been officially released, v2.4.x will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! therefore:

  • Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

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

Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, due to stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. The following is the upgrade instructions. If developers encounter difficulties during the upgrade, please give us feedback and we will try our best to assist.

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.0Android 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 the app/libs directory.
  • If the code and third-party libraries used by Android Instant are separate, please put them in the game/srcgame/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.mkjni/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.mkAndroid 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.

Download Dashboard Download Creator From Dashboard
2021.04.14

V3.0.1

Publish Time: 2021.04.14

What’s new

  • The option simulate global variables is removed, and the option execution scope is newly added.
  • The optional values are Global or Enclosed. When it is Global, execute the script directly in the target environment. When Enclosed, the entire script is wrapped in an IIFE function for execution, which means that variables declared with var at the top of the script will not be promoted to global variables.
  • Added functions for aligning the scene camera to a certain node.
  • Added 2D/3D mode switching shortcut key (number key + 2)

Release Notes

Improvements

  • Give clearer hints when trying to reference Node modules in the project
  • Eliminate redundant code of project scripts in the package body when building
  • Optimize the WeChat engine separation function and module removal to reduce the package body
  • Supports BMFont compressed texture using transparent channel separation format [#8364]

Editor

  • Fix the issue that the command line build will add a new build task
  • Fix the problem that the shortcut keys of the shortcut key panel may not be modified successfully under certain circumstances
  • Fixed the problem of delay in deleting multiple selected animation events by right-clicking
  • Fixed the problem of skeletal animation not being able to click on the property track and move the small red line to view normally in the animation editor
  • Fix the problem that the plugin manager needs to be manually refreshed to display after creating a build plugin
  • Fixed the problem that the plugin manager failed to import plugins on mac
  • Fix the problem of pop-up warning when plug-in mall is closed
  • Fixed the difference between the main light source of the engine and the baking effect
  • Fix the problem of baking non-n*n terrain errors
  • Fix the cache problem in the interface of editing particle nodes
  • Fix the problem that the sub-resource editing interface is not displayed when the picture is of textrue type
  • Fix the problem that the shortcut key configuration panel cannot be scrolled
  • Fixed the issue that the terrain brush of the terrain node was not reset after switching scenes
  • Fix the problem that iOS project cannot be built on M1 device
  • Fix the problem that sub-resources may be lost when glTF resources are imported
  • Fix the problem that the template file of the build plug-in created cannot be modified
  • Fix the problem that scene.name is missing when previewing

Engine

  • [SPINE] Fix the problem that the SkeletonTexture type is not exported [#8359]
  • [UI] Fix the problem of incorrect rendering of static batch components on iOS 14 [#8320]
  • [UI] Fix the incorrect line break of RichText component [#8345]
  • [UI] Fixed the problem of mask click penetration [#8313]
  • [UI] Fixed the always mode problem of Widget [#8304]
  • [UI] Fixed the memory leak of Mask [#8375]
  • [SHADOW] Fixed the problem of setting extra texture error for plane shadow under instancing[#8336]
  • [SHADOW] Fixed the problem that the transparent model renders incorrectly after opening the shadow map under the Nvidia graphics card[#8303]
  • [SHADOW] Fixed the problem that flat shadows are not displayed under multiple light sources [#8328]
  • [TWEEN] Fix the problem that Tween does not support custom easing functions [#8321]
  • [PHYSICS] Fix the problem that the initialization type of rigid body is incorrect when it is not enabled [#8307]
  • [PHYSICS] Fix the problem that setting grid does not take effect when Ammo is running [#8315]
  • [ASSET] Fixed the rendering problem of ETC1 format compressed texture in WebGL2 environment [#8351]

Native

  • Fix the problem that the native Spine/Dragonbones node cannot be displayed after the active change [#8323]
  • Fix the problem that EditBox on Win32 / macOS platform cannot end editing after pressing Enter [#3295]

Breaking Changes

  • After the easing system update timing is changed from the lateUpdate stage to the update stage, the processing timing may need to be adjusted [#8305]
  • In order to adapt to M1, the third-party library is recompiled, and the Xcode version is required to be 11.5+.

Known Issue

  • When importing FBX with negative frame animation, the editor may not work. Please make sure that there is no negative frame animation in the corresponding DCC tool. Later versions will fix this problem.
  • The native platform Spine premultiplied rendering is incorrect, this issue will be fixed in later versions.

Upgrading

Cocos Creator 3.x version has been officially released, version 2.4 will be used as the LTS (long-term support) version, providing continuous updates for the next two years! In 2021, 2.4 will continue to update the version, providing bug fixes and new mini-game platform support to ensure that your project is successfully launched; in 2022, we will continue to provide developers with the key to 2.4 Bug fixes to ensure the smooth operation of online games! Therefore:

  1. Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  2. For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The upgrade operation of Cocos Creator to the project is irreversible. Please submit or backup the old version of the project before upgrading. Most projects can usually be upgraded automatically, but because the project is inevitably unique, developers should try and evaluate the new version of the engine in advance according to the needs of the project. In addition, for stability considerations, it is recommended that projects that are about to go online or already online should be carefully upgraded. For detailed upgrade instructions, please refer to the Upgrade Guide. Those who encounter difficulties in upgrading, welcome to give us feedback and we will try our best to assist.

Download Dashboard Download Creator From Dashboard
2021.02.07

V3.0.0

Publish Time: 2021.02.07

After the v3.0 preview was released, the engine team received a lot of enthusiastic feedback from developers, this feedback really helped to increase the team’s motivation to release an amazing product. Creator v3.0 unifies the development workflow of 2D and 3D, taking into account the development experience from light and heavy games, and integrates almost all the functions of Creator v2.x and Creator 3D 1.x. v3.0 now encompasses these versions under a single umbrella.
v3.0 has been further optimized in performance, improved quality, and introduces more features, such as access to the native runtime of Spine and DragonBones, support for the use of NPM libraries, and refactored the Prefab system and UI System and many other contents.

What’s new

v3.0 uses a new future-oriented engine architecture, which will bring high-performance, data-oriented and load-balanced renderers to the engine, and seamlessly support Vulkan, Metal & OpenGL ES multi-backend rendering. In the future, we also plan to support mobile VR/AR and some of the desktop & console platforms. Below is a brief introduction to core features of v3.0.

Powerful editor features

The integrated editor brings a lightweight and easy-to-use creative experience. Cocos Creator v3.0 is refactored, expanded and upgraded on the editor framework that Cocos Creator 2.x has used for many years.

  • Brand new interface design, more concise and clear.
  • Resource system upgrade, enhanced support for super large projects, more efficient and reliable.
  • Code isolation between modules, pure message-driven, more stable.
  • The extension system is completely modularized to welcome a more powerful plug-in mechanism.

One-click access to Cocos’s quality services

Cocos Creator v3.0 provides one-click access to various high-quality services officially launched by Cocos, improving development efficiency and launching more high-quality content. Cocos will continue to launch additional and improved services.

upload_ca47dfbea206f754b23ead70011f1e71

Brand new Prefab system

Creator v3.0 re-implements the Prefab system with features such as:

  • Support Prefab automatic synchronization.
  • Prefab instance can overwrite attributes in Prefab resource.
  • Support Prefab nesting.

Build system

Build content caching

After building, Creator v3.0 will cache most of the build content, including resources, compressed textures, automatic atlas, engine code, etc. In the subsequent build, if nothing has changed, the cached content will be used directly to speed up the build and improve efficiency.

Task-based build list

The build and publish will be carried out in the form of build tasks, saving the configuration, status, log, etc. of each build, making it easy to switch build tasks and view historical configurations.

build

Compile and generate separately after build

The generation stage of each mini game platform is extracted, allowing to modify the content of the file after build to regenerate rpk/cpk.

Build process hooks

The build extension support adding hooks before and after compilation to customize the build process.

Support Asset Bundle

Creator v3.0 uses Asset Bundles as a resource modularization tool. Developers can build textures, scripts, scenes and other resources into multiple Asset Bundles, and then load them on demand during the game’s running process, thereby reducing the time required to download and load the game for the first time. Asset Bundles can be placed freely as required, for example, they can be placed in remote servers, local, or sub-packages of small game platforms, or they can be reused across projects to load Asset Bundles in sub-projects.

Splash Screen

It supports setting up Splash Screen during construction, which is used to display a cutscene before the game starts, and optimize the startup speed of the first screen.

GameView

GameView is a game running panel embedded in the editor. Developers can run the game directly in the editor without opening the browser preview. In addition to a more seamless development experience, debugging and modifying element states in real time through the scene editor or other panels during the game running process, making game development more efficient!

Extension

Powerful extension system

Cocos Creator v3.0 has a more powerful extension system. Almost all internal modules of the editor are built with extension system. You can quickly create your own extensions in the extended menu to achieve the customizations you want. In addition, Creator v3.0 also provides an extension manager, which can easily manage the operation and uninstallation of all extensions.

extension-plugin

Message communication

Extensions can use IPC messages to communicate with other extensions or the editor core, and quickly and easily use the capabilities provided in the editor. Cocos Creator v3.0 also provides a message manager, which can clearly see the functions currently provided in the editor, reducing the threshold for extension development.

Animation Editor

The Animation Editor is an important module that we have been continuously optimizing. In addition to standard displacement, rotation, zoom animation and sequence frame animation, this animation system also supports driving arbitrary component attributes and user-defined attributes, plus it can be edited at will The time curve and innovative movement trajectory editing functions allow content producers to produce various dynamic effects without writing a line of code, and drive the game logic at will.

640-2

In addition to regular operations, the v3.0 Animation Editor also provides the following shortcut operations to help game developers achieve the desired content:

  • Batch key frame interval adjustment.
  • Copy and paste across node tracks.
  • Indirect attributes (such as material attributes) keyframe editing.
  • Directly select resources and directly edit key frame data in the animation editor.
  • Multi-select key frame zoom, move and delete.
  • Support multi-select nodes to add attribute tracks in batches.
  • Support copy and paste all animation data on the node.
  • Support shielding no key frame nodes and search nodes.
  • Support editing component tracks.
  • Support to adjust the layout of the animation editor.

A more complete tool chain

  • Support model preview.
    • After selecting the model in the editor, you can preview the model resources in all directions, and you can also view various textures used in the default materials.
  • New version of FBX importer.
  • Support the import of glTF resources, support khr-draco-mesh-compression, sparse accessor.
  • Support animation cutting.
  • Provide Mesh Optimizer tool.
  • Model import support quantized joints/weights.

Terrain Editor

Convenient terrain system to quickly draw terrain textures. Terrain editing mainly includes three major functions: Manage, Sculpt, and Paint. It also supports Normal Map, PBR material and custom material.

Built-in baking system

Baking is the process of generating light maps by pre-calculating the influence of light sources on objects and shadows projected with very high level of details. The light maps are then applied to the scene in runtime very efficiently, which can greatly improve the graphics quality of static scenes.

Configuration

Visual macro configuration

Provides a shortcut to modify the engine macro configuration. The configured macro will take effect during preview and build. At the same time, the default value of the current macro configuration will be updated with the configuration of the custom engine.

Batch configuration of compressed textures via presets

Support for adding compressed texture preset configuration, which is used to quickly configure the compression method of texture. After setting presets for image assets, you can also directly modify the presets to update the configuration for corresponding textures all at once, which greatly facilitates the overall management of the project.

Support 2.x project migration

In order to facilitate the upgrade of 2.x users, we provide a project migration plugin in 3.0, which can migrate projects above version 2.4.3 to version 3.0.0. This tool will support the perfect import of old project resources and the auxiliary import of code. Code-assisted import will convert js into ts, add component type declarations, attribute declarations and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade Difficulty. However, there is still a big difference between the 2.x API and 3.0. We use deprecation and removal mechanisms to make runtime warnings as much as possible. But developers still need to make a lot of adjustments to the code in order to upgrade to 3.0 perfectly.

Powerful engine features

Cocos Creator v2.4 is very powerful in 2D rendering, while Cocos Creator v3.0 allows developers to make more beautiful 3D games. We have integrated the advantages of the two in 3.0, and fully support various functions of 2D and 3D. Whether 2D or 3D, 3.0 will meet your needs.

Rendering system

As the core module of the game engine, the rendering system plays a vital role and directly determines the content that the game can output to the player. An excellent rendering system must also take into account various platforms and smooth the differences between platforms. The rendering system of Cocos Creator v3.0 aims at future-oriented, high-performance, and cross-platform from architecture to design, which greatly improves rendering capabilities and robustness.

  • Supports multiple rendering backends of Metal, Vulkan, WebGL 1.0, WebGL 2.0, GLES2, GLES3, and provides a unified GFX graphics API layer to the rendering pipeline layer.
  • The GFX API design close to the modern graphics API helps the rendering pipeline layer to release the performance and possibilities provided by the modern graphics API as much as possible.
  • Built-in forward rendering pipeline, support user-defined rendering pipeline.
  • Physically based light sources, cameras and materials help developers use industrialized processes to create the most realistic visual effects.
  • Supports GPU Instancing batch optimization, which is suitable for drawing a large number of dynamic models with the same mesh, and supports instancing batches of models containing skeletal animation calculations.
  • Support global fog effect.
  • Powerful native renderer, using memory sharing mechanism to reduce JSB calls and speed up data access.
  • Support ASTC, ETC, ETC2, PVR and other compressed textures.

Light and Shadow

In the 3D world, light and shadow have always been extremely important components. They can enrich the environmental performance, and good quality shadows can achieve a fake effect and make the whole world more three-dimensional.

  • Physically based light source.
    Cocos Creator v3.0 uses optical measurement units to describe light source parameters. Based on optical measurement units, we can convert all the relevant parameters of the light source into physical values in the real world. In this way, the designer can adjust the light intensity, color, range and other information according to the actual lighting industrial parameters and the actual physical parameters of the real environment, so that the overall lighting effect and light attenuation are more in line with the real natural environment.
  • Multi-light support based on multi-pass.
  • Support high-performance flat shadow Planar Shadow.
  • Directional light and spotlight dynamic shadow based on Shadow Map, support PCF soft shadow and GPU Instancing.

Particle System

The particle system is the basis of the special effects of game engines. It can be used to simulate natural phenomena such as fire, smoke, water, clouds, snow, and fallen leaves, and it can also be used to simulate abstract visual effects such as luminous trajectories and speed lines. Good particle effects can make the game screen more stunning.

  • Support up to dozens of module settings, and support various types of curves, constant changes.
  • Support GPU particles, greatly improving rendering performance.
  • Support Cocos traditional 2D particles.

Material System

As a resource, material determines the rendering effect of the attached object. Almost all the rendered effects in the game are inseparable from the material. As a basic module, the material system provides a solid foundation for the superstructure.

  • Built-in physical-based standard materials.
  • Support Cocos Effect.
    The Cocos Effect based on YAML and GLSL designed by Cocos is a single-source embedded domain specific language(single-source embedded DSL). The YAML part declares the flow control list, and the GLSL part declares the actual Shader fragment. The above complement each other and together constitute a complete rendering process description.
  • Support more than 32 Effect macro definitions.
  • Cocos Effect compiler automatically removes invalid codes.
  • Support importing Effect header files.
  • Effect’s resource panel now supports previewing the compiled Shader code, and supports visual editing of each Define of the Shader.
  • Support material preview.

Middleware

  • Support TiledMap.
  • Support Spine, DragonBones.
  • Support Spine, DragonBones and TiledMap rendering in 3D scene (need to customize material to control depth detection).

Skeleton Animation System

Cocos Creator v3.0 has a built-in general animation system to display animation based on key frames. In the editor, we can easily produce key frame animation clips. We can also support importing skeletal animations already contained in external FBX and glTF resources. These animations can be edited in the resource manager. Animation effects can be previewed in the animation editor, animation event triggers can be added, and animation system APIs can be used. You can also freely control the animation playback.

In addition, we also support the following features:

  • CPU or GPU driven skeletal animation, can be switched freely.
  • Supports the fusion transition of animation (CPU driven).
  • Use binary format to store skeletal animation to reduce file size.
  • Support two components: general animation and skeletal animation.
  • Support material sub-attribute animation such as Uniform.
  • Support CPU driven Morph Target (Blend Shape).

Script system

The project development of Cocos Creator v3.0 has fully turned to TypeScript, and JavaScript is no longer supported in the project except for plug-in scripts in JavaScript or NPM modules. TypeScript support has been improved in v3.0:

  • Embrace ES6 and TypeScript, complete code hints and automatic import.
  • Attributes support independent type decorator: @integer@float@string@boolean@type etc…
  • Support Async Await syntax.
  • Optional Chaining support.
  • Nullish Coalescing support.
  • Certain circular reference behaviors will be detected and warned during operation.
  • Added core-js polyfills to help some low-end platforms complete ES6 support.
  • Support loose compilation mode, which can reduce package body and optimize performance.
  • Support using NPM modules.
  • Subdivide engine modules, allowing more detailed module removal.

UI system

Cocos Creator v3.0 continues the 2.x UI design, and further optimizes and upgrades, including the following:

  • Flexible and concise 2D rendering and UI interaction, layout components, support 20 kinds of components including Sprite, Label, Button, Widget, etc. You can use these basic components to combine various types of UI effects.
  • Support static batching.
    The engine provides the UIStaticBatch component. UIs that do not require frequent changes can use this component to cache rendering data, thereby reducing rendering consumption and improving performance.
  • Support dynamic image combining at runtime, reduce the number of drawcalls, and optimize performance.
  • Merged the UI rendering process and the forward rendering process, allowing 2D and 3D rendering components to be mixed, and rendering visibility is completely determined by the node Layer and camera Visibility.

Physics

Cocos Creator v3.0 currently has a built-in lightweight collision detection system Builtin and a physics engine cannon.js with physical simulation, as well as a powerful bullet compiled into asm.js/WASM version ammo.js, and provides users with an efficient componentized workflow and convenient usage.

  • Support multiple physical backend options, including ammo.js, cannon.js and more lightweight builtin physical.
  • Support WeChat mini games using WASM physical backend, which can achieve higher performance on iOS.
  • Physics system supports fixed step refresh.
  • Support physical materials.
  • Supports a variety of practical collision bodies including simple shapes, cones, planes, terrain, capsules, cylinders, static mesh collision bodies, etc…
  • Support point-to-point and hinge constraint components.
  • Mesh collider adds convex hull approximation function.
  • Support traditional Creator 2D physics and collision system.

In a near future, we will provide builtin PhysX backend on native platforms, which will greatly improve performance and physics capabilities.

Detailed changes (compared to Creator 3D)

Editor

  • [3.0 NEW FEATURE] New FBX importer.
  • [3.0 NEW FEATURE] supports loose compilation mode when compiling.
  • [3.0 NEW FEATURE] Terrain supports normal map and pbr material.
  • [3.0 NEW FEATURE] supports EditBox in GameView mode.
  • [3.0 NEW FEATURE] supports code removal according to pre-compiled macros when compiling project scripts.
  • [3.0 NEW FEATURE] supports removing deprecated compatible codes during the build process and reducing the package body.
  • [3.0 NEW FEATURE] Brand new Prefab system, supports Prefab nesting.
  • [3.0 NEW FEATURE] The terrain system supports the use of custom brushes and normal map settings.
  • [3.0 NEW FEATURE] Support resource package import and export function.
  • [3.0 NEW FEATURE] native platform supports script encryption.
  • [3.0 NEW FEATURE] Added Huawei AGConnect build platform.
  • [3.0 NEW FEATURE] Added Huawei quick game debugging tool.
  • [3.0 NEW FEATURE] supports access to Cocos Service.
  • [Sync 2.x] supports simulator preview.
  • [Sync 2.x] supports publishing LianShang mini game platform.
  • [Sync 2.x] supports publishing interesting headlines game platform.
  • [Sync 2.x] supports building Android Instant.
  • [Sync 2.x] supports the new version of serialization mechanism.
  • [Sync 2.x] Asset Bundle support.
  • [Sync 2.x] supports engine module removal during preview.
  • [Sync 2.x] editor supports importing JSON resources.
  • [Sync 2.x] editor supports importing text resources.
  • [Sync 2.x] editor supports importing LabelAtlas resources.
  • [IMPROVE] Upgrade electron, computer that supports M1 chip.

Engine

  • [3.0 NEW FEATURE] supports using NPM library.
  • [Sync 2.x] supports Tiledmap.
  • [Sync 2.x] supports Spine.
  • [Sync 2.x] supports DragonBone.
  • [Sync 2.x] supports MotionStreak.
  • [Sync 2.x] supports WebView.
  • [Sync 2.x] supports VideoPlayer.
  • [Sync 2.x] supports 2d physics and collision system, including box2d and builtin.
  • [Sync 2.x] supports Asset Manager resource management.
  • [Sync 2.x] supports LabelShadow.
  • [Sync 2.x] supports SafeArea.
  • [Sync 2.x] Mask supports image stencil.
  • [Sync 2.x] audio supports multicast.
  • [Sync 2.x] supports dynamic picture combination.
  • [IMPROVE] UIMeshRenderer supports receiving parallel light.
  • [IMPROVE] remove cc.Class() style declaration.
  • [IMPROVE] Reconstruct 3d physical collision matrix. The collision matrix is ​​only used to initialize the grouping and mask of rigid bodies. It is no longer maintained and updated, and the Use Collision Matrix configuration item is abolished.
  • [IMPROVE] Refactored 3d rigid body, removed RigidBody.isKinematic, added RigidBody.type to set the rigid body type, removed fixedRotation, and replaced it with angularFactor.
  • [IMPROVE] UI supports custom materials.
  • [IMPROVE] Optimize UI system performance and reduce the number of drawcalls.
  • [FIX] Fix Safari 14 performance issues.
  • [FIX] Fix the problem of Button component Scale setting abnormal.
  • [FIX] Fix the problem that the lightPassIdx of submodels are consistent and cause rendering errors.
  • [FIX] Fix the problem that the terrain collider does not match the rendering effect after the node is zoomed.
  • [FIX] Fix the problem of reporting errors when calling the view.setFrameSize interface.
  • [FIX] Fix the problem that setting the label alignment of EditBox component is invalid when InputMode is not ANY.‍‍‍‍‍‍‍‍‍

Mini Game

  • [3.0 NEW FEATURE] supports a new subdomain scheme.
  • [3.0 NEW FEATURE] supports WeChat mini games to use wasm physical backend.

Native

  • [3.0 NEW FEATURE] Support Metal rendering backend.
  • [3.0 NEW FEATURE] supports Vulkan rendering backend.
  • [IMPROVE] further reduces jsb calls and optimizes performance.

Known Issue

  • The Vulkan backend on Android currently has performance issues, to be fixed in a future version.
  • On a machine with M1 chip, an error will appear when compiling the ios simulator, you need to manually change arch to arm64, which will be fixed in subsequent versions.
  • Android does not currently support the release of x86_64 architecture.
  • The native platform does not currently support freetype for text rendering.
  • Button component does not currently support enable auto gray effect option.
  • It is currently not possible to create components, delete components, delete sub-nodes, and adjust the order of sub-nodes for Prefab instances in the scene. It is recommended to perform these operations in the Prefab resource.
  • Nodes outside the prefab hierarchy currently cannot reference nodes or components in Prefab.
  • When the terrain’s size is not by n*n, the baking process will fail.
  • Upgraded old project from v2.x might have property referencing issue in prefab data, please refer to this topic 1 for detailed information and fix.

Breaking changes

  • The built-in effects of the engine source code are uniformly changed to a different naming rule from the editor resources. If an effect is not used at all in the project scene, it will not be obtained by using the effect name in the script (such as builtin-unlit, etc.). It is recommended that when developers need to create materials programmatically, they should uniformly expose the effect asset as the property of the script, mount it in the scene, and then directly pass in material.initialize.
  • The editor HOME directory has been switched from \~/.CocosEditor3D back to \~/.CocosCreator, and the plugin directory has been renamed from packages to extensions. Plugins after 3.0 will be stored in \~/.CocosCreator/extensions and PROJECT/extensions.
  • The original subdomain plan is no longer applicable, please switch to the latest subdomain plan.
  • No longer supporting JavaScript, only TypeScript.
  • cc.global variables are no longer supported, please use module import.
  • The 2D node will now strictly judge whether it can be rendered according to the visibility of the layer and the camera. If multiple cameras exist, there may be repeated rendering, and the layer of the node needs to be re-adjusted.
  • Refactored physics events. Events between static rigid bodies are no longer supported. It is recommended to add a Kinematic or Dynamic rigid body component to the corresponding node of the collision body that monitors the event.
  • Unable to upgrade to the Prefab of the new Prefab system, it will break the relationship and restore to a normal node.

API update (relative to Cocos Creator 3D)

  • The name of the physical material type has been changed.
Creator 3D v1.2Creator v3.0
PhysicMaterialPhysicsMaterial
  • Some type names and method names under the geometry space have been changed.
Creator 3D v1.2Creator v3.0
lineLine
planePlane
rayRay
triangleTriangle
sphereSphere
aabbAABB
obbOBB
capsuleCapsule
frustumFrustum
MorphModelmodels.MorphModel
ray_aabbrayAABB
ray_planerayPlane
ray_trianglerayTriangle
ray_sphereraySphere
ray_obbrayOBB
ray_capsulerayCapsule
ray_subMeshraySubMesh
ray_meshrayMesh
ray_modelrayModel
line_planelinePlane
line_trianglelineTriangle
line_aabblineAABB
line_obblineOBB
line_spherelineSphere
aabb_aabbaabbWithAABB
aabb_obbaabbWithOBB
aabb_planeaabbPlane
aabb_frustumaabbFrustum
aabbFrustum_accurateaabbFrustumAccurate
obb_pointobbPoint
obb_planeobbPlane
obb_frustumobbFrustum
obbFrustum_accurateobbFrustumAccurate
obb_obbobbWithOBB
obb_capsuleobbCapsule
sphere_planespherePlane
sphere_frustumsphereFrustum
sphereFrustum_accuratesphereFrustumAccurate
sphere_spheresphereWithSphere
sphere_aabbsphereAABB
sphere_obbsphereOBB
sphere_capsulesphereCapsule
capsule_capsulecapsuleWithCapsule
  • Some platform variables under sys have been changed.
Creator 3D v1.2Creator v3.0
BAIDU_GAMEBAIDU_MINI_GAME
VIVO_GAMEVIVO_MINI_GAME
OPPO_GAMEOPPO_MINI_GAME
HUAWEI_GAMEHUAWEI_QUICK_GAME
XIAOMI_GAMEXIAOMI_QUICK_GAME
JKW_GAMECOCOSPLAY
ALIPAY_GAMEALIPAY_MINI_GAME
BYTEDANCE_GAMEBYTEDANCE_MINI_GAME
  • The Canvas component no longer has properties such as clearFlag, color, priority, targetTexture, visibility, etc., please get it directly through the Camera component referenced by the Canvas component.
  • Some components related to 2d have been renamed.
Creator 3D v1.2Creator v3.0
UIRenderableRenderable2D
UIDrawBatchDrawBatch2D

Upgrade guide

In order to ensure the smooth transition of the existing Cocos Creator 2.4 project, we will use 2.4 as the LTS (long-term support) version and provide continuous updates for the next two years! In 2021, 2.4 will continue to be updated, providing bug fixes and new mini-game platform support, as well as Apple Silicon (M1) chip support. In 2022, we will continue to provide developers with 2.4 key issue fixes to ensure the smooth operation of online games! therefore:

  • Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.
  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The original Cocos Creator 3D, as a branch version of Creator, has been iterated in China for a year, and has successfully launched major projects such as Starry Sky Battle and The Strongest Magic Fighter! After 3.0 is released, Creator 3D will also be included in 3.0, and existing 1.2 projects can be directly upgraded. Therefore, Cocos Creator 3D will not release a separate version in the future, and we hope developers using Creator 3D versions to be noticed.

Although we do not recommend projects under development, especially those that are about to go online, to upgrade to 3.0, we will still launch 2.x resource import tool in the 3.0 official version. If the existing project needs to be upgraded for special reasons, and you encounter technical or workload difficulties, you can also contact zhengxiong.zhao@cocos.com for our manual assistance!

Reference documentation

Download Dashboard Download Creator From Dashboard
2021.02.01

V2.4.4

Publish Time: 2021.02.01

Cocos Creator 2.4.4 is finally here! The engine team is working hard on the upcoming v3.0 release. The plan is to unify the 2D game and 3D game development process and provide more and more powerful features. In addition, the engine team will continue to maintain and optimize the 2.x version. This version supports the Bytedance game sub-package functions, optimizes the runtime and development process, and fixes 2.4 For related issues since the beginning, 2.x users are welcome to upgrade and experience!

What’s new

Bytedance Mini Games officially supports sub-package functions, which will provide developers with more room to play, and Creator will also open support for sub-package functions as soon as possible.

4bZYNmRQ

Improvements

  • Optimize native ttf font rendering [#2874]
  • The first scene subcontracting and the built-in resource subcontracting merge all JSON by default to improve loading speed
  • Display script information on the MissingScript component, which is convenient for locating the problematic script
  • Update TypeScript version to 4.1.3
  • Native platform XMLHttpRequest supports HEAD request type [#3093]
  • Optimize the consumption of calculating material hash value at runtime, thanks to Xiaopang Dacheng, [#7316]
  • Android build supports gradle 5.x version [#3162]

Engine

  • [ASSET] Fix the problem of inaccurate prefab reference count when running after build
  • [ASSET]Fixed the problem that the input parameter maxRetryCount is invalid when loading resources [#7689]
  • [ASSET]Fix the problem of invalid preloaded pictures[#7581]
  • [ASSET] Fix the problem that component scripts may be lost during runtime when the Prefab in the sub-package is reused by the main package [#8001]
  • [PARTICLE] Fix the error of the accuracy of the particle system color change, thanks to caogtaa, [#7532]
  • [PARTICLE]Fixed the issue that the rendering texture was not refreshed when the particle component replaced the plist file, [#6994]
  • [TILEDMAP]Fixed the problem of incorrect transparency of Tiledmap[#7898]
  • [TILEDMAP]Fixed the problem of rendering inactive nodes of Tiledmap[#7898]
  • [SPRITE]Fixed an issue where Sprite displays incorrectly after checking Allow Rotation in the automatic gallery [#7501]
  • [SPRITE]Fix the problem that Sprite does not support flipX and flipY in Mesh mode [#7407]
  • [LABEL]Fixed the problem that black blocks will appear when the Label component uses BMFont to switch active[#7492]
  • [PHYSICS]Fixed the problem that the non-rigid body node will not follow the parent node when there are both rigid body node and non-rigid body node under the node. /7455)
  • [MASK] Fix the problem of adding the Mask component before adding the node to the node tree. [#7429]
  • [GRAPHICS]Fixed the problem of spurs in the drawing process of Graphics component, [#7780]
  • [ANIMATION]Fixed the problem that setting sample and setCurrentTime is invalid when the animation is not playing [#7943]

Native

  • Fix the problem that the native platform cannot continue drawing after a certain number of Graphics vertices are drawn [#2884]
  • Fix the problem that the node size does not change when modifying the Label text [#2834]
  • Fixed an issue where selecting Ignore Blank Images when Spine exported the atlas resulted in failure to parse the .skel binary file [#2813]
  • Fix the problem that the mixed parameters of the native platform do not take effect [#7839]
  • Fix the problem that the native platform rayMesh always returns infinity[#7795]
  • Fix the problem that Sprite uses Mesh mode rendering error on native platform [#362]
  • Fix the problem of abnormal rendering of the 3d node Mask component of the native platform [#358]

Mini Game

  • Fixed the problem that the plugin script in the editor plugin failed to load on the mini game platform
  • Fixed the problem that the Label disappeared after some models of WeChat platform switched back from the background [#215]

Web

  • Fix the problem of performance degradation of the web platform on iPadOS 14 [#7746]
  • Fix the problem that uppercase letters are displayed when inputting lowercase letters in the password type input box of the Web platform [#7793]

Editor

  • Fixed an error when automatically synchronized pre-made associated root nodes
  • Fix the problem that the editor does not respond when importing wrong JSON files
  • Fixed the problem that the saving of nested prefab would be invalid after deleting the child nodes
  • Fix the problem that the node cannot change the level after searching for uuid on the level manager
  • Fix the problem that the MD5Cache option is invalid when building a native platform from the command line
  • Fix the problem of engine sourcemap error during preview [#7609]
  • Fix the problem that the curve of editing animation will be invalid
  • Fix the problem that the json files of SpriteFrame on the native platform cannot be merged
  • Fix the problem that the child nodes cannot be saved when the Prefab resource is set to sync mode
  • Fix the problem that the hash value of the file after construction changes
  • Fixed an issue where texture and FBX did not export dependent textures when using the export function
  • Fix the problem that webp files cannot be packaged when building Xiaomi

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.0Android 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 the app/libs directory.
  • If the code and third-party libraries used by Android Instant are separate, please put them in the game/srcgame/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.mkjni/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.mkAndroid 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.

Download Dashboard Download Creator From Dashboard
2020.10.09

V2.4.3

Publish Time: 2020.10.09

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

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.

  • Added support for Android x86_64

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

  • 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.rotateXcc.Quat.rotateYcc.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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Download Dashboard Download Creator From Dashboard
2020.07.30

V2.4.2

Publish Time: 2020.07.30

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.

What’s new

Byte games

The byte game is developed based on the full product matrix of Bytedance and includes such creations as Today ToutiaoTikTok 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 searchfeed streampersonal homepagesmall videovideo 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 accountServices such as payment, advertisement, and games will continue to support SDKs such as pushanalysis 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 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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Download Dashboard Download Creator From Dashboard
2020.07.23

V2.4.1

Publish Time: 2020.07.23

Cocos Creator v2.4.1 is here! This update brings more new features, optimizes performance and improves stability. Efficiency is everything! This version contains many new features and updates, such as resource management system refactoringasset bundlesoptimized the performance of graphic rendering.

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 LinkSure Mini Game. 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 loginpaymentShareLocationAnalysis 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 LinkSure Mini Game publishing platform

LinkSure Mini Game 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 LinkSure Mini Game release platform when building, and the platform adaptation is automatically completed.

For more information about publishing to LinkSure Mini Game, 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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Download Dashboard Download Creator From Dashboard
2020.06.24

V2.4.0

Publish Time: 2020.06.24

Cocos Creator v2.4.0 is here! This update brings more new features, optimizes performance and improves stability. Efficiency is everything! This version contains many new features and updates, such as resource management system refactoringasset bundlesoptimized the performance of graphic rendering.

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

What’s New

If the worker wants to do his best, he must first sharpen his weapon! After two months of testing, version 2.4.0 is finally here! Thanks to all the friends who gave us valuable comments and suggestions!

Support Asset Bundles

Asset Bundle can divide the resources in a project into modules according to the wishes of the developer, and divide the resources with different needs in different scenarios into multiple packages. This reduces the time required to download and load a game for the first time, and can also be copied across projects.

Asset Bundle also provides priority, compression type and other related settings to optimize the package and loading of the Asset Bundle.

For additional details, please refer to the Asset Bundle documentation and the Load Asset Bundle documentation.

Added cc.AssetManager module for resource management

Asset Manager is newly introduced in Cocos Creator v2.4. It has the function to load resources, find resources, destroy resources, cache resources, asset bundles and so on. Asset Manager has better performance, easier-to-use APIs, and stronger scalability. It mainly provides the following new features:

  • Supports loading and pre-loading of all resources, pre-loading can run silently in a lighter way, without affecting operation efficiency.
  • Supports Asset Bundles.
  • Supports a more secure automatic release mechanism, no need to consider its reference when releasing resources, to avoid mistaken release of resources.
  • Support download failure retry, download priority, download concurrent number and other settings, which can be adjusted according to various situations.
  • Support more convenient custom loading process to achieve special effects.

For details, please refer to the Asset Manager documentation and the Dynamic Loading documentation.

Add Label blending options

Supports setting Label’s belnding options, and different settings in different usage scenarios can be used to maximize text rendering performance. For details, please refer to the Blending Mode of System Fonts  documentation.

Use FreeType to render Label on native platforms

  • Increased Label initialization speed, Android increased by about 5 times, iOS increased by 3 times
  • Support boldoutlineshadow and other effects when using TTF font and Char mode

Support Graphic anti-aliasing effects

Using SDF technology to optimize Graphic’s aliasing problem:

before optimization644x280
after optimization649x272

Support the compressed texture of other small game platforms

The editor further supports the compression texture limitation of more mini game platforms. Just add the compressed texture format in the Mini Game item to set the compression of multiple platforms including WeChat mini gamesOPPO mini gamesVivo mini games, etc.

Improve native hot update support

Cocos Creator v2.4 further improves the native hot update capability and optimize the following:

  • Add interface to get update package size
  • Add MD5 parameter to the link, more friendly to CDN
  • Solve the problem of resource loss and confusion caused by interruption of the update process

Please see this GitHub issue.

For details, please refer to the Hot Update Sample Tutorial.

Added SafeArea UI component

This component will adapt the layout of the node where it is located to the safe area of the mobile phone with a special screen. It can be adapted to Android and iOS devices. For details, refer to the SafeArea Component documentation.

renderings

Release Notes

Other new features

  • Add compressed texture cache function, cache the compressed texture after construction, and reuse the cache content as much as possible to speed up the construction speed
  • Use ImageBitmap to load images on the Web platform, improve the preview and Web platform image resolution speed, and reduce the stutter during loading
  • Editor property panel supports drag and drop array assignment
  • Upgrade TypeScript version to 3.9.2
  • Upgrade the V8 version of the native platform to 8.0.426.16
  • Support importing GLTF resources
  • Support the first scene subcontracting function on all small game platforms
  • Support module culling during preview, improve preview speed, and expose module culling settings earlier

Improvements

  • Optimize the performance of free and relative modes of 2D particle system [#6236]
  • Optimize the efficiency of ToggleContainer to get toggleItems [#6569]
  • Increase the bandwidth of the native platform WebSocket [#2353]
  • SpriteFrame resource adds a None trim type, which can be quickly set to no crop.
  • Improve the code hints of jsb
  • Support setting preview port
  • The window size can be set when the native desktop platform is built

Engine

  • [CORE] Fixed the issue that the return value of cc.easeBackOut is incorrect when time is 0, [#6728], (thank you chen-gaoyuan)
  • [CORE] Fixed the issue of Node.walk traversal error [#6710]
  • [CORE] Fixed the error of calling cc.dynamicAtlasManager.showDebug [#6697]
  • [CORE] Fixed the issue of setting node size in onLoad is invalid [#6688]
  • [CORE] Fixed the issue of resetting the background material back to the default material when the button is disabled [#6562]
  • [CORE] Fixed error when BMFont configuration data does not exist [#6472]
  • [CORE] Fixed the issue of invalid transparency after pre-multiplication is enabled [#6451]
  • [CORE] Fixed the issue of Camera.render() rendering twice, [#6355], (thank you Dacheng Xiaofa)
  • [CORE] Fixed the issue of picture flip after calling Texture2D.setPremultiplyAlpha [#6602]
  • [PARTICLE] Fixed the 2d particle system relative mode, the particle follows the problem when the node rotates [#6236]
  • [3D] Fixed the problem that 3D Label is not displayed in char mode [#6882]
  • [3D] Fixed the problem of rendering error caused by checking the option Enable Auto Batchand switching Mesh resources [#6901]
  • [3D] Fixed the problem of rendering the shadow of a single camera misaligned [#6477]
  • [3D] Fixed the issue of cc_matProj error in effect [#6653]
  • [EDITBOX] Fixed the issue that the EditBox.maxLength attribute does not take effect in number mode [#6725]
  • [EDITBOX] Fixed the issue that the EditBox could not update the position when scrolling in ScrollView [#6634]
  • [TILEDMAP] Fixed the possible rendering order of Tiled Map may be wrong [#6284]
  • [TILEDMAP] Fixed the problem that the hidden image of Tiled Map will still be rendered [#6309]
  • [SPINE] Fixed Spine texture rendering error after using compressed texture [#6483]
  • [SPINE] Fixed the issue that Spine texture may render incorrectly [#6584]
  • [SPINE] Fixed the issue that DragonBone and Spine render incorrectly after the texture is set to pre-multiplied [#6696], (thanks Dacheng Xiaofa).
  • [DRAGONBONE] Fixed the issue that DragonBone keeps reporting errors when destroying scenes [#6553]

Native

  • Fixed the problem of incorrect node scaling after screen flip [#6689]
  • Fix Android native JniHelper is not thread safe [#2457]
  • Fix the issue that unzip is not thread safe [#2131], (thanks benloong)
  • Fix the problem that the Edit button of Android EditBox is blocked by the virtual navigation bar [#2426]
  • Fix the problem that Spine node can not get the node size on iOS [#273]
  • Fix the issue of cc_time error in native Effect [#6586]
  • Fix the possible crash of iOS audio playback [#2358]
  • Fix the problem of node rotation calculation error [#2361]
  • Fixed the crash caused by encoding error when setting Label.string [#2395]
  • Fixed an error when the game exited [#2406]
  • Fix the problem that the input box will push up the view after the screen is rotated [#2415]
  • Fix the problem that the path animation in the JSON file exported by Spine 3.6.53 failed to parse [#2413], (thanks to laomoi)
  • Fix the problem of gravity sensor error on Android [#2231]
  • Fix Tiled Map will not be rendered when the node moves to a location without plot information [#2283]
  • Fix the problem that the original WebSocket interface is inconsistent with the Web [#2297]
  • Fixed an issue where calling Camera’s render method would cause Spine to speed up playback [#258]
  • Fixed an issue where the AudioSource module was removed due to the removal of the AudioSource module on the Android platform
  • Fix Android 9, Android 10 version number detection failure [#6466]

Web

  • Fix the issue that audio cannot be played after removing the headset from iOS Web-Mobile [#6730]
  • Fix WebView transparency error on iOS [#6717]
  • Fix the problem that English can no longer be input after entering Chinese on iOS browser [#6631]

Mini Game

  • Fixed the issue that the WeChat mini game WebSocket sends an error report of Uint8Array[#115]
  • Fixed the issue that playback cannot be resumed automatically when audio is interrupted unexpectedly [#118]
  • Fix the problem that PC WeChat data open domain cannot run

Editor

  • Fix the problem of incorrect save and restore status of Sprite Editor
  • Fixed an issue where animation clips that are not being edited cannot be renamed in animation editing state
  • Fixed an issue where the editor could not recognize after adding Spine resources
  • Fixed the issue that the editor may not open after the user plug-in restarts
  • Fixed an issue where the return value of getNativeAssetPaths was called multiple times incorrectly
  • Fix the problem that the script fails to load after the script is renamed
  • Fixed an issue where width and height will be reported incorrectly when clicking on the gallery
  • Fixed the issue that the picture may be distorted when using Auto Atlas
  • Fixed an issue where importing some pictures caused the resource panel error
  • Fixed the problem that the node cannot be deleted by delete key in Prefab edit mode
  • Fixed an issue where Filter Unused Resources was not valid when the atlas was not exported
  • Fix the problem that the value range of the macro defined in the effect is invalid [#6616]
  • Fixed an issue where the animation editor setting CircleCollider.offset attribute is abnormal [#6600]
  • Fix the problem that the last save is invalid
  • Fixed the issue of invalid setting preview browser
  • Fix the problem of error report when importing Cocos Studio project without font resources
  • Fixed an issue where multiple openings may cause editor errors

Known Issues

  • When using remote Asset Bundle and checking Lazy loading, the audio may not be played. Please use cc.assetManager.postLoadNative to load and play.

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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Download Dashboard Download Creator From Dashboard
2020.05.25

V2.3.4

Publish Time: 2020.05.25

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

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.

Note: Starting with Cocos Creator v2.4 using Dashboard will be required! There will no longer be a separate Cocos Creator installer provided. Please download and get acclimated with Dashboard soon.

What’s New

Tencent Cloud-Cloud Development

Cloud Development (Tencent Cloud Base, TCB) is Tencent Cloud’s one-stop back-end cloud service for mobile developers. Developers can access the service with one click inside Cocos Creator. After accessing the service, you can manage all cloud functions in the cloud function panel, including operations such as addingdeleting, and synchronizing.

For more details, please refer to Tencent Cloud Development documentation.

Tencent Cloud-Online game engine for mini games

Mini Game Online Battle Engine (MGOBE) provides room managementonline matchingframe synchronizationstatus synchronization, etc… Developers can quickly build networked, multiplayer interactive games. Developers do not need to pay attention to the underlying network architecturenetwork communication, *server expansion and contractionoperation and maintenance, etc… They can obtain nearby accesslow latency, and *real-time expansion of high-performance online MGOBE is suitable for games such as turn-basedstrategyreal-time conversation (casual battle, MOBA, FPS) and so on.

Developers can access the service with one click from within Cocos Creator. For more details, please refer to Mini Game Online Battle Engine documentation.

Tencent Cloud-Game Multimedia Engine

Game Multimedia Engine (GME) provides a one-stop voice solution. In-depth optimization for different scenarios including covering gamessocial networkingentertainment and other pan-Internet industryapplication scenarios. GME includes real-time voicevoice messagetext-to-text, and voice analysis services to meet diverse voice needs.

Developers can access the service with one click from within Cocos Creator. For more details, please refer to Game Multimedia Engine documentation.

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.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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Just in case

Note: If you prefer not to use Dashboard now, you may still download Cocos Creator v2.3.4 for MacOS and Windows.

Download Dashboard Download Creator From Dashboard
2020.04.09

V2.3.3

Publish Time: 2020.04.09

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

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

Support PCF soft shadow

Starting from v2.3.3, the Light component can set the shadow type to SOFT_PCF3X3 or SOFT_PCF5X5 to turn on soft shadows. After opening, the shadow will not have hard edges, the effect is more soft and natural.

Support zooming Sprite by 9-sliced SpriteFrame in TILED mode

Starting with v2.3.3, the image will be repeated to fit the size of the Sprite when using TILED mode. If the SpriteFrame is 9-sliced, the corners will also remain unscaled while the other areas will be repeated.

Improve web page loading speed during preview

In order to further improve development efficiency, we optimized the loading speed of scripts during web page preview in both the engine and in project code. When the custom engine feature is turned on, or when using a mobile phone to preview, developers get a really smoother experience.

Engine

  • [Core] Fix the problem that hidden nodes will not trigger touch events when touching with single touch [#6395]
  • [Core] Fix the problem that the AudioSource component setting Play On Load is invalid when the scene starts with Async Load Assets [#6412]
  • [Core] Fixed Spine resource rendering error if defaultSkin is not set [#6432]
  • [Core] Fix the warning when Label is empty when using BITMAP mode [#6315]
  • [Core] Fixed RichText unable to input single angle bracket text [#6314]
  • [Core] Fix the problem that the current time obtained by VideoPlayer on different platforms may be inconsistent [#6360]
  • [Tween] Tween adds stopAll, stopAllByTagstopAllByTarget and other interfaces to facilitate playback control [#6338]
  • [Tween] Added bezierTo, bezierByflipX, flipYblink interfaces [#6327]
  • [Tween] Optimized the intelligent hints of the API code of Tween.to and Tween.by, which can intelligently display the target attribute
  • [3D] Added Node.forward, Node.rightNode.up APIs to get all directions of nodes in the world coordinate system [#6287]
  • [3D] Fix the problem that the Sprite node may render incorrectly when switching 3D node settings [#2335]
  • [3D] Fix the issue that ROTATION_CHANGED event is not triggered when Node.eulerAngleschanges [#6325]
  • [3D] Fix the incorrect rotation of cc.Rotate3DBy [#6377]
  • [3D] Fix the calculation error of vertex tangent conversion to world coordinate system in built-in Effect [#6358]
  • [3D] Fix the problem of data failure when the number of vertices set by Mesh exceeds the original number [#6359]

Native

  • Fix the problem that the native SocketIO may make a request error when the server is closed [#2338]
  • Fix the problem that the return value of jsb.fileUtils.listFilesRecursively is incorrect [#2337]
  • Fix the calculation error of cc.sys.getSafeAreaRect on Android devices [#2145]
  • Fix the problem of incorrect line-breaking effect after using emoji on native platform Label [#6353]
  • Fix the problem that the native platform Graphic cannot be drawn if there are too many vertices [#1935]
  • Fix the problem of getting wrong devicePixelRatio in the initialization stage of Windows and Mac platforms [#2309]
  • Fixed trailing material error when 3D particles did not open TrailModule on native platform [#6413]

Mini Game

  • Adapt to the numeric keyboard keys of PC WeChat games [#98]
  • Fixed an issue where the Baidu game VideoPlayer was hidden after entering text
  • Fix OPPO fast game Label text truncated at the top [#6441]

Web

  • Fix the problem that the EditBox input box is misaligned after screen resize [#6347]
  • Fix the problem that the mobile terminal keyboard does not respond to touch events when pulling up the status button [# 6337]
  • Fix the problem of incorrect interface adaptation after EditBox editing on UC browser of iOS [# 6471]

Editor

  • Support displaying the attributes information of the grid in the Properties Panel
  • Added case verification of require path in project script
  • Fixed the issue of block blocking when previewing particles in the editor
  • Fixed the issue that the component @menu decorator is invalid
  • Fixed an issue where the editor could not be opened after setting the language on Cocos Dashboard
  • Fixed an issue where a progress bar sometimes appears in the editor
  • Fixed an issue where clicking the 3D toggle button is invalid when selecting multiple nodes in the property panel
  • Fix the problem of error report when importing ccs project
  • Fixed an error when deleting 3D particle materials in the editor
  • Fixed an issue where rename animation clips and nodes is invalid when adding a recording animation editor
  • Fixed an issue where the animation editor reported an error when animating the camera backgroundColor
  • Fixed an issue where deleting a script after the script reported an error still failed to clear the console error
  • Fix the problem that the custom component menu is not sorted alphabetically
  • Fix the problem that the paste menu is invalid when no node is selected
  • Fixed the issue of material error after deleting texture attribute
  • Fixed an issue where the EditBox node reported an error after selecting the Reset All menu item in the properties panel
  • Fixed an issue where importing materials with the same name in the model would cause the import to fail
  • Fixed an issue where Prefab cannot automatically synchronize to the original Prefab when deleting child nodes after setting automatic synchronization
  • Fixed an issue where using the wrong custom engine would cause the editor to not start

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.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.0Android 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.mkjni/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.mkAndroid 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 executein``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.

Download Dashboard Download Creator From Dashboard
2020.03.16

V2.3.2

Publish Time: 2020.03.16

Cocos Creator v2.3.2 is officially released! This update, brings accesses the new Cocos Dashboard system, which can uniformly help upgrade and manage multiple versions of engines and projects at the same time! It is recommended for all v2.3 developers to upgrade! Please perform the necessary technical evaluation and backups before upgrading.

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.

此图像的alt属性为空;文件名为1-1.png

Manage projects developed under different versions:

此图像的alt属性为空;文件名为2-1.png

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

此图像的alt属性为空;文件名为3.png

Improvements

Bug Fixes

  • [Editor] Fix the problem of importing TiledMap resources when related pictures do not exist
  • [Core] Fixed 3D particle patch facing incorrectly [#6304]
  • [Core] Fix the issue that the textures property of MeshRenderer is invalid after the version upgrade [#6311]
  • [Core] Fixed the issue where the size of the node where Canvas may not be refreshed in time during scene initialization [#6308]
  • [Native] Fix occasional white blocks on native images [#2258]
  • [Native] Fix the issue that the memory of the 3D model rendering component of the native platform may not be released [#2262]
  • [Mini game] Fixed the problem that a large number of audio files failed to load at the same time on the Alipay mini game [#97]

Known Issues

  • An error will occur when importing Cocos Studio projects into Cocos Creator v2.3.2. This issue will be fixed in v2.3.3. Developers can temporarily import the project into an old version, if needed, and then upgrade to v2.3.2 for use, or use a custom engine and incorporate this change [#6278]

Deprecation

  • Starting with v2.2.0, we no longer recommend using the Skew feature of Nodes. Skew is usually used to simulate 3D effects in 2D engines. With Cocos Creator’s in-depth support for 3D nodes, Skew effects can be completely achieved by using 3D nodes. Backward compatibility will be maintained for a period of time, developers can continue this original practice, in the old project. In the future, we will further improve the compatibility method and upgrade cases, and officially choose to remove the Skew function.

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 < v2.3.0 version

If a Can not find module.module for path… loading warning occurs:

After upgrading to 2.3, this warning may be due to the stricter case detection of the import/requirepaths in the script. In the old version, if the case of the path does not match the actual file, there may be some potential errors which may not be manifested. We recommend that projects experiencing this issue correct the capitalizations.

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.mkjni/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.mkAndroid 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 executein``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()/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.

  • 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.

Download Dashboard Download Creator From Dashboard
2020.03.05

V2.3.1

Publish Time: 2020.03.05

Improvements

  • Adapted for WeChat PC game [[#87]
  • Further optimize engine package size on mini-games and web platforms
  • Improve API documentation and creator.d.ts declaration
  • Added support for TiledMap Object layer Top-Down and Manual rendering order and horizontal and vertical flip (thanks @大城小胖) [[#6157] 
  • Support using Backspace button to delete nodes in the scene
  • Lock built-in resources to avoid misuse
  • Disable evalString calls in native non-JS threads to avoid V8 crashes

Editor

  • Fixed the issue that npm module cannot be used after upgrading to 2.3
  • Fixed an issue where VS Code could not break after upgrading to 2.3
  • After upgrading to 2.3, it may cause the script to depend on the cycle and an “TypeError: Object prototype may only be an Object or null” error occurs.
  • Fixed the problem that plugin path may be wrong when building only scripts on Windows platform (thanks to shengyong)
  • Fixed the problem of incomplete node display after importing some models (thanks C_Tsang)
  • Fixed the issue that Spine binary files cannot be uploaded on WeChat mini games
  • Fixed the issue that the signing certificate generated by Xiaomi to the default path will be deleted during the build

Engine

  • [Core] Optimize the initialization process when dynamically creating Label nodes [#6173] 1
  • [Core] Fixed the problem that dynamically modifying the material in Prefab will cause other same materials to be changed [#6201]
  • [Core] Fix the rendering level problem that may be caused by repeatedly setting zIndex repeatedly (thanks @大城小胖[#6227]
  • [Core] Fixed the issue that the EditBox input box was misplaced after the CanWidth component was checked for fitWidth [#6233]
  • [Core] Fix RichText’s modification and typographical errors when active is false [#6231]
  • [Core] Fix the first Burst display of 3D particles is incorrect. [#6269]
  • [Native] Fix the error caused by destroying Mask in event callback [#6186]
  • [Native] Fixed the problem of invalid material switching technology (thanks inkfood.com 1[#250]1
  • [Native] Fix incorrect width and height obtained after window size change [#249]
  • [Native] Fix the problem that the widget is not updated after the window size is changed [#6224]
  • [Native] Fix JS native debugging cannot use Performance and Profiler [#2186]
  • [Native] Fix Editbox clicking soft keyboard to collapse triangle, did not trigger edit completion event
  • [Native] Fix memory leak when restarting the game [#2215]
  • [Native] Fix the problem that the Android audio module will prevent the device from entering the power saving mode after entering the background [#2137]
  • [Native] Fix window adaptive problem when split screen in Android [#2142]
  • [Native] Fix window size error after Windows platform restart [#2129]
  • [HTML] Fixed the problem that audio cannot be played when safari returns to the game from the background [#6198]
  • [Mini game] Fix the problem that Audio is not destroyed [#6221]

Known Issues

  • An error can occur when importing a Cocos Studio project in v2.3.1. This issue will be fixed in v2.3.2. Developers can temporarily import projects in the old version editor if needed, and then upgrade to v2.3.1 for use.

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 < v2.3.0 versionSince 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.mkjni/CocosApplication.mk, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed inapp/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 Android, it will execute assembleRelease/Debug by default, and when compiling Android Instant, it will execute instant: assembleRelease/Debug.
  • Upgrade from version v2.0 - v2.3.0Starting 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.0Starting 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. If a node is managed via *cc* NodePool, it is not affected.// 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();
  • Upgrade from v<2.0If 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.
2020.02.16

V2.3.0

Publish Time: 2020.02.16

After a long period of development and preparation, and after a memorable Spring Festival, Cocos Creator v2.3 is officially released. v2.3 is a very important version that officially integrates support for 3D physicscollisions, and 3D particles, and is capable of developing more types of 3D games! At the same time, the material system has been upgraded from the experimental version to the official version, which can greatly improve the expressiveness of a game. It is recommended that all developers upgrade! Please perform the necessary technical evaluation and backups before upgrading.

Support publishing to Qutoutiao (QTT) mini games

Cocos Creator v2.3 officially supports publishing to a brand new platform: Qutoutiao Mini Games. For detailed steps on platform access, please refer to Publish to Qutoutiao Mini Games.

Support 3D physics system

Like Cocos Creator 3DCreator’s physics engine is based on cannon.js and provides users with an efficient, componentized workflow with convenient usage methods. Currently, supported functionality is: rigid bodyBox/Sphere collision componentstrigger and collision eventsphysical materialsray detection and many other features.

For detailed information, please refer to the Physics 3D documentation.

Supports 3D collision system

Like Cocos Creator 3DCreator provides a lightweight collision detection system called BuiltinBuiltin is a physics module with only a collision detection system. Compared to other physics engines, it does not have complicated physics simulation calculations, which will make the game’s package smaller and provide better performance.

For detailed information, please refer to the Physics Select documentation.

Support 3D particle system

The implementation of 3D particles is basically the same as Cocos Creator 3D. It is powerful and supports debugging in the editor.

There are currently dozens of modules to choose from, including ShapeColorVelocitySizeSequence FrameTrailing, and so on.

Currently provided are a variety of parameter settings such as: ConstantCurveTwo ConstantTwo CurveGradient, etc.

For detailed information, please refer to the Particle System 3D documentation.

Upgrade the material system to the official version

Creator’s material system was originally added in v2.1.1, but has been marked as an experimental feature in the editor and lacked relevant documentation. After a few iterations, it has upgraded to the official version! This version of the Effect compilation syntax is consistent with Cocos Creator 3D. It can be written using VS Code’s Cocos Effect plugin, but the built-in shader variable names are slightly different. Developers who have customized materials in the previous version of Creator can try to upgrade to the official version according to the documentation. If you encounter difficulties, you can post on the forum for help. The features of the new version of the material system are as follows:

  • Support real-time preview of modified results in the scene when modifying materials.
  • Supports material variants and effect variants, making it more friendly to 2D games.
  • Supports multiple techniques.
  • Supports setting Technique, Pass, Property names.

For detailed information, please refer to the Materials documentation and the Effects documentation.

Support Spine and DragonBones mount nodes

When playing skeletal animations, developers often need to mount nodes on a certain part of the skeletal animation to achieve the effect of linking the node with the animation. In Creator v2.3, only a single, very simple operation is needed to mount any node to the bone animation. The node will follow the animation and transform it to achieve the effect of the hanging point. You can also add collision components to the node to achieve collision detection!

For detailed information, please refer to the Spine documentation.

Support Spine binary resource format

In Cocos Creator v2.3, the Spine runtime was upgraded to v3.8v3.8 supports the skel binary format for importing from Spine. The usage of the skel format is the same as the original JSON format, but the file is smaller and loads faster!

Only recompile scripts when building

In the build panel, if you have successfully built the project before, you can check Build script only for the second build. The checked build will reuse the engine and resources that were built last time, and only recompile the scripts, which will greatly facilitate debugging! This is a very popular feature in the community, thank you very much for suggesting it.

Scene Editor adds 3D viewing options

Other Important Features

  • Property inspector supports multi-select batch setting of resources
  • Support switching single and multi-touch, use cc.macro.ENABLE_MULTI_TOUCH macro for setting [#5847]
  • Label component supports bolditalic, and underline settings when using ttf or system font
  • Added the vertical alignment property align and offset property offset of <img> in RichText, see the RichText documentation (Thanks RazgrizHsu [#6017]

Engine Fixes

  • Optimize node performance when setting zIndex [#5899]
  • Reduce the package size of WeChat, Baidu, Xiaomi, and Alipay mini game platforms by 100KB
  • Removed the minimum size limit of dynamic photos, and minimized DrawCall [#5944]
  • Optimize the performance of loading images natively (thanks wbenlong) # 2035
  • Load subpackage API loadSubpackage supports incoming progress callback [#15]
  • RichText supports setting the cache mode of Label, which can reduce DrawCall and optimize performance
  • Optimized performance of Label when OverFlow is set to SHRINK [#5914]
  • Toggle Modify the isChecked state by script. 2.3 New projects will not trigger events, and old projects will not change their behavior.
  • Support Spine part map splitting, enhanced dressing function [#5711]
  • Engine code supports writing in TypeScript
  • Optimize private cache mode for bone animation [#6133]
  • Fixed shadow rendering error of 3D objects [#5940]
  • Fixed the problem that it is impossible to force logout of all listening events when node is destroyed (thanks to ssyyhm) [#5985]
  • Fixed cc.game.once firing multiple times [#6055]
  • Fixed the problem of incorrect node matrix after calling getBoundingBoxToWorld [#6108]
  • Fixed Label unable to dynamically batch when using BMFont [#5860]
  • Fix the problem of low performance when Label node Overflow is NONE, using Widget component at the same time [#5908]
  • Fix RichText memory leak when using stroke
  • Fixed the problem of TiledMap surface rendering error caused by texture compression [#5999]
  • FixTiledMap incorrect calculation of bounding box when map is asymmetric shape [#5916]
  • Fix the problem that API getPositionAt return value of TiledMap is incorrect [#5880]
  • Fix Mask penetration problem of click event when nesting [#5749]
  • Fix ScrollView wrong rotation direction detection after rotation [#6102]
  • Fixed scrolling ScrollView cannot trigger scroll-end event [#5814]
  • Fix PageView fast second drag when the border is exceeded, which will cause the page to jump disorderly [#6015]
  • Fix PageView Indicator display error [#6123]
  • Fixed the problem that the particle system image was stretched to a square [#5897]
  • Fixed the problem of particle file parsing positionType error [#5946]
  • Fix the problem that Graphic points drawn in the middle coincide with the starting point, the points drawn later will close automatically (thanks to chocolate) [#6002]
  • Fix WheelJoint component setting frequency error report [#6000]
  • Fixed the problem of incorrect calculation of orthoHeight when Align With Screen of Camera was false [#6139]
  • Fix VideoPlayer Invalid local aspect ratio when displaying local video [#6138]

Native

  • Fixed the problem that frequent creation of 3D models caused crashes [#2056]
  • Fix the problem that there is no callback after the image fails to load [#2077]
  • Fixed the problem of using local cache when loading remote audio with the same name [#219]
  • Fixed the issue that Spine, DragonBones, and particles fail in batches after switching parent nodes [#1993]
  • Fixed camera rendering error for multiple Stage [#1897]
  • Fix Spine setAttachment interface is invalid [#1992]
  • Fix EditBox input emoji crash [#2021]
  • Fixed TiledMap rendering abnormally during dynamic loading [#229]
  • Fixed the issue that the text layout of the iOS platform and the Mac platform are inconsistent with the web [#1960]
  • Fixed the problem that iOS does not pause the game when double-clicking the home button [#1947]
  • Fixed iOS crashing background when switching glContext from background [#2083]
  • Fix the issue that files are not updated during Android Instant build [#2067]
  • Fixed WebSocket crash on Android 64 models [#2074]

Mini Games

  • Fix the problem that VideoPlayer cannot play when the scene is delayed loading [#72]
  • Fix EditBox’s length is invalid when it is set to negative value [#60]
  • Fixed the issue that the audio is not responding when loading on WeChat [#52]
  • Fixed the problem of rendering errors using cartoon materials on WeChat [#6008]
  • Fixed the problem that the hidden video is not paused when playing the WeChat mini-game VideoPlayer
  • Fix issue with languageCode undefined on vivo platform

Web

  • Fix the problem that the widget does not adapt correctly after the browser automatically rotates [#6061]
  • Fixed the problem that the finger cannot be zoomed with UC browser full screen [#5863]
  • Fixed the problem that VideoPlayer was in the wrong position after exiting full screen on IE browser
  • Fix the problem that QQ browser gets wrong mouse position [#5604]
  • Fix the problem of wrong touch event after scrolling in Safari [#5907]
  • Fix the problem that Safari displays the wrong navigation bar [#5926]

Editor

  • Scene editor supports focus node with F shortcut
  • Added backspace shortcut for animation editor to delete animation frames
  • Improve node multi-select batch setting, add multi-select add component function
  • Fixed an animation error when the animation editor switches nodes with the same name
  • Fixed the problem that the preview panel could not be displayed when switching to the game preview panel under animation editing
  • Fixed the problem of calculating the center point of the rectangle change tool
  • Fixed the problem that the resolution property of Canvas is not updated immediately in the scene
  • Fixed the issue that the Canvas wireframe of the scene editor would be blocked by other nodes
  • Fixed the problem that the node cannot be switched using the keyboard
  • Fixed an issue where the animation editor displayed incorrectly when switching to a node without an animation component
  • Fixed an issue where Color Picker could not save color presets
  • Fixed the issue that the simulator resolution does not switch after running after switching projects
  • Fixed issue where build failed using command line
  • Fixed the problem that the native platform cannot build the audio module
  • Fixed the problem that the build fails when there is no texture in the auto atlas
  • Fixed build failure after copying project
  • Fix the effect that the name of the Effect file is wrong when it starts with a number
  • Fixed the issue of splash screen when switching editors
  • Fixed TypeScript import failure
  • Fixed the problem that the editor cannot be opened when the editor is installed on the Chinese path
  • Fixed the problem of failed import model
  • Fixed the problem that failed to build a new certificate for Xiaomi game on Windows
  • Fixed the problem that nodes cannot be dragged after adding collision body components
  • Fix the picture distortion caused by pvrtc-4bits-rgb-seprate-a when the texture has only three channels
  • Fix ShowFPS button status not saved during webpage preview

BREAKING CHANGES

  • cc.Mat4.translate method no longer supports rotation transformation, only pure displacement transformation is supported. If you need to support rotation, please usecc.Mat4.transform instead.

KNOWN ISSUES

  • Requiring node_modules directly is not available in v2.3.0 temporarily. It will be fixed in the next version. It is currently recommended that external libraries be compiled separately and imported using the Plugin Scripts.

Deprecation

  • Starting with v2.2.0, we no longer recommend using the Skew feature of nodes. Skew is usually used to simulate 3D effects in the 2D engine. With Cocos Creator’s deep support for 3D nodes, the Skew effect can be completely realized by 3D nodes. Inorder to unify the user experience and further optimize the underlying implementation of the engine, we discarded the Skew attribute. However, we will still maintain backward compatibility for a period of time, developers can continue the original practice in the old project. In the future, we will further improve the compatibility method and upgrade cases, and officially choose to remove the Skew function.

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 < 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.mkjni/CocosApplication.mk, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed inapp/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 Android, it will execute assembleRelease/Debug by default, and when compiling Android Instant, it will execute instant: assembleRelease/Debug.
  • 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. If a node is managed via cc NodePool, it is not affected.

    // 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();

2019.12.27

V2.2.2

Publish Time: 2019.12.27

Cocos Creator v2.2.2 is intended to fix defects and improve product stability. Please see below for a subset of improvements.

Upgrade Instructions

  • If you open the 1.x project, all resources such as the scene will be automatically upgraded. If there is a warning or an error, please refer to 1.10.0 Resource Upgrade Guide and 2.0.0 Upgrade Documentation to make adjustments.
  • 2.0, 2.1 Projects can be upgraded directly and seamlessly.
  • Starting with 2.2, we have enhanced the memory management mechanism. Now the cc.Nodethat is dynamically created by the code and independent of the scene node tree must be released by destroy(), otherwise the engine doesn’t know when to recycle such nodes. In addition, nodes that are manually removed from the scene need to unify destroy when they are not needed. If the node is managed via cc.NodePool, it is not affected.
    // Suppose testNode is a node in the scene, if it was manually removed from the scene, such as
    testNode.parent = null;
    // or
    testNode.removeFromParent(true);
    // or
    parentNode.removeChild(testNode);
    // If testNode will be used again later, there is no need to manually destroy the node.
    // Otherwise it should be called manually
    testNode.destroy();

Bug Fixes

  • Fix a possible memory leak issue with Spine, DragonBones, and particle systems on native platforms [#5905]
  • Fix possible memory leak when using RichText with Outline [#5906]
  • Fix the problem that WeChat mini game may not end when loading multiple audios at the same time [#57]
  • Fix the problem that calculateDeltaTime may endlessly loop after the WeChat mini game is cut back from the background [#e222465]

2019.12.04

V2.2.1

Publish Time: 2019.12.04

The Cocos Creator team has worked hard to release v2.2.1. A big THANK YOU! to all the developers that upgraded to previous versions of v2.2 and provided feedback to help continue to make Cocos Creator a preferred tool is creating multi-platform games. Your encouragement and feedback keep us motivated and provide confidence to make the decisions to move Cocos Creator in the direction to become the number 1 choice in game development environments. Cocos Creator allows developers to enjoy creating amazing games and distributing them to a variety of platforms. Cocos will, as always, optimize the performance and user experience of our products.

This release brings a large number of experience optimizations, defect repairs, and performance optimizations. At the same time, support for Alipay Mini-Games has been added.

It is recommended that all developers upgrade after performing the necessary technical evaluations and after upgrading their existing projects for safe-keeping. Please do not skip these steps.

Support for Alipay Mini-Games

Mini-Games are insanely popular and many platforms are starting to support them. This opens up many new revenue opportunities. Alipay, an e-commerce giant recently added support for mini-games. Cocos Creator v2.2.1 is the first platform to release support for Alipay Mini-Games. For more information, please refer to《Alipay Mini-Games》.

image_preview

Support WeChat mini game engine plugin

The game engine plug-in is a new feature of WeChat version 7.0.7. This can greatly reduce the download time of games. This plug-in is now integrated into Cocos Creator v2.2.1 as part of the environment and will be more convenient to use. Developers only need to check Allow engine separation in the Build panel, and then build the release normally, without any other manual operations.

For more information, please refer to《WeChat Engine Plugin》.

image_preview-2

Upgrade Instructions

  • If you open the 1.x project, all resources such as the scene will be automatically upgraded. If there is a warning or an error, please refer to 1.10.0 Resource Upgrade Guide and 2.0.0 Upgrade Documentation to make adjustments.
  • 2.0, 2.1 Projects can be upgraded directly and seamlessly.
  • Starting with 2.2, we have enhanced the memory management mechanism. Now the cc.Nodethat is dynamically created by the code and independent of the scene node tree must be released by destroy(), otherwise the engine doesn’t know when to recycle such nodes. In addition, nodes that are manually removed from the scene need to unify destroy when they are not needed. If the node is managed via cc.NodePool, it is not affected.
    // Suppose testNode is a node in the scene, if it was manually removed from the scene, such as
    testNode.parent = null;
    // or
    testNode.removeFromParent(true);
    // or
    parentNode.removeChild(testNode);
    // If testNode will be used again later, there is no need to manually destroy the node.
    // Otherwise it should be called manually
    testNode.destroy();

2019.11.11

V2.1.4

Publish Time: 2019.11.11

Cocos Creator v2.1.4 adds support for Alipay games.

Support for Alipay games

Cocos Creator officially supports releasing to the new Alipay platform. Since Cocos Creatorsmoothes the transition between platforms for developers, it’s easy for developers to publish to Alipay games. For detailed steps refer to Publish to AlipayAlipay is currently being opened and is a prime target for future opportunities.

Other changes (relative to 2.1.3)

  • Fixing a disabled Label node may cause Prefab to fail to roll back in the editor [#5460]
  • Fixed UA information recognition issue in Safari browser after iPad update to iPadOS 13.1.1+
    (thanks to krapnikkk)[#5636]

Version Updates

Cocos Creator v2.2.1 is coming soon. please view the Welcome Experience topic. This version will integrate Alipay games.

2019.10.18

V2.2.0

Publish Time: 2019.10.18

The Cocos Creator team has been hard at work ensuring that your games perform very well on each platform we support. Cocos Creator v2.2.0 greatly enhances the performance of the native platform, and includes a large number of feature enhancements and experience improvements. All Cocos Creator developers should consider upgrading to this latest version.

Greatly improve native platform rendering performance

In this version, we have significantly upgraded the rendering engine and achieved tremendous performance improvements on native platforms, surpassing the speeds of all previous versions of Cocos CreatorCocos2d-js and Cocos2d-x.

Cocos Creator v2.2 can meet all the performance needs of every game, small to large, simple to complex, few gaphics to 1,000’s of graphics. To help gauge performance, low-end devices, such as the OPPO A57 and the iPhone 6S+ were used. We also compared previous versions of Cocos CreatorCocos2d-jsCocos2d-x and Cocos2d-lua to ensure we were testing in a broad spectrum, to provide the most accurate data. The results:

  • On Android native, the performance of Cocos Creator v2.2.0 is 1.5x - 1.7x Cocos2d-lua and Cocos Creator v1.9.3.
  • On iOS native, the performance of Cocos Creator v2.2.0 is flush with
    Cocos2d-lua, which is 3x - 4x Cocos Creator v1.9.3.

In addition, Cocos Creator v2.2.0 running on iOS not only improves the frame rate, but also greatly reduces any possibility of jittering when garbage collection occurs. This means the actual game play experience will be really smooth. Here is detailed performance data:

Support 3D model rendering batch

Cocos Creator v2.2.0 adds support for rendering batches of 3D models, which effectively reduces the drawcalls for 3D games. To enable this feature, you simply check the enableAutoBatch attribute on the Mesh Renderer and the engine will automatically batch based on the material used, as well as the Mesh vertex format and Primitive Type. For better optimization, it is recommended that you enable this option only for models that can be batched and have a small number of vertices.

Support for alpha channel separation of PVR compressed textures

Alpha channel separation format (RGB+A) for PVR compressed textures has been added. This format uses a similar method to etc. to separate and compress the transparent channel of the texture. After compression, the texture height will be twice that of the original image, thus avoiding the problem of low image quality in the conventional PVR RGBA format.

Support for custom browser preview templates

Allow users to customize the webpage used for browser preview in a way similar to custom build templates. Support for 3 formats: HTMLJadeEJS. See: Custom Preview Templates.

Support for ambient light settings

We have added an ambient light setting to the Light component for basic lighting of 3D scenes. This is often used to solve the problem of blackout of the back surface of the model. Just select Create Light → Ambient in the Node creation menu. You can also add a Light component to the Node and set the type to be created for AMBIENT.

s_29ACC24992E4A44CE5176A2D2E889601C0E63C73C50DFF1EE1EC457442D50DDE_1565104376686_image

Further improve the performance of Spine and DragonBones

Cocos Creator v2.2.0 optimizes the performance of 2D skeletal animation on various platforms.

  • On the native platform, we have added support for Spine and DragonBones SHARED_CACHE and PRIVATE_CACHE. When the acceleration mode is enabled, the Spine performance of the Android platform is 2x that of the original, and the DragonBones performance
    is 7x the original. iOS platform Spine performance is 3x the original,
    DragonBones is 5x the original.
  • After enabling acceleration mode on the web platform, Android Spine performance is 3x the original, and DragonBones performance is 4x the original. iOS Spine performance is 1.25x the original, DragonBones performance is 1.39x the original.

Here is a breakdown of the detailed performance data:

To enable acceleration mode, simply set the Animation Cache Mode to SHARED_CACHE or PRIVATE_CACHE on the Spine or DragonBones component. For more detailed information acceleration mode, refer to the property descriptions in the documentation.

Spine runtime upgraded to 3.7

Significantly enhanced TiledMap support

Cocos Creator v2.2.0 further improves the support of TiledMap. Grid rotation, grid animation, image layers, layer offsets, and object group text are now supported. Supporting multiple Tilesets in a single layer is also now possible. It also supports adding child nodes to the scene and creating an occlusion relationship with the map. And fixed the problem of rendering errors after a single map vertex exceeds 65535. For details, see TiledMap Component Reference. For details on use cases, see ShieldNode in the engine’s own example.

Property inspector tag supports width adjustment

We added a width adjustment function to the Property inspector to solve the problem of incomplete display of attribute names on some components. Now users do not need to greatly adjust the size of the entire panel, just drag the dividing line to the right of the property name to freely adjust the split ratio.

s_84AB3EB423BB17225D53491883466E78DE2FEDCE7C07666129058B3863C80C28_1568199751166_Prop%20Resizer

Improvements

  • Optimize the editor and the startup speed of each panel
  • Avoid every time the WeChat game build will overwrite the configuration file in the target project in order to retain the user’s custom configuration
  • Change the margin property in the SpriteFrame resource panel and Sprite Editor from the trimmed margin to the original margin. Make it consistent with the data given in the art drawing, and have no effect on the old project data.
  • Automatically remove the open domain components of other small game platforms during the build process, users do not need to manually configure in the module settings
  • The native platform package name in the build panel will be stored separately according to different platforms
  • Upgrade the editor’s Electron to 5.0.8, V8 to 7.3, node.js to 12.0.0
  • Optimized Spine Initialization problem after enabling acceleration mode
  • Officially supported on iOS platform etc2 Compressed texture
  • Enable OpenGLES3 by default on iOS
  • Adaptation macOS Catalina

Editor Fixes

  • Fixed an issue where the scene name could not be obtained during preview after exiting Prefab edit mode
  • Fixed 3D node in scene editor may show confusion after exiting Prefab edit mode
  • Fixed an issue where the animation editor was being deleted and the animation editor would report an error.

Engine Fixes

  • Fixed an issue where events polled with once could not be logged off
  • Fixed cc.systemEvent listening for invalid once events (thanks to Zty)
  • Fixes DragonBones and Spine textures do not support the problem of scene resource lazy loading [#4299]
  • Fix part DragonBones The animation is not playing correctly
  • Fixed an issue where warnings were not raised when the type was set to JavaScript’s native NumberString, etc. when using the decorator to declare CCClass
  • Fixed a problem where the default value is incorrect when the CCClass is declared as the default value of cc.Stringcc.Boolean, etc.

Native

  • Fixed a problem with music being paused from the background after the music was paused on the native platform [#141] [#1875]
  • Fix Android After playing multiple Audio instances in succession, there is a random problem with some sounds [#1869]
  • Fixed Audio for lazy loading on native platforms, unable to stop after playback [#180]
  • Fix iOS or Mac When the native platform reloads Font, it may cause memory leaks [#1761]
  • Fix iOS 13 Dark mode causes EditBox white fonts are not visible [#1866]

Web

  • Fix IE11 VideoPlayer Can’t full screen issue [#4879]

Mini Game

  • Fixed AudioSource’s playOnload may not work
  • Avoid iOS on Baidu game cut scenes may be black screen problem

REMOVED

  • Removed Visual Studio 2015 support for building Windows platforms for unified use of 2017.

BREAKING CHANGES

  • Adjust cc.winSize from cc.Vec2 to cc.Size

KNOWN ISSUES

  • v2.2.0 does not support the Skew effect on nodes for the time being. We will provide documentation to guide you to manually enable Skew support. For new projects it is suggest ed to use 3D Sprite directly instead of Skew. For old projects please refer to [#5564] and [#1889] to match js and native engines to support Skew.
  • After publishing to Windows/Mac, to resize the screen, please manually follow [#1930] to accommodate.
  • Some old projects may have referred to this [forum post], which implements screen rotation on iOS and Android. This is now old information. Please manually follow [#1930] to accommodate.
  • On some macOS machines, `Label` will appear in the CHAR mode with a white border. This problem has a small impact and will be fixed in 2.2.1. For more follow-up version plans, please refer to the [roadmap].

Upgrade Instructions

  • If you open the 1.x project, all resources such as the scene will be automatically upgraded. If there is a warning or an error, please refer to 1.10.0 Resource Upgrade Guide and 2.0.0 Upgrade Documentation to make adjustments.
  • 2.0, 2.1 Projects can be upgraded directly and seamlessly.
  • Starting with 2.2, we have enhanced the memory management mechanism. Now the cc.Nodethat is dynamically created by the code and independent of the scene node tree must be released by destroy(), otherwise the engine doesn’t know when to recycle such nodes. In addition, nodes that are manually removed from the scene need to unify destroy when they are not needed. If the node is managed via cc.NodePool, it is not affected.

// Suppose testNode is a node in the scene, if it was manually removed from the scene, such as
testNode.parent = null;
// or
testNode.removeFromParent(true);
// or
parentNode.removeChild(testNode);
// If testNode will be used again later, there is no need to manually destroy the node.
// Otherwise it should be called manually
testNode.destroy();

2019.09.20

V2.1.3

Publish Time: 2019.09.20

Since the release of Cocos Creator 2.1.0, after six months of update iterations, the version has stabilized, and the new users of 2.1 are now in the mainstream. Therefore, we plan to reduce the maintenance of the 2.0 version, focus our efforts on 2.1 and 2.2 development, and strive to make Cocos Creator a more focused, open and healthy open source platform.

Cocos Creator v2.1.3 optimizes the experience and fixes bugs. It is recommended for all v2.0 and v2.1 projects in development. to upgrade.

Support iOS 13

To support the upcoming iOS 13 operating system, we replaced the underlying VideoPlayerimplementation on iOS native with the MPMoviePlayerController for AVPlayerContoller [#1831], at the same time, the underlying WebView with UIWebView for WKWebView was replaced. [#1837].

Improvements

  • Add fault tolerance to the component’s onLoadstartupdatelateUpdate functions to better handle exceptions thrown by user scripts. [#4941]
  • When you preview particles in the editor, the particles in the child nodes under the current node will be played synchronously, which is convenient for art. (In the editor, the particles in the child nodes under the current node are played simultaneously for easy art viewing).
  • Improve the behavior of dragging resources into the scene for creation (Improve the behavior of dragging resources into the scene for creation)
  • Add the option Packable in the Property inspector to see if the image can be dynamically combined. It solves that custom shaders can’t get the original UV. For details, see Texture:packable.
  • Allow double-click on the json asset in Assets panel in the resource editor
  • Set the texture type to RAW by default when importing the plist atlas when importing plist atlas
  • Add Vec4 type support to Properties panel in the Property inspector.
  • Improvements creator.d.ts Type hints (Improve some creator.d.ts type hints)
  • Optimized Label’s SHRINK dynamic layout, while supporting CHAR mode (Optimize the SHRINK dynamic layout of Label and support CHAR mode)[#5223]
  • Avoid performance overhead when calling Texture2D.update multiple times [#5198]
  • Upgrade V8 to 7.5 on Android.
  • VideoPlayer is available to WeChat Mini Game.

Editor Fixes

  • Fixed an issue that rotation data in AnimationClip will be lost after upgrading from v2.0
  • Fixed an issue where the rotation of the scene and nodes in Prefab at a certain angle was lost after upgrading from v2.0
  • Fixed an issue where some items open on the machine and stopped at the Is importing resources, please wait interface
  • Fixed a problem that compressed texture may be missing after project build (thanks to xu.lidong)
  • Fixed a problem that when a compressed texture’s quality is 100, the builder cannot generate the image file correctly.
  • Fix an issue where script may be misreported after it is moved or renamed
  • Fix Animation editor issue where the timeline editor can’t set Node’s z value
  • Optimized Animation editor Optimized the error handling of the Timeline editor when the state of components, assets, etc. changes
  • Fix an issue where the gizmo is not located correctly in the scene editor
  • Fix the problem where the node rotation can not be undone.
  • Fixed attribute checker settings Camera’s Rect has no effect) [#5294]
  • Fixed an issue where a scene or prefab could not be opened normally after something went wrong with their data in some cases
  • Fixed an issue where RichText or Label components may generate a space at the beginning of a line when after the text that the RichText or Label component fills in the editor is automatically wrapped. The text filled in in the editor is wrapped.
  • Fixed an issue where content is not displayed when the NodeTree and Assets merge into the same panel when fixing the level manager and the resource manager merged into the same panel.

Engine Fixes

  • Fixed an issue where a scene async loading assets can cause the 3D model can not be displayed [#5071]
  • Fixed an incomplete rendering issue of 3D skeleton animation [#5349]
  • Fixed problems that requestAnimFrame related error may occur when the engine is initializing [#5248]
  • Fixed an issue where dynamic stitching would cause texture edge pixel anomalies in certain situations (thanks to unace)[#5242]
  • Fixed problems that Animation’s “stop” and “lastframe” don’t trigger under certain situations [#5246]
  • Fixed an issue loading a scene with WebView, then the first frame will flash on screen after The scene is switched [#5106]
  • Fixed the problem that the Label** text will still show after the text is empt [#5266] [#5284]
  • Fixed an issue when a Label used with a LabelOutlineLabel Overflow is set to SHRINK or CLAMP, and CacheMode is set to CHAR, the node is not sized correctly)[#5145]
  • Fixed an issue where RichText may lose spaces after wrapping [#5116]
  • Fixed an issue where the Sprite component does not support MESH mode [#5195]
  • Fixed an issue where ScrollViewPageView enables Elastic May not bounce back after sliding beyond the boundary [#4894]
  • Fixed an issue with ScrollView’s ScrollBar display unexpected [#5249]
  • Fixed an issue where Layout doesn’t work correctly when it’s scaling less than 1)[#5074]
  • Fixed an issue that the node where the PhysicsCollider is located may report error by modifying the node’s group property in runtime (thanks to HengHuH [#4949]
  • Fixed an issue where the engine’s built-in assets may have been mistakenly released by the user[#4915]
  • Fix an issue where memory leaks can occur when a large number of render nodes are added and deleted [#5025]
  • Fixed node’s targetOff method may not work [#5052]
  • Fixed an issue where an audio instance may have been destroyed by error after more than 32 audio instances are playing At the same time [#5097]
  • Fix the problem with particle coordinate errors in Free mode [#5320]

Native

  • Fixed Label memory leaks on native platforms [#1783] [#1786]
  • Fixed an issue where the EditBox font defaults to white on some Android models [#1778]
  • Fixed issues where EditBox characters is overlapping in input state on Mac and Windows [#146]
  • Fixed an issue where EditBox input emoji on iOS may crash [#1798]
  • Fixed the problem that the EditBox input box position is abnormal when the Canvas adapt mode is SHOW_ALL [ #162]
  • Fixed an audio bug on Android that audios are not paused when locking screen while Notification drawer is Showing [#1788]
  • Fixed an issue on Android with the program that audio still play in the background when the screen is on. [#1785]
  • Fixed an issue where the paused audio is automatically played when game switch from background to foreground [#145]
  • Fixed an issue when changing Spine/DragonBones material on native platforms, position go wrong [#148]
  • Fixed an issue on native platforms where opacity of Spine/DragonBones incorrect at first Frame. [#148]
  • Fixed an issue where VideoPlayer can’t return after fullscreen on iOS [#1800]
  • Fixed an issue where the lock screen will get stuck when VideoPlayer plays on Android when playing on Android [#1811]
  • Fixed an issue where cc.sys.languageCode can’t get full language area code on Android)[#1784]
  • Fixed a problem that failed to call cc.game.setFrameRate() on the Mac Platform when plugin scripts were initializing [#5261]

Web

  • Improve support for IE11. [#5033]
  • Fixed an issue where clicking the EditBox clear button which comes with Edge browser does not trigger the Input event. [#5088]
  • Fixed an issue where EditBox’s text size failed to scale with Node during the input process [#5088]
  • Fixed an issue where audio can’t play on Edge and Baidu browsers [#4910]
  • Fixed a problem where audio might not play on desktop Chrome and Safari [#4991]
  • Fixed an issue where desktop UC browser play WebAudio reports errors [#5048]
  • Fixed the error caused by audio call setTargetAtTime when game runs on Crosswalk [#5281]

DEPRECATIONS

  • Discard the convertToWorldSpace function on Node, please use convertToWorldSpaceARinstead.
  • Discard the convertToNodeSpace function on Node, please use convertToNodeSpaceAR instead.
  • Improve the camera’s coordinate conversion API
  • getCameraToWorldPoint is changed to getScreenToWorldPoint and supports 3D Camera
  • getWorldToCameraPoint is changed to getWorldToScreenPoint and supports 3D Camera
  • getCameraToWorldMatrix is changed to getScreenToWorldMatrix2D, only 2D Camera is supported.
  • getWorldToCameraMatrix is changed to getWorldToScreenMatrix2D, only 2D Camera is supported.
2019.07.17

V2.1.2

Publish Time: 2019.07.17

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.xwill 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 Gamesand Cocos Play.

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 3Dprojects. 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.

Improvements

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 Fixes

  • 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 Fixes

  • 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

  • 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

  • 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 cc.game.end() 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 3DIn 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!

2019.05.28

V2.0.10

Publish Time: 2019.05.28

Cocos Creator v2.0.10 focuses on improving the stability of the native platform, fixing issues related to SpineDragonBones, and Label. It is recommended that all v2.0 users upgrade. In addition, v2.0.10 also supports the release of two new platforms, Xiaomi Quick Game andInstant Play Games, which bring new opportunities for developers. Good quality is inseparable from careful polishing. Thank you for the feedback from developers in the community, GitHub, Cocos corporate services and other channels.

Support Xiaomi Quick Games

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

Support Instant Play Games

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

Editor Fixes

  • Optimize the build speed of very large projects
  • Improve error handling when resources uuid conflicts
  • When the build release is removed, the Auto Atlas is empty warning, allowing the auto atlas to be empty
  • Added package name options for iOS and Mac platforms in the build panel

Engine Fixes

  • Optimize the node's zIndex refresh performance #4060
  • Added global timeScale options for Spine and DragonBones, set via API sp.timeScale and dragonBones.timeScale
  • Optimized Spine and DragonBones initialization speed in acceleration mode
  • Added getArmatureKey method to DragonBones's ArmatureDisplay for indexing as a dressup #4100
  • Added BlendFactor support for MotionStreak
  • The cc.macro.CLEANUP_IMAGE_CACHE flag is enabled by default on the native platform to reduce texture memory usage
  • Optimized Native platform Spine memory footprint
  • Optimized instant game open domain performance
  • Added fps attribute to the instant game open domain component SubContextView to control the open domain refresh rate, default 60
  • Disable the main loop of the open domain by disable instant game open domain component SubContextView, reducing performance overhead, see WXSubContextView Tips
  • Upgrade WeChat game resource loading speed
  • Fixed an error in the engine when Rect width exceeds maximum margin was reported when importing a fully transparent image

Bug Fixes

Editor

  • Fixed an issue where the build of OPPO, vivo, and Huawei games might encrypt the script to JSC and cause the build to fail.
  • Fixed an issue where the Android Studio SDK path would report an error under Windows
  • Fixed an issue with compiling errors when using the link template when building a Mac platform
  • Fixed an issue where a very large project might be reported on the Windows platform (when the number of resources > 100,000)
  • Fixes Auto Atlas may export more unused SpriteFrame or SpriteAtlas resources when building
  • Fix Auto Atlas Warning message may be incorrect when building
  • Fixed an issue where the particle system could not be previewed in the editor after enabling Custom mode
  • Fixed an issue where if the font name had parentheses when importing BMFont
  • Fixed object already destroyed warning when it appears repeatedly in Prefab edit mode
  • Fixed an issue where returning to the scene when entering Prefab edit mode from a scene with DragonBones or Particle
  • Fixed removing the TiledLayer node, then Undo, will report the material is empty
  • Fixed a problem with data corruption when exporting multiple resources in batches
  • Fixed an issue where child nodes could still be selected in the scene after locking the parent node in the hierarchy manager
  • Fixed an issue where resources could not be dragged to the hierarchy manager when there were no nodes in the scene
  • Fixed an issue where renaming file operations in Resource Manager might not work
  • Fix the problem that after the animation editor finishes playing the animation, manually skipping one frame and then playing it will cause an error.
  • Fixed an issue where the project could not be opened when the configuration file was corrupted
  • Fixed an issue where a new project could not be created when the custom engine did not exist

Engine

  • Fixed DragonBones Parent bone transparency has no problem with sub-bones transparency #4068 #1704
  • Fix DragonBones The original animation monitor failed after the skinning operation
  • Fix Spine, DragonBones When pre-multiplication is enabled, modify the transparency of the node and the problem of exposure #4068#1704
  • Fixed an issue where manually created Assets would report an error when remotely loading DragonBones or Spine resources#4020#122
  • Fix SpineDragonBones Cache update issue in SHARED_CACHE mode #4457
  • Fix Spine In Cached mode, there is no default value for the delay parameter of addAnimation
  • Fix Spine In Cached mode, setting skeletonData will warn you
  • Fix Spine In Cached mode, the animation may be abnormal when changing. #4488
  • Fixed an issue where Spine's json file would report an error without a skeleton field #4029
  • Fix Spine Problems with multiple skins that are not displayed in speed mode #4091
  • Fixed AudioSource The problem of getting the state state error during the second play #3974
  • Fixed texture not dynamically set mipmap problem #4201
  • Fix Label Problem with text positioning may be garbled when CHAR mode is enabled #4007
  • Fix Label Problem with dynamic mapping does not work after BITMAP mode is enabled #4392
  • Fix Label When the text rendered too much is off the screen Canvas size may be too large #4047
  • Fixed an issue where the opacity setting of the node where the Label is located exceeds 255. #4161
  • Fix Label Problems with BMFont may not be rendered when using shrink mode #4099
  • Fix LabelOutline A memory leak may be caused when a component is destroyed #4220
  • Fixed LabelOutline Exceptional transparency when cascading components #4495
  • Fixed ScrollView or Mask where node Scale is 0, flat nodes may not be able to respond to clicks #4456
  • Fixed an issue where the scrolling position was incorrect when the page of PageView was dynamically updated #4050
  • Fixed a memory leak issue that could be caused by too many particles in the particle system #4256 #4262
  • Fix Particle System After playing, hide and display the problem of residual particles #4243
  • Fixed a problem where the Scale 0 node Instantiate three times in Prefab would cause the Scale value to become 1#4454
  • Fix native platform resources DownloadXMLHttpRequestWebSocketSocketIO Possible crash after request #1721 #1716
  • Fix native platform GC may cause crash problem #1744
  • Avoid native platform initialization process if evalString is called in native code to crash
  • Fix Native platform Label shows possible black border issues #130
  • Fix Native platform Spine A problem that can cause a crash when resource acquisition or parsing fails #1745
  • Fix Native platform Spine Destroy possible crashes when not fully loaded #1711
  • Fix Native platform DragonBones Set the displayIndex attribute of the slot to have no effect #4339
  • Fix iOS 12 Unable to load the correct ttf file issue #1700
  • Fix iOS Problems that may crash when AudioClip is released #1714
  • Fix Android The problem that the native platform can't load the sub-package correctly #1701
  • Fix Android EditBox The problem of inputting decimal points and other symbols is not supported under number inputType#1695
  • Fix Android Instant platform loading Spine Resource error reporting #3999
  • Fix Windows may report an error when switching between the front and back of the platform
  • Fix Web platform VideoPlayer Set currentTime invalid question #4049
  • Fix Web platform VideoPlayer Listening for problems with invalid ready-to-play events #4049
  • Fix WeChat mini game On Android platform Audio Unable to start over again when replaying #92
  • Fix Baidu game saveFile causes tempFilePath to expire #14
2019.04.30

V2.1.1

Publish Time: 2019.04.30

Since the release of Cocos Creator 2.1.0, we have received a lot of valuable suggestions from users. Based on previously announced plans, we will continue to speed up the iteration of the v2.1 series to implement user suggestions as quickly as possible. At the same time, in order to prevent these changes from affecting the stability of old projects, we only recommend upgrading projects with 3D requirements to v2.1. Other projects can continue to use v2.0, and wait until v2.2 is released before upgrading. This v2.1.1 upgrade mainly supports 3D scene editingcamera previewlighting system, and also incorporates the latest 2.0.x changes.

Support 3D scene editing

The Scene Editor allows you to switch to 3D editing mode with one click, making it easy to edit 3D objects, cameras, and lights. See the 3D Scenes document 1 for details.

Add game preview panel

A separate preview panel has been added to visually preview the images seen by the camera during scene editing. Panel Open: Main Menu → Panel → Game Preview, the preview panel can be placed in a separate window or dragged into the main editor window.

s_4A04B2733C58C3785BF9DAB70F7114F68401A06E2E8478F24E9A8254F94C36DB_1553237527640_image

Add 3D lighting and shadows

Light component has been added to lay out lights in the scene, and a shadow effect can be set in conjunction with MeshRenderer. See the Light Source Component Reference documentation.

s_4A04B2733C58C3785BF9DAB70F7114F68401A06E2E8478F24E9A8254F94C36DB_1553235837568_image

Upgraded EditBox component

Now, developers can set the Text LabelPlaceholder Label and Background nodes separately, making them more flexible, simple, and more in line with the component development. See the EditBox Component Reference documentation.

Add text shadow rendering component

A new LabelShadow component has been added to add a shadow effect to the Label component, similar to the LabelOutline usage. See the Label Component Reference documentation.

Support for dynamically creating 3D Primitive models

Added cc.primitive module to dynamically create 3D models at runtime, including: box, cone, cylinder, plane, etc. See the Basic 3D Objects documentation.

Integrated Material System (Beta)

Added support for material systems, allowing users to create Material and Effect (Shader) resource types. It should be noted that the current material system is mainly provided to the internal use of the engine and is only for developer preview. We plan to upgrade the material system in v2.1.2, however it will not be back-ported to this version.

Editor Fixes

  • Added shortcut Ctrl/Cmd + Shift + F to align the currently selected node to the perspective of the scene editor.
  • When you click in the scene editor, you can hold down Ctrl/Cmd for multiple selections at the same time.
  • Improve fault tolerance processing for custom engines to avoid editor startup failure
  • Improve the search performance of the resource manager under very large projects
  • Add menu File -> Open project in new window to support simultaneous opening of multiple projects on Mac
  • Hide the component’s enabled checkbox when the component does not define the enabledassociated lifecycle function
  • Upgrade the TypeScript version to 3.3.3333

Engine Fixes

  • Make cc.Vec3 compatible with related APIs of cc.Vec2
  • Improved Label positioning accuracy in the editor and on different browsers (thanks to “Dacheng Xiaopeng” for advice)
  • Optimization 3D skeletal animation performance and volume
  • The cc.macro.CLEANUP_IMAGE_CACHE flag is enabled by default on the native platform to reduce texture memory usage
  • Native platform automatically verifies the maximum supported texture size of the current device
  • Add WeChat Mini game XMLHttpRequest support for timeout event [#87]
  • Added cc.sys.HUAWEI_GAME enumeration to determine if it is currently Huawei’s fast game platform
  • Optimized Android 5 system’s WebView compatibility
  • Allow iOS browser to play automatically when VideoPlayer is muted

Bug Fixes

Editor

  • Fixed an issue where BuildResults.getNativeAssetPath might not get the texture path
  • Fixed removal animation editor error message caused by the animation frame being edited
  • Fixed an object already destroyed warning that appears when you repeatedly enter Prefab edit mode

Engine

  • Fixed an issue where enabledInHierarchy is always false when the component does not define onEnable
  • Fixed an issue where ToggleGroup is not fully disabled when the active node is false
  • Fix Label’s opacity is not working
  • Fix Slider’s anchor settings will affect clicks [#4163]
  • Fix Particle System after playing, hide the node and display the problem of residual particles [#4243]
  • Fixed a memory leak issue that could be caused by too many particles in the particle system[#4256]
  • Fix native platform resources DownloadXMLHttpRequestWebSocketSocketIO possible crash after request [#1721] [#1716]
  • Fix native platform XMLHttpRequest may crash due to timeout [#1724]
  • Fix native platform loading via IPV6 under the telecom network (WeChat avatar) file may fail [[#1713]] (https://github.com/cocos-creator/cocos2d-x-lite/pull/1715)
  • Fix native platform OpenGL draw error #4017
  • Fix native platform Label there may be black border issues when rendering system text [#130]
  • Fixed an issue where the audio file on the Android platform could not be loaded when it was not in OBB[#1611]
  • Fixed an issue where the Android platform received a touch event before the engine initialization was completed could cause a crash [#1715]
  • Fix Windows platform window may report an error when minimizing restore [#129]
  • Fixed Windows platform error when opening window [#1732]
  • Fixed an issue where the volume setting to 0 is invalid on Browser
  • Fix 3D Project incompatibleWeChat game Open Data Domain issue
  • Fix 3D model bone penetration problem [#4188]

Removed

  • Removed the creation entry for the CoffeeScript script. CoffeeScript scripts can still be created manually, and we plan to remove full support for CoffeeScript in v3.0.

Follow-up version plan

(The version plan is for reference only, the final version content and release order are subject to actual conditions)

  • 2.0.x
    • Continuously optimize performance and improve stability
    • Support for more small game platforms
  • 2.2.0
    • Optimized Auto Atlas
    • Enhanced compression texture support
    • Further optimize the platform compatibility of the EditBox
    • Support skeletal animation resource lazy loading
    • Optimize the small game platform build process
  • 2.3.0
    • Greatly optimize native platform base rendering performance
    • Greatly optimized TiledMap support
  • 2.3.x
    • Support for 3D physical systems and collision detection
    • Upgrade the material system added in 2.1.1 from the experimental version to the official version
2019.03.05

V2.0.9

Publish Time: 2019.03.05

Cocos Creator v2.0.9 support for greatly optimizes the performance of DragonBones/Spine on small games and web platforms. WeChat mini games also brings improved resource loading performance and dynamic text refresh efficiency. At the same time, we have further improved the compatibility and stability of the engine and editor, so that everyone can get a better development experience. Good quality is inseparable from careful polishing. Thanks to the feedback from developers on the community, GitHub, Cocos corporate services and other channels.

Improving the performance of DragonBones and Spine on non-native platforms

Cocos Creator v2.0.7 greatly optimized the performance of DragonBones and Spine on native platforms, with performance optimized to more than twice as fast as 1.9 and 1.10. This release, v2.0.9, for Web platforms and non-native platforms. SHARED_CACHE and PRIVATE_CACHE acceleration modes, have improved DragonBones performance by 15 times, and Spine’sperformance has improved by 3 - 6 times.

Performance test results after acceleration mode is enabled:

2019.02.10

V2.0.8

Publish Time: 2019.02.10

Change List

  • A reset method has been added to the cc.WXSubContextView component to allow the user to properly reset the view size by calling this API when switching between subdomain views. PR 
  • Fixed that on some Android WeChat 7.0.3 models, Retina will still be blurred.
  • Fixed frame rate instability caused by listening to Device Motion on Android WeChat 7.0.3
  • Fix the problem that the WeChat game sub-package will load when it does not contain any resources.
  • Fix an issue where BMFont is not available in WeChat open data domain
  • Fix RichText’s use of the font tag is invalid
  • Fix an issue where RichText can’t pass arguments when using the on tag
  • Fix the problem that the editor can’t build a project from the command line
  • Adapting scene scaling issues after downgrading from Creator 2.1 to 2.0
2019.01.07

V2.0.7

Publish Time: 2019.01.07

Description of changes in this version

  • Improve the font loading method on the web platform and fix the problem that individual TTF fonts must be loaded for a long time #3708
  • Fixed an issue where audio might not play after multiple reloads #3702
  • Fixed an issue where calling cc.view.setFrameSize does not take effect on the web platform  

Also fixed the following new issues in 2.0.7

  • Fix native platform WebView, VideoPlayer related issues
  • The rpk path of the debug platform window popped up after the Huawei small game platform clicks is inconsistent with the actual
  • If the fast game tool is not closed, the project will be opened after the project is switched.
  • Fixed an error caused by the failure of loading ttf in WeChat open data domain
  • Fixed a problem of not generating a web-mobile folder when building a web-mobile platform
  • Fix ios platform empty packet compilation error (ios)

Documentation

Cocos Creator 2.0.x Documentation 

2018.12.14

V2.0.6

Publish Time: 2018.12.14

Cocos Creator v2.0.6 is based on the v2.0.5 upgrade, providing fast access to Facebook Audience Network and Facebook Live Video on Android and iOS, while maintaining v2.0.5 stability. Facebook Audience Network is an advertising platform launched by Facebook that provides powerful advertising monetization capabilities. Facebook Live Video is an SDK from Facebook that allows players to play live games directly and share them on Facebook’s social network, effectively improving the game’s ability to spread. For specific access procedures for these two SDKs, please refer to the document Facebook Live and Advertising. In addition, this version also optimizes the build process of for Vivo and OPPO Mini Games. It is recommended to upgrade to this release if you are releasing Vivo and OPPO Mini Games.

Change List

  • Added Facebook Audience Network and Facebook Live Video integration options to the service panel
  • Fixed an issue that Facebook Instant Games could not upload
  • Fixed a problem with zip compression for zip packages from Facebook Instant Games
  • Optimized the build panel for the vivo game:
  • Removed npm path input box
  • The app icon is modified to any path, no longer limited to the path of the game project, and a button for selecting the image path function is added to the right of the app icon input box.
  • Removed the use of certificate.pem, private.pem certificates fixed in [game project]/build-templates/jsb-link, and modified them to choose their own path. At the same time, the certificate is added to the rightmost button of certificate.pem. (Note that using Windows systems requires installing the openssl software and configuring its environment variables beforehand)
  • Optimized OPPO mini-game build panel:
    • Removed the npm path input box and the quickgame input box, and Cocos Creator has a built-in quickgame.
    • The app icon is modified to any path, no longer limited to the path of the game project, and a button for selecting the image path function is added to the right of the app icon input box.
  • Removed the use of certificate.pem, private.pem certificates fixed in [game project]/build-templates/jsb-link, and modified them to choose their own path. At the same time, the certificate is added to the rightmost button of certificate.pem. (Note that using Windows systems requires installing the openssl software and configuring its environment variables beforehand)
  • The output path of the packaged rpk is adjusted to be the same as the path when the packet rpk is not set, in the [game project]/build/quickgame/build/ directory. And when you package the packet rpk, only one rpk file will be generated, and no other sub-package directories will be generated.
  • WeChat mini game is not enabled by default after ES6 to ES5
  • Limit the maximum number of concurrent downloads (cc.macro.DOWNLOAD_MAX_CONCURRENT) to less than 10 by default on WeChat games.
  • Fixed an error when WeChat game called cc.game.end( )
  • QQ light game build allows direct packaging of zip files for easy uploading of the server
  • Fixed a problem with Mask rendering on QQ Light Games
  • Fixed an issue where Android Instant platform crashed after compiling Android + AnySDK

Follow-up version notice

v2.0.7 will be released soon, focusing on optimizing native platform performance

We will soon be beta testing v2.0.7. In this version we optimized the rendering performance of the engine, especially the Spine and DragonBones of the native platform, and the performance has been greatly improved.

v2.1 iterations will be more aggressive

Compared with v2.0, the upgrade of v2.1 will mainly focus on the 3D field. We recommend upgrading new projects with 3D requirements to this version, and establishing contact with us in forums and other channels. Our responsible 3D partners will provide relevant support. . Since v2.1 is a very new version, we will speed up the iteration and try to meet the needs of developers. We will be releasing v2.1.1 in the near future to support 3D scene editing, camera preview and material systems, and to optimize the 3D development process.

2018.11.05

V2.1.0

Publish Time: 2018.11.05

Cocos Creator v2.1, adds support for 3D features such as: 3D model rendering3D Camera3D skeletal animation, and 3D point selection. The Cocos Creator editor now natively supports parsing 3D model files in FBX format. It’s that simple, no additional workflow is required!

In the previous version, v2.0, Cocos Creator had used a Cocos3D based 3D renderer to officially introduce 3D support. The addition of 3D features can greatly enrich the expressiveness of 2D games, reduce the resource overhead of 2D games, and bring more imagination and ideas to expand games.

However, it should be emphasized that the target users of Cocos Creator is still 2D game development, and the 2D game is still the core service of Cocos Creator 2.x. We will continue to optimize the development experience and basic performance of 2D games, and gradually increase the 3D functions suitable for integration into 2D games. Therefore, Cocos Creator does not allow a pure 3D game, which is the goal of Cocos3DCocos Creator’s development path is closer to 2.5D.

This is not the first time Cocos has upgraded the engine from 2D to 3D. A few years ago, Cocos2d-xexpanded to the 3D space and accumulated a lot of experience. It also produced a very good game concept like Sword and Home. However, at that time, 3D functions were piled up on a very heavy 2D renderer, and there was no editor support. It was not widely recognized by the market. This time, Cocos Creator is based on Cocos3D’s 3D renderer, which has a lot of 3D stability and guarantees a seamless editor experience.

Follow-up Version Notice

v2.0 will continue to be maintained, native platform performance will be optimized as soon as possible

v2.0 and v2.1 will grow together over a period of time.v2.0 will continue to be maintained, adding more performance optimizations and bug fixes. We will soon be beta testing v2.0.7. In v2.0.7 the rendering performance of the engine has been optimized, especially Spine and DragonBones. Also, the performance has been greatly improved.

v2.1 iterations will be more aggressive

Compared with v2.0, the upgrade cycle of v2.1 will mainly focus on 3D features. We recommend upgrading new projects with 3D requirements to this version, and establishing contact with us on our forums. This allows us and our 3D partners to provide support.Since v2.1 is a very new version, we will speed up the iteration and try to meet the needs of developers. In particular, currently v2.1.0 version still does not support 3D scene editing, only the 3D parameters can be set in the property inspector. We will be releasing v2.1.1 in the near future to support 3D scene editing, material systems and optimizing the 3D development process.

Complete list of changes (compared to v2.0.5)

3D Node

In v2.1, newly created Node objects are still 2D by default. When needed, you only need to click the 2.5D button at the top right of the Node to switch to 3D mode. After switching, you can edit the z axis. See 3D Node .

3D Camera

Like Node, Camera is also divided into two modes. When you add a Camera component to a normal 2D node, it becomes a 2D Camera. When you switch Node to 3D mode, Camera will also enter 3D mode, and then you can edit Camera's FOV and other parameters in 3D mode.

3D model import

Currently, Cocos Creator supports importing 3D model formats for a very wide range of .fbx files. .fbxis the de-facto standard in 3D modeling software. The process of importing is very simple, just drag the .fbx model into the Explorer and wait a few moments for the import to complete. After the import is completed, you can see that the imported model is a folder that can be expanded in Explorer. When importing the model, the editor will automatically parse the content of the model and generate a Prefab, a Grid, a Bone Animation and other resources. See Import Models

s_D5EB83DE4EB14ED7F4E0412694594BEA563C6F613AB6CAC04191666891BDD83C_1543326015234_image

Mesh Renderer Component

Mesh Renderer is used to draw grid resources. See Mesh Renderer .

mesh_renderer

Bone Animation Component

The Skeletal Animation component inherits from the Animation component. The Skeletal Animationcomponent is not much different from the Animation component. The exception is the Skeletal Animation component uses a clip that can only be a Skeletal Animation clip. The Skeletal Animationcomponent is automatically added to the model’s Prefab when it is imported. See Bone Animation Component  for details.

search-skeleton-animation

For more 3D instructions, please consult the documentation 3D System .

Optimize automatic gallery build speed

v2.1 greatly optimizes the speed of auto-atlas construction. If the atlas has not changed, the results of the last build are used.

Further improve rendering performance

Between v2.0 compared to v1.x, there are some cases where the engine does not render batches, resulting in an increase in draw calls. v2.1 re-optimized these conditions. If the previous color or opacity cannot be batch processed, sliced and non-sliced share the same texture and cannot be batched. The problem that the opacity 0 node still occupies the draw call is solved.

Add simulator debugging function

In the Project Settings -> Preview Run Panel, the Open simulator debugger panel option and the Wait for debugger connect option have been added. The purpose of the Open simulator debugger panel option is to automatically open the debug window when the simulator previews the project. The Wait for debugger connect option is used to suspend the boot process until the debugger connection is complete for debugging the load process.

s_D5EB83DE4EB14ED7F4E0412694594BEA563C6F613AB6CAC04191666891BDD83C_1543327279764_image

Texture Auto Compression

The compression required by the texture can be set directly in the editor, and Cocos Creator will automatically compress the texture when the project is published. Exporting multiple image formats simultaneously on the web is supported. The engine will automatically download the appropriate format according to the different browsers. See Compressed Textures  for details.

Enhancements

Editor

  • Dashboard is closed when the project is opened, and automatically opened when the project is closed.
  • Dashboard will automatically record the last created project path.
  • Optimize the preview of the Button under the editor.
  • Optimize the way Button Click Event indexes components, avoiding the loss of indexes after scripts are renamed.
  • QQ light game construction allows direct packaging of zip files for uploading servers.
  • The new plug-in mall automatically prompts the user to install after the plug-in download is completed.
  • When building a WeChat mini-game main domain project, the subdomain will not be emptied again.
  • Modify the API Level selected by default when building the Android platform to the current highest level (Target API Level).
  • The node path bar in the scene editor is removed, and the node path can be obtained through the node right-click menu of the hierarchy manager.
  • The animation editor defaults to Constant curves for values ​​of type cc.Enum and cc.Integer, without interpolation.
  • Animation editor key frame addition and deletion experience optimization.
  • The optimization engine automatically compiles the experience.
  • Added a series of other experience optimizations.

Engine

  • [UI] Added the affectedByScale property to the Layout component. If the developer wants the scaling of the Layout subnode to affect the layout, you can turn it on manually.
  • [UI] supports fnt files in XML format.
  • [UI] The Content Size of the node will be refreshed immediately when the Label node is onEnable.
  • [UI] When the target of Button is not defined, the current node will be used by default.
  • [UI] ToggleContainer adds a checkEvents event property similar to Toggle, which fires only when Toggle’s isChecked state becomes true.
  • [Action] Added support for four actions of cc.Rotate3DTo, cc.rotate3DTo, cc.Rotate3DBy, cc.rotate3DBy.
  • [Native] Rejoined WebView and VideoPlayer support removed in v2.0.0 on iOS and Android platforms.
  • [Native] The Mac native platform switches to the V8 engine. If you need to use JSC, you need to manually modify the macro. For details, see #1515 .
  • [Native] Add the missing key and length properties of the native platform LocalStorage, see #1371.
  • [Native] Adopts Pinyin input behavior unified with Android on iOS native platform, does not retain input of unfinished pinyin.
  • [Android] Upgrade Android compilation to NDK r16+ Clang, and compile Android pre-compiled library with Clang.
  • [Android] Upgrade the Android build tool to configure Gradle to 4.4, plugin to 3.1.4. (Gradle 4.6 has a known issue that will cause resource packaging to fail).
  • [Android] Optimize Android input box experience.
  • [Android] Squeeze Android empty package body, the minimum package body is reduced from 7.0MB to 6.3MB.
  • [Web] Increase transparency support for WebView on the web platform.
  • [Web] Optimized display position of WebView components.
  • [Web] Optimizing the performance of VideoPlayer on the X5 browser.
  • [Wechat] Supports getting the res and referrerInfo parameters passed to the platform when responding to the cc.game.EVENT_SHOW event on WeChat games.
  • [VideoPlayer] Optimized the performance of VideoPlayer full-screen playback.

Bug Fixes

Editor

  • Fix an issue where the animation editor node list may not be updated.
  • Fix the problem of selecting the RichText subnode in the scene editor.
  • Fixed an issue where the error code always returned 0 when building a project using the command line, whether or not an error occurred.
  • Fixing the background of the mesh in the scene editor will penetrate above some translucent images, causing some differences in color and runtime.
  • The editor will report an error when repairing an external drag resource to an invalid location in the resource manager.
  • Fixed remote server ip getting error when publishing Android Instant platform.

Engine

  • [Core] Problem with activeInHierarchy being true after fixing node destroy.
  • [Core] Fix filter in RenderTexture, premultiply alpha setting is invalid.
  • [Core] Fixed an issue where the scene introduced by the plugin could not be loaded.
  • [Web] Fixed a problem with white afterimages on Chrome 69, 70. (Since 2.0)#3357.
  • [UI] Fix Button may have some state invalidation when multiple states are superimposed on each other.
  • [UI] Fix LabelOutline setting invalid color problem.
  • [UI] Fixed an issue where setting Toggle.isChecked to be invalid in the start method.
  • [UI] Fix the problem that the LabelOutline component is not synchronized when the state is modified.
  • [Animation] Fixed an issue where the parameters of AnimationState might be parsed as a string type.
  • [QQPlay] Fix the problem that QQ light game does not respond to the background background switching event.
  • [QQPlay] Fix the problem that the font will become very small if you use italics on QQ light games.
  • [QQPlay] Fix the problem that the QQ light game can’t replay when the lock screen re-enters or the front and back switches.
  • [QQPlay] Fixes the problem of the ended event after the audio setCurrentTime is fixed #3373.
  • [Native] Fix native platform connection socket.io  server may report Bad Request error.
  • [Native] Fix iOS and Android can’t detect gravity sensor.
  • [Native] Fix iOS call cc.game.restart Restart the game and then enter text will crash.
  • [Native] Fixing the problem that the opacity attribute of Label on Windows native platform does not work.
  • [Native] Fixed an issue where Android could not listen to onKeyUp.
  • [Native] Fix the problem that the Android phone will fail to load if the built-in SSL certificate expires.
  • [Native] Fixed an issue where server redirection was not supported when downloading images from Android native platform #PR.
  • [Physics] Fixed an issue where MouseJoint failed to respond to touch cancel.
  • [Spine] Fixes the problem that textures may be lost when Spine is reloaded under Mask.

MIGRATION GUIDE

v2.1 upgrade considerations

  • Node’s rotation related API has been marked as deprecated, and the runtime will prompt to upgrade to angle. See 3D Node - Node API Upgrade .
  • The NDK version of Android needs to be upgraded to r16 or the compilation will fail.

WeChat game open data domain

Starting with v2.0.1Cocos Creator upgraded the open data domain solution, see Access Game Open Data Domain .

v2.0 Upgrade Guide

See the v2.0 Upgrade Guide .

Resource upgrade


Since v1.10Cocos Creator has refactored the underlying resource types. Most projects are not affected, but some projects may receive some warnings. For details, please refer to v1.10 Resource Upgrade Guide .

3D Example

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

2018.11.06

V2.0.5

Publish Time: 2018.11.06

Compared with v2.0.2 released recently, v2.0.5 provides support for publishing to OPPO Mini Gameand Vivo Mini Game platforms, as well as a bug fix release. It is strongly recommended that all 2.0 users updateto v2.0.5. Good quality is inseparable from careful polishing. Thank you for the feedback from developers through the community, GitHub, Cocos technical services and other channels.

Editor

  • [Auto Atlas] Fix Auto Atlas default BestAreaFit algorithm can’t calculate correct atlas size problem
  • [Auto Atlas] Fixing the auto-atlas catalogue when nesting, the album in the parent directory will repeatedly pack the images in the sub-directory into the problem
  • [Auto Atlas] fixes black border problems after auto-satellite packaging (old auto-atlas needs to be deleted and re-created to take effect)
  • [Auto Atlas] Fixes the problem that the Auto Atlas Force Squared option does not work
  • [Wechat] Fixed an issue where subdomain directory names could not be modified when building WeChat games
  • [QQPlay] Fix v2.0.2 Unable to export plugin script on QQ light game
  • [Google Play Instant] Allows Default URL to be empty when building Android Instant

Engine

  • [Core] The second argument to cc.loader.loadResArray supports passing in a type array (thanks @caochao) #3312
  • [Native] Add cc.sys.getSafeAreaRect( ) API to get the screen security area of ​​the phone (in design resolution)
  • [Core] Fix v2.0 screen rendering effect is slightly blurred
  • [Core] Fixed an issue where the component might still be activated if the node was not added to the scene when it was destroy( )
  • [Core] Fixed an issue where SpriteFrame didn’t work correctly after calling setRect( )
  • [Core] Fix an error when calling cc.Texture2D initWithData() in v2.0
  • [Core] Fix issues that render components in v2.0 may still render when the node is not activated
  • [UI] Fixed an issue where the state was not updated when the Toggle component set the isChecked property
  • [UI] Fix an error when the ScrollView.content object is modified
  • [UI] Fix some problems in RichText in v2.0 may not be displayed
  • [UI] Fixed issue where the start event of PageView did not fire
  • [UI] Fixing invalid segments in Mask
  • [UI] Fixed an issue where the Stencil state was incorrect when Mask was nested
  • [UI] Fixed an issue where WebView did not trigger the load event when reading the default page
  • [UI] Fixed an issue where EditBox may report an error when switching between horizontal and vertical screens frequently
  • [UI] Fix the problem that the click event registered by once will still penetrate to other nodes in the level after the response
  • [Audio] Fix Audio’s operation on effect may affect music issues
  • [Spine] Fix Spine transparency and pre-multiplication in ScrollView in v2.0
  • [Animation] Fix an issue with animation quickFindIndex
  • [Animation] Fixes invalid issue with animation registration lastframe event
  • [Particle] fixes particle system call resetSystem( ) will fail
  • [Wechat] Fixed an issue where resources could not be loaded when the WeChat game cache was full.
  • [Wechat] Fix WeChat game to switch the foreground from the background, it will play the problem of unreleased audio
  • [Facebook Instant Games] Fix an issue where Retina is not enabled on Facebook Instant Games
  • [iOS] Fix v2.0 error on iOS 9 due to lack of support for ES6
  • [QQPlay] Fix the problem that the font display is too small when the font size is float type on QQ light game
  • [Google Play Instant] fixes a black screen issue caused by probabilistic jsb-adapter reloading when editing the split first package interface

Resources

2018.10.18

V2.0.4

Publish Time: 2018.10.18

The Playtime Conference hosted by Google Play was held in Germany on October 18th, 2018. The BIG NEWS: In partnership with GoogleCocos Creator v2.0.4 was released, supporting Google Play Instant games.

Google Play Instant and Cocos

In March of this year, Google showed Google Play Instant, a game store-based distribution solution called Search Instant. For the player, they are allowed to try the game before deciding to download the full version of the game, which greatly saves their device storage space. For developers, it means they can offer a demo experience to players who wouldn’t have installed these games, which in turn will increase the game download conversion rate.

Google Play Instant offers a higher APK size limit (10MB), support for progressive downloads for both executable code and game assets, allowing developers to use the NDK and game engine with existing toolchains. In order to make instant apps and games easier to build, as a Google Play Instanttechnology access partner, in May of this year, the Cocos engine began to do integration testing with Google and beta users of the Cocos community.

Developers only need to select Google Play Instant as the publishing platform to automate all technical docking of the Google Play Instant platform. The output is compatible with Google Play Instant. Technically-standard games, quickly launched on Google Play Instant for testing, greatly reducing development costs.

Release Notes

v2.0.4 only adds Google Play Instant Support, no other changes from v2.0.2.

Documentation is here.

2018.09.30

V1.10.2

Publish Time: 2018.09.30

Compared to v1.9, the v1.10 version adds a lot of features, refactoring the resources of the engine, and greatly optimizing the size of the settings.js file. In addition, v1.10 also supports game code subcontracting on WeChat games, web and native platforms. This will break through the 4MB limit of WeChat’s first package and increase the game loading speed. See Code Subcontract Loading . At the same time, v1.10 has rewritten a lot of editor code, improving the editor’s experience and performance. If your project is planned to be upgraded to v2.0 later, please upgrade to v1.10 in advance to ensure that the entire upgrade process is as smooth as possible.

Resource upgrade

Since v1.10, Cocos Creator has refactored the underlying resource types. Most projects are not affected, but some projects may receive some warnings. For details, please refer to v1.10 Resource Upgrade Guide.

Editor

  • Greatly optimize the size of the settings.js file after the release
  • Added script subcontracting settings in the property inspector for the folder
  • Allow each project to set a custom engine separately
  • Add a node lock function in the hierarchy manager. When the mouse is moved to the node, there will be a lock button on the left side. After the node is locked, the node cannot be selected in the scene editor.
  • Added an “Optimization Policy” option in the Property inspector of the Prefab resource file to optimize Prefab creation time. See Prefabricated Resources: Setting Optimization Strategies
  • Optimize the main menu under Windows
  • Add auto-refresh to the list of scenes in the build panel
  • When publishing to the native platform, it also supports adding MD5 to file naming for hot update
  • Script compilation will automatically skip all .d.ts files to avoid TypeScript error reporting
  • The Console panel adds a Clear on Play option to automatically clear the log before the game previews
  • Adjust the text font and color of the Console panel
  • Added search option button in the search bar of the hierarchy manager and explorer
  • Added plugin management feature in the plugin store
  • Allow changes to custom control icons in the control library
  • Resource Manager adds recognition of aac and pcm extension audio files
  • Supports direct search of compressed uuid format when Explorer searches for uuid
  • Allow the right mouse button to drag and drop the timeline of the Timeline editor
  • Added exit menu on Dashboard’s system tray icon

Engine

  • Support game script subcontract loading, see Code Subcontract Loading
  • The align mode attribute is added to the Widget component. When set to ON_WINDOWS_RESIZE, it will be automatically refreshed when the window size changes.
  • Official support for text and JSONLoading of resource types
  • The native platform adds cc.sys.getBatteryLevel interface for getting device power and network status
  • When the native platform is hot updated, it will actively delete the old version of the resource file.
  • VideoPlayer adds volume adjustment and mute function
  • Added DragonBones native platform binding interface getSlotsreplaceSlotDisplay and Slot.name (thanks @feijing566)
  • TiledMap supports rendering and cropping of ortho maps in any direction on the web platform
  • Layout component will only typeset active nodes
  • Retina rendering enabled by default on Android UC browser
  • Enable Webgl on UC browser version 11 or higher
  • Increased recognition of UCBS browsers
  • Gravity sensing is adjusted to only get when the developer has a registration event

Bug Fixes

  • [Editor] Fixes the settings when setting SpriteFrame in the collection
  • [Editor] Fix simulator configuration save related issues
  • [Editor] Fixed an issue where the error message output from the emulator to the console was displayed in white.
  • [Editor] Fix the error when the resource export tool encountered the same parent folder name
  • [Editor] Fixed an issue where copying the automatically synchronized Prefab subnode under the editor may be wrong
  • [Editor] fixes the problem that the fragment texture in the automatic map set will be reported incorrectly if it is directly referenced by other resources.
  • [Editor] Fixed plugin script not correctly parsing CC_WECHATGAME and CC_QQPLAY keywords
  • [Engine] Fixed an issue where the animation may not stop playing when the scene is switched or the node is destroyed.
  • [Engine] [Wechat] Fix some versions of WeChat games to get the problem of each frame interval
  • [Engine] [Wechat] Fix RenderTexture related issues on Android WeChat games
  • [Engine] [QQPlay] Fix QQ Play and play resources will be downloaded repeatedly
  • [Engine] Fixed an issue where the slider of the Slider component might not be right when dragged
  • [Engine] Fixed an issue where the audio load event could be triggered repeatedly
  • [Engine] Fixed a problem where the user changed the level while dectivating the node without any error.
  • [Engine] Fix issues that WebView can’t hide in Safari browser on some platforms (iOS 9/10 or Mac)
  • [Engine] Fixed native platform BMFont rendering pitch problem
  • [Engine] Fixed an issue where the button’s touch area would be offset when Canvas was unchecked Fit Width and Fit Height

Upgrade Android SDK

Starting with v1.10, the API Level in the Android build panel specifies the minimum Android version supported by the compiled apk. targetSdkVersioncompileSdkVersionbuildToolsVersion have all been upgraded to 26. If the developer has other needs, you can manually modify proj.android-studio/app/build.grade and proj.android-studio/gradle.properties.

REMOVED

  • Removed support for Eclipse and Ant build Android platform
  • Removed support from Chipmunk
  • Removed cc.loader.loadRes to directly load the support of the child SpriteFrame in the collection. Please load the atlas first and then call atlas.getSpriteFrame(name)

DEPRECATION

  • Since v1.10.0, Texture2D.releaseTexture is no longer recommended, please use Texture2D.destroy instead.
  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Replace it with the same interface of cc.systemEvent. The original API will be removed in 2.0.
  • Since v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting a resource in Explorer, the resource property will not be copied. (Since 1.9.0)
  • Android native platform does not support playing remote video.
2018.09.22

V2.0.2

Publish Time: 2018.09.22

Cocos Creator v2.0.0 is a brand new version that has undergone a lot of low-level refactoring. Some developers have encountered some annoying problems in the process of upgrading the project. We collect and do our best to solve these problems in v2.0.1. In addition to greatly improving the stability and the friendliness of project upgrades, this version also brings new open data domain solutions for WeChat games to developers, greatly improving the performance and flexibility of open data domains.

Main Features

  • Update the best use of open data domain solutions in history
  • Provides WeChat platform cleanup cache API
  • Support WeChat games and play a platform to set the frame rate via cc.game.setFrameRate
  • Add a View menu for the simulator to set the resolution
  • Modular RenderTexture and DynamicAtlas

Editor Fixes

  • Fixed issue with particle resource import in editor
  • Fixed an issue where Label was not affected by node anchor changes in the editor
  • Fix BMFont font error in the editor editor
  • Fixed an issue where the color of some Particles could not be displayed and set in the inspector
  • Fixed an issue where the simulator resizing interface would not fit
  • Fixed curve editor state residual problem in animation editor
  • Fixed an issue where the particle system’s svg flag was missing in the editor
  • Fixed Editbox editing fontColor does not work
  • Fixed an issue where the animation editor switched WrapMode while playing the animation, causing the node in the scene editor to not be dragged
  • Fix the problem that the node _localZOrder keeps changing when the data is saved
  • Fixed an issue where the keyboard direction key could not be fine-tuned after the editor selected the node
  • Fixed an issue where the scene editor would not automatically locate in the hierarchy manager after selecting a node
  • Fixed an issue where the node tree was automatically expanded after the node was deleted
  • Fixed an issue where clicking the node level manager in the inspector panel does not automatically locate
  • Optimize the Console automatic scrolling experience
  • Fixed an issue where all child nodes were expanded when the parent node active state was switched
  • Fixed flashing issues when clicking on Hierarchy nodes
  • Fix Auto Atlas preview invalidation issue

Engine Fixes

  • Fix rendering issues with Spine animations
  • Fixed animation jitter caused by shader precision
  • Fixed an issue where setting the property in the inactive state does not take effect on the Sprite
  • Fixed rendering of Tiled type Sprite in the case of texture rotation
  • Fixed an issue where the background in the open data domain could not be transparent
  • Fixed rendering errors when Graphics has too many vertices
  • Fixed an issue where Camera does not respond to events after zooming
  • Fixed clipping of Tilemap after Camera zooming
  • Fixed a status error caused by multiplexing of RichText child nodes
  • Fix IE11 support
  • Fixed qqplay does not support Particlemap issue in base64 format
  • Fixed an issue where the Spine debug slot is not available in the Release version
  • Fixed issues with background switching events in front of each platform
  • Fixed rendering error caused by blend function when Label was switched to BMFont type
  • Fixed a black screen on the qqplay platform under Android P
  • Fixed an issue with the Windows platform XMLHttpRequest GET result of timeout
  • Fixed an issue where AudioClip does not support lazy loading
  • Supplement the missing deprecation API to fix missing API documentation issues
  • Fixed an issue where Stencil would be overwritten by the last Mask when multiple Masks coexist
  • Fixed black border issue with Mask component in open data domain
  • Fixed Mask does not support lazy loading when using image stencil
  • Fixed an issue where Spine could not display debug slots in non-debug mode
  • Fixed an issue where the audio could not be played when the Native platform checked MD5
  • Enhance fault tolerance of Particle resources and support resource formats exported by effecthub
  • Fix resume can directly play unplayed audio
  • Fixed a missing GUI issue caused by including the Mask module and culling the Graphics module
  • Fixed Native platform button can still receive touch events when active is false
  • Fixed web platform VideoPlayer has no hidden issues when switching visibility
  • Fixed an issue where windows & mac emulator window size does not automatically adapt when changing
  • Fixed parsing problem with Tilemap parser
  • Fix Camera does not support mask when using RenderTexture screenshots
  • Fixed an error caused by multiple Graphics switching between each other
  • Fixed an issue where the final alpha was invalid when the particles in the particle system finally disappeared (opaque)
  • Optimize the performance of small text rendering on the Native platform
  • Fixed Android platform return key listener failure
  • Fixed an issue where clicking the input box will disappear after the iOS platform pops up the input box
  • Fixed garbled problem when inputting Chinese characters on iOS platform
  • Optimized input box completion button design
  • Fixed an issue where the input emoticon was abnormal in WeChat game
  • Optimize the API design of TiledTile (do not allow layer to be set, get it automatically)
  • Fixed hexagonal tileMap offset problem when using TiledTile
  • Fixed a crash on the native platform FileUtils writeStringToFile call

Deprecation and Removals

  • A large number of private and non-core APIs of v1.x have been removed or discarded. For details, please refer to the upgrade guide .

Related Resources

2018.08.23

V2.0.1

Publish Time: 2018.08.23

2.0.0 is a brand new version that has undergone a lot of low-level refactoring. Some developers have encountered some annoying problems in the process of upgrading the project. We collect and do our best to solve these problems. Now we will bring you the 2.0.1 version. . In addition to greatly improving the stability and the friendliness of project upgrades, this version also brings developers a new Open Data Domain solution for WeChat games, which greatly improves the performance and flexibility of open data domains.

FEATURES

  • Update open data domain solution
  • Provide WeChat platform to clean up the cache API
  • Support WeChat games and play a platform to set the frame rate through cc.game.setFrameRate
  • Add a View menu for the simulator to set the resolution
  • Modular RenderTexture and DynamicAtlas

Editor Fixes

  • Fix problem with particle resource import in editor
  • Fix the problem that Label is not affected by node anchor changes in the editor
  • Fix BMFont font error in the editor editor
  • Fixed an issue where the color of some Particles could not be displayed and set in the inspector
  • Fix the problem that the simulator change size interface will not be adapted
  • Fix the curve editor state residual problem of the animation editor
  • Fix the problem that the particle system's svg flag is missing in the editor
  • Fix Editbox Edit fontColor does not work
  • Fixed an issue where the animation editor switched WrapMode while playing an animation, causing the node in the scene editor to be unable to drag
  • Fix the problem that the node _localZOrder keeps changing when the data is saved
  • Fix the problem that the keyboard direction key cannot be fine-tuned after the editor selects the node
  • Fix the problem that the scene editor will not automatically locate in the hierarchy manager after selecting the node
  • Fix the problem that the node tree is automatically expanded after the node is deleted
  • Fix an issue where clicking the node level manager in the inspector panel does not automatically locate
  • Optimize the Console automatic scrolling experience
  • Fixed an issue where all child nodes were expanded when the parent node active state was switched
  • Fix flashing issues when clicking on Hierarchy nodes
  • Fix Auto Atlas preview invalidation issue

Engine Fixes

  • Fix rendering issues with Spine animations
  • Fix animation jitter caused by shader precision
  • Fix the problem that setting the property in the inactive state does not take effect on the Sprite
  • Fix Tiled type Sprite rendering error in texture rotation
  • Fix the problem that the background in the open data domain cannot be transparent
  • Fix rendering errors when Graphics has too many vertices
  • Fix an issue where the camera does not respond to events after zooming
  • Fix clipping of Tilemap after Camera scaling
  • Fixed a state error caused by multiplexing of RichText subnodes
  • Fix IE11 support
  • Fix qqplay does not support particle map problem in base64 format
  • Fix an issue where the Spine debug slot is not available in the Release version
  • Fix problems with background switching events in front of each platform
  • Fix rendering error caused by blend function when Label is switched to BMFont type
  • Fix black screen of qqplay platform under Android P system
  • Fix the problem with the Windows platform XMLHttpRequest GET result of timeout
  • Fix AudioClip does not support lazy loading issues
  • Add missing deprecation API to fix discovered API documentation issues
  • Fixed an issue where Stencil would be overwritten by the last Mask when multiple Masks coexist
  • Fix black border problem with Mask component in open data domain
  • Fix Mask does not support lazy loading when using image stencil
  • Fix Spine can't display debug slot in non-debug mode
  • Fix the problem that the audio cannot be played when the Native platform is checked MD5
  • Enhance fault tolerance of Particle resources and support resource formats exported by effecthub
  • Fix resume can directly play unplayed audio
  • Fix missing graphics caused by including Mask module and culling Graphics module
  • Fix Native platform button can still receive touch events when active is false
  • Fix the problem when the video platform VideoPlayer switches visibility without hidden video
  • Fix an issue where the windows & mac emulator window size does not automatically adapt when it is changed
  • Fix parsing problem with Tilemap parser
  • Fix Camera does not support mask when using RenderTexture screenshots
  • Fix an error caused by multiple Graphics switching between each other
  • Fixed an issue where the final alpha was invalid when the particles in the particle system finally disappeared (opaque)
  • Optimize the performance of small text rendering on the Native platform
  • Fix Android platform return key monitoring failure
  • Fix the problem that clicking the input box will disappear after the iOS platform pops up the input box
  • Fix garbled characters when typing Chinese characters on iOS platform
  • Optimize the completion button design of the input box
  • Fix the problem of entering an emoticon in WeChat game
  • Optimize the API design of TiledTile (do not allow layer to be set, get it automatically)
  • Fixing the offset problem when the hexagonal TileMap uses TiledTile
  • Fix native platform FileUtils writeStringToFile crashes when called

REMOVED & DEPRECATION

A large number of private and non-core APIs for v1.x have been removed or discarded. See the upgrade guide for details.

Related Resources

  • [Cocos Creator v2.0 Upgrade Guide]
  • [Creator v2.0 API doc]
  • [WeChat game open data domain usage document]
  • [Material use case]
2018.08.13

V1.10.1

Publish Time: 2018.08.13

v1.10.1 is a bug fix for the recently released v1.10.0. It is recommended that all v1.10 users update to this version. This version is not an alternative to v2.0, v2.0 is still the current version, and new projects are still recommended to use v2.0. As the last major version before v2.0, we will try our best to maintain stability until we can support users who are temporarily unable to upgrade to v2.0.

Good quality is important to us. Thank you very much for the feedback from developers through the forum, GitHub, Cocos technical services and other channels. Let us look forward to the upcoming 2.0.1!

Editor

  • Fix WeChat sub-package related issues
  • Fix project.js may be empty after the project is built
  • Fix QQ play a build report bkgame related error
  • When the repair project contains a large number of broken images, saving the preview when refreshing the preview or previewing will cause the editor to jam.
  • WeChat developer tool error when fixing the build panel without checking “Source Maps”
  • Fix an issue where vConsole does not display after enabling MD5Cache
  • Fixed an issue where the .app program could not be selected within the mac platform preferences
  • Added button for new clip on animation editor
  • Level manager details are perfect

Engine

  • Fix audioEngine’s isLoop always returns false
  • Fixed an issue where the Text component was offset when the Label component was using TTF fonts
  • Improve the text display of the EditBox under QQ Play
  • Fix Android video playback related issues
2018.08.03

V2.0.0

Publish Time: 2018.08.03

After a large-scale underlying refactoring and a two-month stability iteration, Cocos Creator v2.0 is finally available. The core goals of the Cocos Creator v2.0 design were twofold:

  • Significantly improve the engine performance
  • Provide more advanced rendering capabilities and richer rendering customization’s

In order to accomplish this goal, we completely rewrote the underlying renderer, which structurally guarantees performance improvements and upgraded rendering capabilities. At the same time, in order to ensure that user projects can be upgraded more smoothly, we have almost no changes to the API of the component layer. Of course, these changes are not completely transparent to the user, such as the engine loading process, the event system, the streamlining and reorganization of the engine’s overall API, which will have an impact on the user-level API.

Editor

  • Implemented premultiply alpha, filter mode, wrap mode configuration of Texture
  • Abstract the mixed mode configuration into the RenderComponent component base class, all render components can be configured
  • Camera component upgrade, as a direct rendering entry, you can configure various base rendering parameters
  • With Quick Compile integration, the custom engine only needs to use the menu’s developer options -> compiler engine to compile quickly in a matter of seconds
  • Open the WeChat game open data domain as a publishing platform with a separate publishing panel

Engine

  • Add a new renderer based on the 3D engine
  • Render component is fully upgraded
  • Remove the render tree completely, assemble the render data directly and submit the render by the render component
  • Streamlined cc namespace API
  • Streamline Director API
  • Camera component upgrade
  • Start process upgrades, user scripts and plugin scripts can more easily interfere with engine initialization
  • Platform-specific startup code is separated and easier to customize
  • Event system optimization, distinguishing between system events dispatched by the capture bubbling mechanism on the node tree and normal events directly dispatched
  • Fit Width & Fit Height is also compatible with the WeChat game platform.
  • The RenderTexture resource type has been officially added to save the rendered content captured in the camera.
  • Simplify TiledMap functionality to pave the way for subsequent upgrades
  • Physical engine upgrade, performance optimization

Deletions and deprecations

  • A large number of private and non-core APIs for v1.x have been removed or discarded. For details, please refer to the upgrade guide and deprecated

Related resources

2018.07.31

V1.10.0

Publish Time: 2018.07.31

Compared to v1.9, v1.10 adds a lot of features, refactoring the resources of the engine, and greatly optimizing the size of the settings.js file. In addition, 1.10 also supports game code subpackaging on WeChat games and Web and native platforms. This will break through the 4MB limit of WeChat's first package and increase the game loading speed. See [Code Subcontract Loading] for details. At the same time, v1.10 has rewritten many editor code to improve the editor's experience and performance. If your project is planned to be upgraded to v2.0 later, please upgrade to v1.10 in advance to ensure the smoothest upgrade process.

Resource Upgrade

Starting with v1.10, Cocos Creator refactored the underlying resource types. Most projects are unaffected, but some projects may receive some warnings. See the [v1.10 Resource Upgrade Guide] for details.

Editor

  • Greatly optimize the size of the published js file
  • Script subpackage settings have been added to the property inspector for the folder
  • Allow each project to set a custom engine separately
  • Add the node lock function in the hierarchy manager. When the mouse is moved to the node, there will be a lock button on the left side. After the node is locked, the node cannot be selected in the scene editor
  • In the Property inspector of the Prefab resource file, the Optimize Policy option has been added to optimize Prefab creation time. See [Prefabricated Resources: Setting Optimization Strategies] for details
  • Optimize the main menu under Windows
  • Add an auto-refresh feature to the list of scenes in the build panel.
  • When publishing to the native platform, MD5 is also added to the file naming to facilitate hot updates
  • Script compilation will automatically skip all .d.ts files to avoid TypeScript error reporting
  • The Console panel adds the Clear on Play option to automatically clear the log before the game previews
  • Adjust the text font and color of the Console panel
  • A search option button has been added to the search bar of the Hierarchy Manager and Explorer
  • Added plugin management features in the plugin store
  • Allows you to change the custom control icon in the control library
  • The resource manager adds recognition of aac and pcm extension audio files
  • Supports direct search of the compressed uuid format when the resource manager searches for uuid
  • Allow the right mouse button to drag and drop the timeline of the Timeline editor
  • An exit menu has been added to the Dashboard's system tray icon

Engine

  • Support game script subcontract loading, see [Code Subcontract Loading] for details
  • The align mode property is added to the Widget component. When set to ON_WINDOWS_RESIZE, it will be automatically refreshed when the window size changes
  • The loading of the [text] and [JSON] resource types is officially supported
  • The native platform adds the [cc.sys.getBatteryLevel] and [cc.sys.getNetworkType] interfaces to get device power and network status
  • When the native platform is hot updated, the old version of the resource file will be deleted
  • VideoPlayer adds volume adjustment and mute functions
  • Add DragonBones native platform binding interfaces getSlots, replaceSlotDisplay and Slot.name (thanks @feijing566)
  • TiledMap supports rendering and cropping of ortho maps in any direction on the web platform
  • The Layout component will only typeset active nodes
  • Retina rendering is enabled by default on the Android UC browser.
  • Enable Webgl on UC Browser 11 or later
  • Increase the recognition of the UCBS browser
  • Gravity sensing is adjusted to only be available when the developer has a registration event

 Bug Fixes

  • [Editor] Fixes the jam when setting the SpriteFrame in the set
  • [Editor] Fixes the simulator configuration to save related issues
  • [Editor] Fixed an issue where the error message output from the emulator to the Console was displayed in white
  • [Engine] Fixed an error when the resource export tool encountered the same parent folder name
  • [Engine] Fixed an issue where copying the automatically synchronized Prefab subnode under the editor might be wrong
  • [Engine] Fixed a problem where the fragment texture in the automatic map set was incorrectly referenced by other resources
  • [Engine] Fixed a bug where the plugin script did not correctly parse the CC_WECHATGAME and CC_QQPLAY keywords
  • [Engine] When fixing scene switching or node destruction, the animation may not stop playing
  • [Engine] [Wechat] Fixes some versions of WeChat games to get the problem of each frame interval
  • [Engine] [Wechat] Fixes RenderTexture related issues on Android WeChat games
  • [Engine] [QQPlay] Fix QQ The problem of repeated downloads when playing a resource
  • [Engine] Fixed an issue where the slider of the Slider component might not be right when dragged
  • [Engine] Fixed an issue where the audio load event could be triggered repeatedly
  • [Engine] Fixed a problem where the user changed the level while dectivating the node without any error
  • [Engine] Fixed an issue where WebView could not be hidden in the Safari browser on some platforms (iOS 9/10 or Mac)
  • [Engine] Fixed BMFont rendering pitch problem for native platforms.
  • [Engine] Fixed an issue where the button's touch area would be offset when Canvas was unchecked for Fit Width and Fit Height

Upgrade the Android SDK

Starting with v1.10, the API Level in the Android build panel specifies the minimum Android version supported by the compiled apk. It is recommended to select 14. targetSdkVersion, compileSdkVersion, buildToolsVersion have all been upgraded to 26. If the developer has other needs, you can manually modify proj.android-studio/app/build.grade and proj.android-studio/gradle.properties

REMOVED

  • Removed Eclipse and Ant to build support for the Android platform
  • Removed support from Chipmunk
  • Removed loader.loadRes to directly load the support of the child SpriteFrame in the collection, please load the gallery first and then call atlas.getSpriteFrame(name)

DEPRECATION

  • As of 10.0, Texture2D.releaseTexture is no longer recommended, please use Texture2D.destroy instead
  • As of 8.2, cc.eventManager is no longer recommended, please use cc.EventTarget or cc.systemEvent instead, the original API will be removed in 2.0
  • As of 8.2, cc.inputManager is no longer recommended, please replace it with the same interface of cc.systemEvent, the original API will be removed in 2.0
  • As of 8.2, dragonBones.CCFactory.getFactory is no longer recommended, please use dragonBones.CCFactory.getInstance instead, the original API will be removed in 2.0

 KNOWN ISSUES

  • When you copy and paste a resource in the Explorer, the resource property will not be copied. (Since 1.9.0)
  • The Android native platform does not support playing remote video
2018.07.06

V1.9.3

Publish Time: 2018.07.06

Cocos Creator v1.9.3 is a minor upgrade to the recently released v1.9.2. It mainly improves the support for WeChat games and QQ play. It is recommended that all 1.9 users update the engine version to get a better experience as this release also improves quality and careful polishing. Thank you very much for the feedback from developers on the forums, GitHub, Cocos technical services and other channels.

Animation Editor

  • Fix where the data may be incomplete when the animation editor saves the animation.
  • Fix where directly editing the texture animation will report an error
  • Fixed an issue where the animation editor could not add width and height properties under size

WeChat Game

  • Fixed an issue where only a single audio can be played on WeChat games and the number of audio plays is limited.
  • Fix that WeChat mini game audio can’t stop
  • Fix gravity sensing direction and wrong value in Android WeChat game
  • Fix not being able to submit a TypedArray format texture in WeChat games
  • Fix that the frame rate is abnormal on the old WeChat
  • Improve WeChat mini game video playback support
  • Downward compatible with WeChat games 1.7.4 version base library

QQ Play

  • Fix only play a single audio and the number of audio playback is limited
  • Fix unable to operate the engine object during the game loading process
  • Fix particle play card dead problem
  • Fix a semi-transparent text will be rendered into a black question

DragonBones

  • Fixing DragonBones’ repeated assignment of bones on native platforms can cause crashes
  • Fix manually clearing the texture data of Dragon DragonBones

Others

  • Fix text box for Web and Android platform Input Flag is invalid
  • Fix Label rendering related issues
  • Fix cc.game’s EVENT_HIDE and EVNET_SHOW callbacks may be called multiple times
2018.05.31

V1.9.2

Publish Time: 2018.05.31

Cocos Creator v1.9.2 is a minor upgrade to the recently released v1.9.1. This release mainly improves the support for WeChat games and QQ games. If you release on WeChat or QQ it is recommended that you upgrade to this release.

  • This version fixes the problem where a ZERO blending mode is invalid. If the image color is incorrect after the upgrade, check if the blending mode of the Sprite component is set to ZERO. If so, change it back to the default value.
  • This version rewrites the animation editor. If you encounter any errors please create a topic on our forums.

Features

  • [Editor] [Timeline] Animation Editor can edit “missing nodes” and allow node data to be migrated
  • [Editor] [Timeline] Animation Editor supports copying and pasting keyframes on multiple nodes at the same time
  • [Editor] [Timeline] Animation Editor Several Experience Optimizations
  • [Editor] Place the adaptation layer code of QQ Play and Wechat games into the Contents/Resources/builtin directory of the editor for users to upgrade
  • [Engine] Upgrade Facebook Instant Games SDK to 6.2
  • [Engine] Optimizing Label’s Memory Usage on Non-native Platforms

WeChat Games

  • Fixed an issue where the AudioSource component may report an error when it is destroyed
  • Optimize the implementation of sounds on WeChat games
  • Use openDataContext to define the open data field in the game.json of the WeChat game. Change the entry file of the open data field to index.js
  • Fix the issue of loading remote resources in the WeChat open data domain
  • Fix errors that may occur when loading plist particles on WeChat games
  • Fix gl.texImage2D error caused by calling cc.RenderTexture.create in WeChat game
  • Fixed an error on WeChat getting old WeChat game open data domain on old version
  • Allows simulation of system information obtained through cc.sys.os on the WeChat mini game developer tools
  • Fixed an issue where the subdomain could not be correctly identified on the old version of WeChat

QQ Play

  • Optimized QQ to play a sound on the realization
  • Fix QQ playing a problem with the following blue screen in iOS 10
  • Repair QQ may play an error when loading plist particles
  • Fixed plug-in script loading exception when posting to QQ to play with Windows
  • Improve header processing in XMLHttpRequest for QQ
  • Perfect userAgent for QQ
  • Fixed QQ playing a text stroke effect

Bug Fixes

  • [Editor] Fix Documentation Links for AudioSource and MotionStreak Components
  • [Editor] Fix the problem that the editor might preview the animation if the animation changes the node’s active
  • [Editor] Fixed an issue where the editor could not be accessed when the login server went down
  • [Editor] Fix the issue that when you repeatedly drag to the same prefab as a child of other prefab
  • [Engine] Fixed an issue where the sprite’s blend mode could not be set to ZERO on the web platform
  • [Engine] Fixed a problem in cc.sequence where nesting other calls to the repeat method’s action would cause abnormal speeds in special cases
  • [Engine] Fix Sprite error after scene change
  • [Engine] [JSB] Fixed an issue that triggered assertions after creating cc.GLProgram in the JS layer and adding it to cc.shaderCache
  • [Engine] [JSB] Fix Native Platform Physics Engine Binding Problem
  • [Engine] [Native] Fixed cc.Sprite.FillType enumeration error on native platform
  • [Engine] [UI] Fixed a positioning issue that may be caused when the scroll view is enabled with vertical, horizontal scrolling, and the inner size is too small.
  • [Engine] [Audio] Fixed an issue where playing audioEngine.resume repeatedly would start from scratch.
2018.4.20

V1.9.1

Publish Time: 2018.4.20

Cocos Creator v1.9.1 is a minor upgrade to the recently released v1.9.0. The detailed changes are:

WeChat Games

  • Support for publishing the entire project to the WeChat mini game sub-domain. For details, please refer to document.
  • Support WeChat game configuration in the build panel Remote server address option to facilitate the download of remote resources
  • Support for using TTF fonts on WeChat mini games
  • Switch the adaptation layer of the WeChat game from ES6 to ES5, users can not enable ES6 to ES5
  • Fix potential audio memory leak in WeChat game

QQ Play

  • Support QQ to play in the build panel to configure the remote server address option to facilitate the download of remote resources.
  • Fix some minor bugs in XMLHttpRequest with QQ
  • Fixed an issue where the js path could not be resolved during QQ build
  • Perfect QQ play with multi-touch support
  • Added QQ support for base64 encoded images
  • Perfect QQ Play Adaptation Layer
  • Perfect audio support for QQ
  • Fixed black screen issue after QQ checked MD5 Cache

Other Updates

  • [Editor] [Build] Bug fix for custom project build template functionality not working on the Facebook Instant Games platform
  • [Editor] [Build] Add build-start event to make it easier for users to do some processing before they build
  • [Engine] [Wechat] Fixed an issue where WeChat game audio could not be stopped
  • [Engine] [iOS] Fix the issue that the isTypedArray method fails on iOS 8-9
  • [Engine] [Web] Fixing particle system will remove memory if it is not activated yet
  • [Engine] cc.isValid adds an optional argument. Passing true will return false at the beginning of the destroy frame.
  • [Engine] [Android] Fix a Memory Leak on jni

DEPRECATION

  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Use the same interface as cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Please use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting resources in the explorer, the resource properties will not be copied. (Since 1.9.0)

QQ Play known issues

QQ is still playing in the grayscale test, developers also need to obtain internal testing qualifications for development, and only supports compiling on Mac for the time being. In addition, our adaptation work for QQ has not been completely completed yet. The following modules are currently not supported:

  • Label: TTF is not supported, system font can only use the default font
  • Particle system: Map data is not stored in plist. Only support map URL
  • WebView
  • VideoPlayer
  • DeviceMotion

The above functions are expected to be supported one by one in future updates. We will also continue to closely communicate with the Play engineers and continue to optimize the fitting effect.

2018.03.14

V1.9.0

Publish Time: 2018.03.14

As of March 14, 2018, Facebook officially launched the Instant Games platform, worldwide, giving all developers an equal chance to enter and expand their overseas markets.

Many game studios have chosen Cocos Creator as their game development engine. Rapid development and continuous iteration make Cocos Creator the perfect choice. It has already formed a competitive advantage in the field of small games. The Cocos Creator editor is a powerful tool for developers to create excellent content and innovative games.

Cocos Creator is the best tool to create Facebook Instant Games. Already there are 24 games available produced by Chinese domestic companies and Cocos Creator already is sitting on 54% market share. The Cocos team is familiar with the workflow of online games and the requirements of the Facebook Instant Games platform. In order to help game studios successfully release their games on the Facebook Instant Games platform, and help them seize the opportunity opened up by the huge overseas HTML5 market, the engine team continuously worked overtime.

Proportion%20diagram%20

Cocos Creator 1.9 is released today with integrated Facebook Instant Games SupportCocos Creator provides major features including:

  • Integrated Facebook Instant Games SDK and game templates, allowing users to quickly integrate features of Facebook Instant Games
  • A one-click packaging process in the Cocos Creator Build Panel. Games can be packaged directly into Facebook Instant Games.
    Developers only need to do a few simple steps. Cocos Creator handles all the technical aspects, you just need to code your game.

For more detailed technical documentation please refer to this link.

Features

  • Support for Facebook Instant Games, see Documentation
  • Support QQ Play, See Documentation
  • [Editor] Assets panel directly supports copy and paste resources (via right-click menu or shortcut keys)
  • [Editor] In the scene editor’s Rect edit mode, support for dragging a node’s white space, easy to change the value of the anchor
  • [Editor] Added “Sync” button to the particle component’s Property inspector. Clicking Sync will set the Custom parameter to be the same as File. (Synchronize button is only available if you check Custom and set File)
  • [Editor] Adds scale property to Timeline to facilitate editing of both scaleX and scaleY
  • [Engine] PhysicsManager Adds FIXED_TIME_STEP and MAX_ACCUMULATOR Parameters

Bug Fixes

  • [Engine] [Web] Fixed an issue where the input box could not pop up in some MIUI browsers
  • [Engine] Fix the issue that the audio may not stop after checking MD5 build
  • [Engine] Fixed issue where Label’s stroke may be truncated by one pixel
  • [Engine] Fixed an issue with exception-free messages in the cc.Class constructor
  • [Engine] [Animation] Fixed issue where one frame would be played less when the Animation component switched animations or manually set the AnimationState time
  • [Engine] [Wechat] Fixes Failed to Use Remote Service Loading After iOS Wechat Mini Game Native Code Pack Exceeding 4MB

DEPRECATION

  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Use the same interface as cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Please use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting resources in the Assets panel, the resource properties will still not be copied. (Since 1.9.0)
  • On a native platform, calling the action.easing(cc.ease) method may cause the node’s logical data to be out of sync. Please use new cc.Ease(action) instead. (Since 1.8.2)

QQ Play Known Issues:

At present, QQ Play is still in AB Test. Developers are also required to obtain internal beta qualification in order to develop, and currently only support compiling on Mac. In addition, our adaptation work on QQ Play has not been completely completed yet. The following modules are still not supported at present:

  • Label: ttf is not supported, system font can only use the default font
  • Particle system: Map data is not supported in plist. Only texture urls are supported.
  • WebView
  • VideoPlayer
  • DeviceMotion

The above functions are expected to be supported one by one in future updates. We will also continue to closely communicate with QQ Play’s engineers to continuously optimize the matching effect.

Pin It on Pinterest