Pool: Supports setting shrink threshold, ensuring the pool size after shrinking will not be smaller than the threshold.
Added support for mouse-enter
and mouse-leave
events to detect when the mouse enters or leaves the window.
Added Vec2.toVec3()
method.
Added Vec3.toVec2()
method.
Added ResolutionPolicy.getContentStrategy()
method.
Added ContentStrategy.strategy
property.
Tween: When using sequence/parallel/then
to chain Tweens, each child tween can have a different target. [issue]
Added various Tween methods: reverse
, id
, union(fromId)
, timeScale
, duration
, pause
, resume
, pauseAllByTarget
, resumeAllByTarget
, update
, and start(time)
.
If the Tween's target is a Node
, the system will automatically pause, resume, or stop based on the Node’s activation and destruction state. [PR1, PR2]
Tween now supports easing strings and custom progress/easing functions for any property type. [PR]
Taobao Mini Games: WebSocket now supports multiple instances. [PR]
WebGPU support has been added (experimental).
Added Tween.running
getter to check if a Tween is running. [PR]
Added Tween.getRunningCount(target)
static method to get the number of active tweens associated with a target. [PR]
Added built-in support for Bezier and Catmull-Rom curve progressions in Tween, allowing custom properties to be passed to tween.to/by()
. [PR]
Added Tween.updateUntil()
method, which can add actions with uncertain durations to the tween system. The action will end when a callback function returns true
. This can be used to create dynamic object tracking. [PR]
Added utf-16
encoding support for TextDecoder
on native platforms. [PR]
Customizable Pipeline enters Beta:
Introduced a built-in customizable pipeline.
Cocos Built-in Pipeline is the new default, replacing the previous forward pipeline (builtin-forward) and customizable post-process pipeline.
Deprecating PostProcess, allowing package size reduction.
Default DepthStencil discard to improve mobile performance.
New projects will use the Builtin pipeline by default.
In upgraded projects:
If the project was using a customizable pipeline before, it will continue using the same customizable pipeline.
If the project was not using a customizable pipeline, the original pipeline will be retained.
Added a pipeline selection page where users can choose between customizable or original pipelines.
Customizable pipelines will package the following scripts: builtin-pipeline.ts
, builtin-pipeline-settings.ts
, builtin-pipeline-types.ts
.
Debug view runtime control is currently unsupported and will be excluded from the package when using Builtin pipelines.
The Builtin pipeline currently has a larger package size, but optimizations are ongoing to reduce it to a reasonable size.
The BuiltinPipelineSettings can be used to configure post-processing effects, which have been migrated from PostProcess.
SafeArea: Added support for setting symmetry for top/bottom and left/right areas, with visual examples.
Improved UI layout for the build panel.
Added a menu entry for creating resource templates.
SourceMap: Added support for the inline
parameter. Previously, enabling SourceMap would default to creating separate files, which hindered debugging in Chrome on native platforms. Now, developers can select inline
mode for easier debugging on native platforms.
Improved spacing in the Windows menu bar.
The Project Settings interstitial preview now adjusts according to the adaptation mode.
Auto Atlas preview now shows the combined image size.
The editor now supports zoom level for window scaling.
Hotkey Support
Added a preference option to relocate the built-in resource library globally, improving the startup speed for different projects. Plugins that directly reference the resource library path may be affected. This feature can be enabled in Preferences -> Labs (default: disabled). (Known issue: simulator preview and native engine scene lab functions are not supported when this feature is enabled).
Fixed an issue where setting event.preventSwallow
to true
caused overlapping areas to not respond to touch events.
Fixed an issue where some Node
setter functions would send change events even when the values did not change.
Fixed an issue where the absence of innerAudioContext.onCanPlay
on Taobao and Alipay Mini Game platforms prevented sound playback.
Fixed a nesting issue in NodeEventProcessor.dispatchEvent()
.
Fixed flickering when tweening colors.
Fixed an issue where _rot.x/y/z/w
data in .scene
and .prefab
files might contain null values.
Fixed a type enforcement error in the onStart/onUpdate/onComplete
callback functions in Tween.to
/by
when using the opt?: ITweenOption
parameter.
Fixed an issue where Tweening would modify the target object’s properties.
Fixed missing type definitions for custom progress
and easing
properties in Tween.to
/by
.
Fixed an issue where the Tween system would automatically assign a uuid
property to non-Node
target objects.
Fixed a memory leak caused by WebSocket receiving binary data on Android platforms.
Fixed a memory leak issue on Android x86 emulators caused by padding bytes automatically inserted into gfx
structure by the compiler.
Fixed a memory leak when modifying label text in CacheMode.NONE
mode on native platforms.
Fixed an issue where Button UI elements became unresponsive to touch/mouse
events after exceptions were thrown in callback functions and caught by window.onerror/jsb.onError
.
Fixed incorrect window size display after screen rotation on iPads.
Fixed an issue where sound would continue playing even when the mute switch was enabled on iOS devices.
Fixed an issue where sound would not resume after receiving a phone call and returning the game to the foreground on iOS devices.
Fixed an issue where cache-manager.clearLRU
would not reset cleaning
under specific conditions.
Fixed inconsistent behavior when enable_multi_touch
was set to true or false.
Fixed shader compilation errors caused by non-integer uniform values in Web skeleton animations.
Fixed out-of-range issues with multiple light sources on native platforms.
Fixed syntax errors in scripts generated in the native release package, introduced in version 3.8.3.
Fixed a compilation error when using private member functions (e.g., #foo()
) in TypeScript, introduced in version 3.8.3.
Fixed an issue where unnecessary .wasm
and .mem.bin
files for Spine were generated on native platforms.
Fixed incorrect return values in Node.angle()
.
Fixed timing errors in Component.scheduleOnce()
callbacks.
Fixed out-of-range issues in the gles2
backend.
Fixed an issue where throwing an exception in a node's touch callback would prevent other nodes from responding to touch events.
Fixed a black screen issue on some Android emulators (e.g., MEmu).
Fixed memory leaks in bullet bodies.
Fixed cache cleanup issues on Taobao Mini Game platform.
Fixed a crash issue on native platforms when calling game.restart()
with unhandled promise rejections.
Fixed an issue where newly added dirtyRenderers
were deleted during the updateAllDirtyRenderers
process.
Fixed a warning for outline
when using richtext
.
Modified the video player on ByteDance platforms to display content using a texture-based method.
Unified the interstitial display method for better adaptation to multi-resolution schemes.
Fixed inconsistent behavior when ENABLE_MULTI_TOUCH
was set to true or false.
Fixed the issue of bmfont
's colorDirty
property not working on the web platform.
Fixed rendering issues in SpriteRender
Atlas.
Fixed the creation of unnecessary atlases.
Fixed incorrect system detection in sys.os/sys.isMobile
on mini-game platforms and added Mac OS detection.
Fixed an issue where switching the button type in the editor (from color to sprite, then back to color) would turn the button black.
Optimized development experience: Avoid using debugger
in ccAssert
and use console.error
instead.
Optimized the 2D particle update buffer process by reducing unnecessary multiplication operations.
Optimized file reading logic on native platforms by switching from synchronous to multi-threaded asynchronous reads, reducing resource loading stutters. JSON deserialization performance improved by approximately 30% on low-end Android devices.
Fixed a crash issue on some mini-game platforms (e.g., Alipay, ByteDance, Taobao) when frequently creating canvases on low-end devices due to resource limitations.
Fixed an issue where Spine node opacity was not working.
Fixed incomplete release of some objects after releasing Skeleton-Asset
.
Optimized the frequency of parsing JSON for Skeleton-Asset
.
Fixed errors in the PhysicsContract.emit
function when Collider
did not have a rigid body.
Fixed rendering errors for non-UI
images in TextureRender
on native platforms.
Fixed an issue introduced in this version where updates to the child array did not trigger modification event dispatches in native platforms.
Fixed an issue where Bullet was not exported.
Fixed an issue where mouse enter and leave window messages were being swallowed.
Fixed an issue introduced in this version where only one touch listener would respond to TOUCH_END
or TOUCH_CANCEL
.
Fixed an issue on native platforms where the callback function order in performFunctionInCocosThread
was incorrect.
Fixed an issue where modifying a node’s position in performFunctionInCocosThread
callbacks would prevent the node’s worldPosition from updating in the next frame.
Fixed an issue where modifying a node’s position in Director.EVENT_AFTER_DRAW
would prevent the node’s worldPosition from updating in the next frame.
Fixed a crash when enabling or disabling Spine in setXXListener()
on native platforms.
Fixed an issue where the geometry renderer did not display in the customizable pipeline on native platforms.
Compressed the effect.bin
file in the customizable pipeline and added version control.
Fixed an issue where reflection probe spherical previews were not displayed in the customizable pipeline editor.
Fixed an issue where the clear color was incorrect with multiple cameras in the customizable pipeline.
Fixed viewport rounding issues in the customizable pipeline.
Fixed unrelated material pass rendering issues when rendering UI in the customizable pipeline.
Fixed an issue where the skybox was incorrectly displayed in reflection probe scenes in the customizable pipeline editor.
Reduced the package size of the customizable pipeline.
Fixed the this
pointer issue in Taobao Mini Game platform WebSocket callback functions.
Fixed Xcode 16.0 compilation issues.
Fixed warnings in the customizable pipeline editor.
Fixed errors when baking reflection probes in the customizable pipeline.
Merged the render queue fill in the customizable pipeline.
Fixed potential crashes during the UI phase of the customizable pipeline on native platforms.
Fixed wild pointer issues in the render window of the customizable pipeline on native platforms.
Upgraded Xiaomi packaging tool to support Node 18 and above for Xiaomi compilation
Added a lab feature option to toggle automatic MD5 processing of build template files, allowing users to disable it
Fixed an issue where MD5 path replacement could inadvertently replace other tag attributes in HTML
Fixed build errors on HarmonyOS platform when creating Bundles
Fixed the display name issue for sub-resources in the assets panel
Fixed the issue where the bottom of the Bundle resource preview list was not fully displayed when the list was too long
Fixed the issue where custom script template URL parameters were invalid and improved the validation process for script file naming
Optimized and fixed issues with the selection of scenes in the build panel and interactions when in a "missing" state
Fixed the issue where creating a new build task for Huawei AGC platform did not update the configuration
Fixed the issue where gizmo icons for nodes in the animation panel were not displayed in animation editing mode
Fixed the missing scrollbar when adding multiple skeletons in the project settings for skeleton texture layout
Fixed the issue where reselecting terrain nodes required switching texture layers to paint the selected texture layer
Fixed the issue where terrain sculpting data was lost when entering and exiting Prefab editing mode
Fixed the issue where the large circular cursor was truncated when moving the mouse over the terrain
Fixed texture compression failures when building certain image formats
Fixed the potential ineffectiveness of the CLEANUP_IMAGE_CACHE configuration in the build interface
Removed the invalid "Select All" option for Include Bundles in the parameters of the empty project build panel
Fixed the issue where small atlases nested inside auto atlas folders were not excluded
Fixed errors and preview anomalies when starting the editor in an offline/intranet environment
Fixed the lack of clear error messages when the initial build scene was missing
Fixed the issue where filling out the development data field in the WeChat build template was ineffective
Fixed inconsistency between the parameters of the build plugin hook functions onBeforeMake
and onAfterMake
and the build options
Fixed the issue where child nodes were incorrectly assigned during drag selection in the animation editor
Fixed the issue where the editor would jump to the first clip after editing and saving multiple clips in the animation editor
Fixed repeated texture compression for the same texture configuration on different platforms
Fixed the issue where small images used as textures within auto atlases would lose image data after being built
Fixed potential missing resource dependencies when building Bundles independently
Fixed layout errors when opening the editor for the first time on a device
Fixed settings request failure errors when opening the preview page with the editor
Fixed the issue where the main process error display might lack a complete call stack when launching the editor via command line
Fixed an error when clearing the import-map path in the project settings that caused the editor to fail on startup
Fixed incomplete display of console logs in command-line builds on Mac
Fixed the issue where memory usage would increase when frequently switching the properties panel, especially when switching between multiple MeshRenderer components with added Materials
If you encounter the Effect compilation error shown in the figure below, or if warnings appear after enabling WebGPU, please re-import all Effects and restart Creator. The re-import button can be found at: Menu -> Developer -> Refresh All Effects.
XR functionality is not yet supported in the new rendering pipeline.
The separated engine functionality for Taobao Mini Games is currently experiencing issues; it runs on iOS but not on Android. This needs to be addressed by Taobao's official team. If you need to use the separated engine functionality in the future, please consult Taobao's official support.
● Added WASM support for Douyin mini-games platform Wasm support for ByteDance minigame platform · Issue #16562 · cocos/cocos-engine · GitHub
● Unified the construction process of WASM modules
● Added support for WASM Brotli compression format (.br) for Douyin and WeChat mini-games platforms. This feature is off by default and can be enabled in the build panel [383] wasm brotli compression support · Issue #16683 · cocos/cocos-engine · GitHub
● Added “Preload Script” function for Douyin mini-games platform to speed up game startup. This feature is off by default and can be enabled in the build panel
● Added functionality to match build templates by build task names (e.g., templates placed inside build-templates/wechatgame-001 will be used as build templates when constructing tasks named wechatgame-001. Projects can customize different build templates for the same platform according to actual needs, such as different modes for debug and release)
● Supports direct configuration of physical backend, WebGL 2.0 backend, native code packaging mode different from project settings on the build panel (If the related module is not enabled in the project settings, the corresponding options will not be displayed. Douyin and WeChat mini-games platforms also support Brotli compression options, which can reduce about 2/3 of the volume when checked, but will slightly affect startup time due to runtime decompression. Can be enabled as needed depending on the project’s circumstances)
● After importing Substance textures, you can right-click to select multiple textures and automatically generate materials. Cocos Engine’s export options are now supported within Substance, with designated naming rules. Depending on the project needs, you can customize the automatic material creation keywords in the project settings under Auto Material Settings. Currently, keywords for file categories like Houdini VAT, Zeno, and SP material nodes are supported.
● Project settings now allow for plugin script order configuration. Scripts that require a specific order can be intuitively organized by dragging. This update deprecates the old version of plugin script dependency configurations, which will automatically migrate to the project settings.
● Texture compression support for mini-game platforms can now be configured individually without exclusion.
● The progress display of build tasks has been optimized to show detailed sub-log information
● Engine module grouping display has been optimized, supporting full selection of entire groups.
● The rules for locking the build and run buttons have been optimized and adjusted. Platforms that do not interfere with each other, like web platforms, can run simultaneously.
● The plugin script’s options and UI interactions within the property inspector have been optimized.
● Device manager’s device data has been updated.
● The default behavior of old plugin scripts and some interface option operations have been optimized, with new execution environment controls for mini-game platforms added.
● Bundle folders have been updated with a new icon identifier.
● Fixed a problem where unscheduling scheduleOnce in the callback function of schedule could cause scheduleOnce not to be called issue
● Fixed a logical error in vec3.slerp() issue
● Fixed an issue where both WASM and ASMJS files were downloaded on the web platform issue
● Fixed incorrect particle rotation effect on native platforms [3.8.2] Incorrect 3D Particle Rotation Effect · Issue #16762 · cocos/cocos-engine · GitHub
● Fixed an error reported when using external resource textures with the new pipeline for on-screen Label 纹理释放问题 · Issue #16721 · cocos/cocos-engine · GitHub
● Fixed the issue of black screen initialization in scenarios after enabling Box2D wasm/asmjs experimental feature on platforms that do not support wasm
● Fixed the issue where hiding nodes of editbox, delaying the display of editbox, etc., leads to incorrect input coordinates;
● Fixed the issue where the texture of a label is not immediately released when the node is not activated upon destruction
● Fixed the issue where the cache mode of a label does not support character expressions;
● Fixed the issue where setting the default_panel too large leads to editor anomalies;
● Fixed the issue where the opacity of bmfont does not take effect;
● Fixed the issue where spine set with different timeScale playback rates
● Fixed the issue where spine.EventType was not exported
● Fixed the issue where texture compression images within the auto atlas folder were not promptly updated after the small image was updated and the atlas was rebuilt.
● Fixed the memory leak problem with the editor’s IPC communication.
● Fixed the error that occurred when confirming after successful bundle construction.
● Fixed the missing and replacement issues with the MD5 addition to the construction template files in the build process.
● Fixed the issue where Vivo platform would not properly throw an exception after installation failure.
● Fixed the error that occurred when running on the Douyin mini-game platform in lite mode.
● Fixed several bugs in the animation editor.
● Fixed multiple node operation bugs in the light probe.
● Fixed the bug that prevented sculpting and painting operations on terrains.
● Fixed the lag issue when adjusting the bounding box in edit mode for PolygonCollider2D.
1. Added Subpass and MSAA support in the custom render pipeline.
2. Animation Graph has restored support for AnimationClip (non-skeletal animations).
3. The script system now supports parsing symbolic links for use with package managers that support symbolic links, such as pnpm.
4. Added a delay trigger for edge gestures on iOS to prevent accidental touches.
5. Added 'patch' method support for HTTP requests on native platforms.
6. Added a default color interface for RichText.
7. Added materials for piano lacquer, car paint, and glass.
Demo: https://github.com/cocos/cocos-example-materials, Scene: assets\advanced-cases\coat\coat.scene
8. In HDR mode, the Scene panel has been expanded to include PostSettings options. The Tone Mapping Type now offers DEFAULT and LINEAR options.
9. Added wasm support for Box2D (Experimetnal)
10. Added Trigger Event for CharacterController, now the CharacterController component and collider support 'onControllerTriggerEnter', 'onControllerTriggerStay' and 'onControllerTriggerExit' events.
11. Added support for dymamically changing the mesh property of MeshCollider.
12. Transitioned to a more stable mesh simplify tool.
13. Supported mesh cluster
14. Supported mesh quantize
15. Supproted mesh encode/decode and inflate/deflate
a. options
b. Improved loading speed and rendering performance for larget scenes.
1. Added Java Home path settings to preferences to address the issue of multiple JDK installations on deveices during Android builds.
2. Added "Resizeable Activity" and "Max Aspect Ratio" options to the Android build panel.
3. Added support for configuring the launch mode and quick start of the Douyin Developer Tools.
4. Enabled "CLEANUP_IMAGE_CACHE" by default on the WeChat Mini Game platform, for other platforms, it follows the project settings.
5. Added grids, skybox and gizmo to the preview windows of materials, models, meshes, and skeletal animations. It also supports controlling the preview perspective.
6. Added a 3D tool visibility toggle. When turned off, it hides 3D gizmos other than the transform tools.
7. The Inspector now supports dragging to adjust the width of property names.
8. The Inspector now supports displaying icons for certain components.
9. Improved the display of visibility for Light and Camera components in the Inspector.
10. Reduced the number of boost library files to decrease the size of Cocos Creator application.
11. Various optimizations for overall user experience.
1. Fixed rendering errors under specific conditions in the custom pipeline.
2. Fixed the animation graph variants were not working on embedded state machines.
3. Fixed the issue of that after calling the forceLOD mothod, changing node's active not work correctly.
4. Optimized the interaction of the EditText on Android.
5. Fixed potential display errors with EditBox after rotation on web-mobile.
6. Fixed display errors of EditBox when switching between windowed and fullscreen mode.
7. Fixed a crash issue related to multi-touch on Android.
8. Fixed sound playback would not resume after unlocking the screen during playback.
9. Fixed web audio artifacts issue in iOS Safari after playing for more than 5 minutes.
10. Fixed an issue where the player stored in the audioManager could be destroyed.
11. Optimized potential lag issues when performing mutliple audio operations on the same audio object within the same frame.
12. Fixed calling audio play multiple times would cause the progress bar to remain stuck at 0 on Taobao Mini Game.
13. Fixed dragging the progress bar during audio playback would cause it to jump back to 0 on Xiaomi Game.
14. Fixed a memory leak issue on certain mini-game platforms where playing more than 10 audios and continuing to call other audio APIs could lead to memory leaks.
15. Fixed incorrect status retrieval through the isPlaying interface after pausing or ending a videoplayer.
16. Fixed abnormal behavior that may occur when switching video sources.
17. Fixed an issue with swig binding where namespace information was lost when overloading constructor functions.
18. Fixed an exception issue caused by swig binding to multi-level (>= 2) internal classes.
19. Fixed compilation failure of glue code when renaming internal classes in `.i`.
20. Fixed issues with the incorrect implementation of scene._instantiate on native platforms.
21. Fixed crashes or freezes on non-Android platforms caused by repeated calls to `game.restart()`.
22. Fixed display errors in the scene editor when the scale is not 1 for widgets.
23. Fixed a bug in the Button component where, on startup, it would use the Sprite component's spriteFrame to override its own normalSprite. Serialized data from the button component is now used to populate the spriteFrame state.
24. Fixed an issue in ScrollView where the scrolling property remained true after using the mouse scroll.
25. Fixed a bug in scenes with a camera where clicking the mouse would result in an offset.
26. Fixed incorrect resolution after receiving a resize event in OpenHarmony.
27. Fixed a connection issue in OpenHarmony after unchecking WebSocket.
28. Fixed rendering errors in the custom pipeline when mixing Fog, AO, and semi-transparent effects (requires enabling CC_USE_FLOAT_OUTPUT macro).
29. Fixed issues with reflection probe baking and updates during movement, optimizing native engine performance.
30. Fixed switching fog effect types did not affect the skybox.
31. Fixed the default center of a created SphereCollider not set to 0.
32. Now when the move method of CharacterController is called, the physical world position will be synchronized to the node immediately.
33. Fixed a program launch crash issue when compiling iOS projects with Xcode 15.
1. Fixed a runtime error caused by configuring texture compression for both single textures and the corresponding atlases simultaneously.
2. Fixed the issue where AutoAtlases still included original images after texture compression.
3. Fixed atlases referenced by multiple bundles with consistent priority experienced abnormal texture compression image copying.
4. Fixed duplicate data in Bundle config redirection configurations.
5. Fixed empty Bundles did not output config.json.
6. Fixed text resources in Bundles containing "uuid" caused build errors.
7. Fixed output path in the Bundle build panel could not be selected.
8. Fixed the Build panel could not create new build tasks after building with "Bundle Only" option.
9. Fixed changing the name of a build task could result in a wrong task name when switching build modes.
10. Fixed after implementing a script component in an extension, errors occurred during preview and build due to class dulication.
11. Fixed when enabling first scene sub-packages, scripts and resources output locations might be incorrect.
12. Fixed abnormal data after undoing certain operations on prefabs.
13. Fixed saving failure after referencing a prefab's child node in click events.
14. Fixed losing embedded prefab modifications when dragging a prefab node to Assets window to overwrite its original prefab file.
15. Fixed severval issues during prefab editing.
16. Fixed localStorage could not be debugged in the "Preview in Editor" mode.
17. Fixed FPS setting was not working in the "Preview in Editor" mode.
18. Fixed terrain data become abnormal after opening a prefab then closing while editing terrain.
19. Fixed unexpected behavior after undoing and redoing certain operations while editing terrain.
20. Fixed the "+" icon was not displayed when adding nodes to a node instanced from embedded prefab.
21. Fixed potential errors when configuring the default browser as Safari through the program manager on Mac.
22. Fixed FontAtlas might lose data due to import order.
23. Fixed various issues in the animation editor related to event frames, keyframes, and curve editing.
24. Fixed several interactive issues in the particle curve panel during editing.
25. Fixed issues with dragging and incorrect positioning of event frame icons when editing FBX resources.
26. Fixed inaccuracies in undo operations for the Widget.
1. Marked the UIMeshRenderer component as deprecated. Users are encouraged to use RenderTexture for similar functionality. Refer to UIMeshRenderer Component Reference for more details.
2. Users may need to add plane shadow-related passes to their custom Effects, following the structure of effects/legacy/standard.effect in internal resources. Otherwise, dynamic batching for plane shadows may not work as expected. See issue #14958 for more details.
1. When an EditBox is displayed at the top of the screen in iOS web, it might be pushed out of the screen by the input method when first gaining focus. If you encouter this issue, refer to the PR for a fix.
Creator 3.x relies on post-processing as the most demanding requirement for 3D games. Before, developers were recommended to use RenderTexture for production but did not provide built-in capabilities. The main reason is that the custom rendering pipeline supporting post-processing still needs to be completed. After the 3.7 Cyberpunk Demo verified the custom rendering pipeline, With Cocos Creator 3.8, we can finally deliver developers anti-aliasing, super-resolution, ambient light occlusion, glare, and other post-processing effects. These post-processing processes are currently integrated into CustomPipeline, on the one hand as an example of RenderGraph. On the other hand, it can also be used as a testing ground for our standard “Forward” pipeline.
1. Anti-aliasing: Provides FXAA with very low power consumption and time based TAA with better quality.
2. Super-resolution FSR: This helps to either achieve higher image quality with lower cost, or reduce the performance pressure while keeping the same resolution.
3. Bloom: Greatly improve the visual quality of your game by enhancing the lighting range of the highlight areas.
4. HBAO: High quality real time ambient occlusion, it can visually improve the sense of space and the rendering quality.
5. Custom Color Grading: This is a very simple but effective post-processing method, which can be used to enhance contrast, saturation, adjust color, white balance, and other image properties. Support any Nx1 bar graph and 8x8 block size. The system automatically adapts to different input format.
Starting from 3.8, we recommend all projects that need post-processing to switch to the Custom Rendering Pipelines, and you can refer to the Full-Screen Post Process documentation to activate it for your project. You can also refer to the example project using post-processing pipeline to learn how to use it.
1. Skin effects: add simple skin effect and advanced skin effect, example can be found in Character scene of Cocos Example Materials repository.
2. Eyeball effect: add advanced eye effect, example can be found in the same scene as skin effects.
3. Leaf effect: add advanced leaf effect.
4. Supports pre-baked simulation animations exported by Houdini and Zeno: This feature allows developers to integrate high-quality physical simulation animations calculated offline into their projects, including explosion, fluids, cloth, etc. This could be very helpful in making the game narrative scenes or some fixed scenes with great expressiveness, especially for in-app 3D simulations such as car HMI.
a. Zeno
b. Houdini
5. Blending support in Reflection Probes: In previous versions, the movement of dynamic objects between different probe areas will cause jumps. In 3.8, not only the effect mixing between Probes is supported, but also the mixing between Probes and skyboxes is supported. You can get a very natural transition effect in different baking areas and indoor to outdoor scenes.
We have introduced a new feature to the Marionette animation system: pose graphs. This new feature will provide support for procedural animation as well as dual bone IK animation. Using the pose graph, developers can conveniently define various procedural animations, and action poses through the node system to build more complex and delicate scene interactions. This will also significantly reduce the number of animations users need to create character animations. For example, you can define the IK of a character's feet on different planes, let the character climb terrain at different heights, or look in a particular direction while walking. In addition, the pose graph can also be used as a supplement to the animation state machine, which can be nested in the state machine. For details, see: "Cocos Creator 3.8 Manual - Procedural Animation."
When making complex procedurally generated animations, you may need to add variable curves to the animation for logical judgment or as variables. We've added auxiliary curves to the animation editor to meet these needs. You can now add additional curves to any skeletal animation, and once added, these curves can be read and blended in the pose graph and state machine. This new feature will allow greater freedom and help you better control and customize animations.
In addition, the Marionette animation system has the following upgrades:
1. New CharacterController component: for role-playing and action games, it can significantly reduce the cost of character development and has built-in character control capabilities which can naturally interact with the environment.
2. Constraints: Added ConfigurableConstraint component, which can be used to customize the connection methods of various physical components to achieve complex uni-objects, such as car axles and various joints.
3. Constraints: Hinge constraints add new shaft drive and rotation range restrictions.
4. New sweep collision detection
LightFX supports alpha threshold in builtin standard material.
The customization capability of render pipeline is officially opened to developers in 3.8. It also supports our bultin post-processing capabilities. For the specific usage of the custom render pipeline, please refer to the Custom Render Pipeline, or refer to the custom pipeline examples repository. Some detailed upgrades of RenderGraph in 3.8 are as follows:
Asset Bundle now supports building specified Bundles separately, which allows users to update resources independently, and the function entry is located in the selected Bundle folder settings.
Support for adding filtering options in the Bundle folder settings, allowing users to more flexibly filter the resources in the Bundle that will participate in the actual build.
Optimize the platform setting method of Bundle configuration, support preset format, and facilitate users to manage export options for different platforms accurately.
Note: After upgrading the project to 3.8, Cocos Creator will automatically migrate the Bundle configuration to the project settings. Please submit changes to the project's settings folder and the metafile corresponding to the bundle folder to the project source code library (such as Git) after the upgrade to avoid configuration conflicts.
Build options support only building Bundles.
The Bundle that participates in the construction is supported to be filtered during construction, and all are exported by default.
In addition to the support for importing LOD models in the previous version, we added support for displaying LOD information in the model and the new LOD automatic generation function so that users can use LOD more efficiently.
Users can directly import any model that does not contain LOD in 3.8 and set different LOD levels in the model import options. Cocos Creator will automatically generate lower LOD levels by reducing the surfaces and automatically add the LOD Group component when creating a model instance in the scene.
Starting from 3.8.0, some engine modules have been implemented using wasm, including spine, rendering webGPU backend, physics engine bullet, and PhysX backend. Pay attention to the following when using it:
Notice:
At this year's Google IO conference, Google Play Games on PC and large-screen experience are the Android platform updates that have received great attention. Cocos has also been officially recommended by Google as an engine for Google Play Games on the PC platform and a recommended game engine for a large-screen experience.
Several well known Cocos games has already published on the platform. Starting from v3.8, you only need to check the x86 architecture and the InputSDK option when building Android to meet the platform requirements of Google Play Games on PC. This platform is an important opportunity for Google Play to expand to the desktop platform. Like the continuous emergence of folding screens and tablets, it marks that large-screen adaptation is becoming more and more critical for mobile games, and it can also help developers acquire more users.
The Cocos engine and the OpenHarmony team have been working closely together for more than two years and have jointly pushed forward the continuous improvement of the OpenHarmony system's support in the gaming industry. Now we are thrilled to announce the official support of the latest OpenHarmony 4.0 version.
CLEANUP_IMAGE_CACHE
macro for a single platform.The program manager of the preference setting supports configuring the default image editor.
The default design resolution of newly created projects has been adjusted from the 960x640 to 1280x720
Hierarchy manager supports using the shortcut keys [ or ] to move nodes up and down. If you press Ctrl / Command at the same time, it will be the top/bottom node.
When you open the preferences, project settings, animation graph, and other panels, they will be displayed at the location of the scene editor by default
The @menu
decorator of the component supports the use of menu paths, for example:
The corresponding component menu is displayed as follows:
EDITOR_NOT_IN_PREVIEW
` macro, which is used to simplify the judgment of various plug-ins and debugging codes on the editor's operating environment. If it is true
, it means that the code is executed in the editor and the scene is not in the preview state. Example:
Cocos Creator 3.7.0 is another milestone on our path of constantly challenging and improving ourselves. In order to support a larger, and more realistic 3D world, we have made improvements in rendering effects, global illumination, LOD, animation systems, physics systems, and performance in this version. There are large numbers of updates in V3.7.0, so only important ones are listed here. You can also view the update list in our GitHub repository: GitHub update list.
For a more realistic 3D world, global illumination on dynamic objects is needed. Unlike lightmaps that only support indirect light baking on static objects, light probes are used to apply indirect lighting on characters or other dynamic objects. Light probes capture light information in the space first, and then apply the approximation on the dynamic objects. This approach has advantages of good processing performance at runtime and fast precomputation. For more details, please read our document: Light Probe.
Characters with light probes:
Spheres using light probes with instancing:
Light probes editing:
Another technique we introduced in 3.7 to improve rendering result is reflection probe. Especially for the scenes with reflective materials, reflection probe improves the immersive feeling dramatically. Reflection probes take a baked result of the nearby environment from a certain point, and store a texture of the surrounding environment. Then apply this texture on the objects that have reflective materials to achieve a realistic look. There are two modes: a cube mode that requires baking of the surroundings, and a live planar reflection mode used mainly for planar surfaces like floors and water. For more details, please read our document: Reflection Probe.
Level of Details (LOD) is a technique that reduces the number of GPU operations needed to render distant meshes. LOD is a common way to improve the performance of large scenes by adjusting the precision for models according to their proportion on the screen. It saves rendering resources by displaying low precision resources when objects are far from the camera. When a node uses LOD, the engine would display the appropriate LOD level based on the screen size . For more details, please read our document: Level of Details.
The purpose of CSM is to use different shadow resolutions for different layers. A problem this leads to is that the layer switching point could be easy to spot and it makes the shadow looks unnatural. In 3.7, we added support for a smooth blend transition between layers, so CSM layers switching looks more natural.
We introduced Bloom post effect and FXAA on the new customized render pipeline that based on RenderGraph. Unlike the old render pipeline which is hard to customize, the new one is designed for users to customize and expand features easily. Adding post effects like Bloom is never been this easy as well.
We support native engine for the scene editor in V3.7.0, scene editor can run with the C++ based Windows/Mac native Cocos engine instead of JS/WebGL based HTML5 engine now. This means scene editor's performance can improve to the next level with native advantages. It better prepares users for the larger 3D world. This feature currently is in experimental stage. You can turn it on with the option "Use native engine for scene editor" at menu Preferences - Laboratory. After it is turned on, you can preview and debug with multiple native viewport.
We updated extension manager in V3.7.0. This all-new extension manager added support for extensions hot update, Project dependencies auto install, improved UI, and update version selection. It makes project distribution and extension management easier.
For better version control, we updated some rules for extension management:
Splash settings are used to display Cocos or your brand's logo during the game initiation time. At the same time, we optimized the first screen loading time to improve user experience. From version 3.7, we started to renew some previously under maintained features based on the users' feedbacks, such as Splash settings. Here are the main updates:
Project setting interface:
Building interface:
In 3.7, users can inspect UV for different channels in the property inspector. Now you can just simply select the imported mesh to inspect uv channels to see weather it is within (0,1) space or if it has overlap.
Updated CurveRange building logic, deferred building curve data, and optimized internal decorators to improve particles system initialization speed.
3.7 and 3.6 Particles initialization speed compare (The shorter, the faster, and more modules the particles use, the more time it saves in 3.7).
Besides the improvement on performance of the particles system, we also improved performance for other modules, such as those listed below:
Note: In the the performance testing result graphs below, we increased the load for each platform step by step during the testing. Different platforms might have a different load increase step. The performance result shows in frames per second, therefore, higher value means better performance.
In version 3.6.3, we have added support for the Taobao mini program platform and also fixed a series of critical bugs, so we strongly recommend all 3.6 users to upgrade.
Improved performance of Spine and DragonBones on native platforms #12788. Especially for Spine, performance gains of up to 40% or more on lower-end iOS devices. There are also significant performance gains on Android platform.
[Experimental Feature] On the Web-Desktop platform, we have added a future-oriented rendering backend based on wasm technology - WebGPU (Chromium 105). Based on WebGPU backend, we will gradually add advanced rendering features such as ComputeShader, which is important to improve the rendering capability of the Web platform. WebGPU details can be found at https://www.w3.org/TR/webgpu/
After the release of v3.6.0, we received a lot of feedbacks from developers about user experience, performance, issues and so on. Thank you for your continued support.
In v3.6.1, we fixed many of the important ones from these feedbacks and recommend all users who are using v3.x to upgrade.
The following is the main content of this update.
Cocos Creator 3.6 is an important milestone for Cocos Engine, and it also has the longest iteration since Cocos Creator 3.0. This version has significant improvements in rendering, editor features, performance, and enhancements in stability and compatibility of the engine. Due to the large number of updates (engine: 1110 PRs, editor: 678 PRs), only the relatively important ones are listed here.
Surface Shader uses a unified rendering process and structure that allows users to write shaders that focus onsurface material without anything related to the lighting model. The advantages over the older version (Legacy Shader) are easier to write and maintain, better version compatibility, and less prone to rendering errors. And you can get a lot of public features from the unified process, such as unified environment lighting, rendering debug view etc.Surface Shader also makes it easier to provide a variety of common and complex materials to users in Cocos Creator.
The regular shadow map has a serious drawback: when the projection area is large, a very high-resolution shadow map texture is needed to achieve a good shadow effect, which may exceed the limits of the hardware capacity. If the resolution is not increased, the shadows will be jagged, shapeless and unclear, but reducing the projection area will result in a very short shadow distance, objects a little further away will lose their shadows. Adjusting the balance between shadow distance and shadow quality is a major headache and it has been in previous versions.
CSM (Cascade Shadow Map) divides the view frustum into multiple blocks from near to far, with a smaller projection area for the near block and a larger projection area for the far block, which is equivalent to an adaptive shadow map, thus increasing the utilization of shadow map texture several times. It can have a very precise shadow for closer objects and a just fine shadow effect at a longer distance from the view point, so developers no longer have to spend their time on shadow parameter settings.
This feature provides a variety of custom display modes to help users investigate issues of material, lighting, and shadow display much faster. It also allows users to view specific scene information more clearly and provides a reference basis for optimization decisions.
Since the specular of direct lighting are using GGX BRDF model, for environment lighting the same BRDF must be used for spherical convolution in order to make the lighting effects of both light sources correspond. In addition, by storing the reflection information of different roughness in the corresponding mipmap level, the convolution calculation can fix the following problems compared to the automatically generated mip maps.
As shown below:
AutoGen Mipmaps
GGX Convolution
GGX vs. Dir vs. Mip
With the benefit of Surface Shader, we can fully extend the PBR lighting model. In V3.6 there is complete support for isotropic and anisotropic materials and lighting models of Direct Lighting and Environment Lighting. You can work with Substance PBR material library to create brushed metal, hair, silk, etc.
V3.6 has updated a new version of editor user interface, and has made an all-round reconstruction in order to achieve a "more coordinated" visual system, "more scientific" visual feedback, and "more immersive" interactive feeling. In the future, we will continue to standardize design based on Cocos' design principles, continue to update and iterate, and continue to optimize core interactions and workflows.
Development efficiency is a core value that Cocos Creator places great importance on, and in V3.6 this has been further improved. In addition to the "Preview in Browser" and the "Preview in Simulator", developers can now use the "Preview in Editor" to preview the project. In this mode, the scene manager will run the code directly, allowing developers to debug scenes in real time. While bringing a seamless preview experience, it also makes up for the shortcomings in debugging.
This feature is currently in experimental stage, welcome to give us more feedbacks about it. In the future, we will also continue to focus on development efficiency and continue to improve user experience in script compilation, project debugging and build release.
Animation Editor adds the ability to embed players, developers can embed other particles and other animations in any animation. Moreover, it can be programmed in a way like editing tracks in video editing software, with free adjustment of duration and playback position.
After editing, the content of the embedded player will play along with this AnimationClip, which is supported in both Animation component and Animation Graph. This feature is also available for animations from FBX, allowing for more flexible effects control and solving the problem of imported animations being difficult to re-edit.
Both particle and animation players are currently available in V3.6 and can be enabled in the Preferences > Laboratory.
To better produce multilingual versions of projects, V3.6 provides a built-in multilingual tool, Localization Editor (L10n), which currently supports text translation and resource replacement. It is positioned to deeply integrate with Cocos Creator and improve the efficiency of translation through highly automated tool. In a codeless way, it's very intuitive and lowers the usage threshold.
Main Features:
Localization Editor is currently in the experimental stage and will provide richer localization capabilities in the future, we look forward to your feedbacks.
1. Support for Surface Snapping and Vertex Snapping
Surface Snapping (Press and hold ctrl/cmd + shift)
Vertex Snapping (Press and hold v)
2. Support for box selection, you can quickly select multiple objects
For higher performance, more realistic rendering, better compatibility, more scalability, and better productivity, theCocos Engine team has been iterating and refactoring the core engine framework continuously since the release of version 3.3.
It took the engine team more than a year to refactor the engine in multiple phases and modules to achieve a significant all-around improvement while still maintaining compatibility with old projects.
While bringing significant performance improvements and rendering enhancements, it also lays the groundwork for further iterations of the engine in the future.
From the microcosm of V3.6, we can see the determination of the Cocos Engine team: to insist on constant self-change to keep up with the update of hardware and the changing needs of our users.
Another important milestone for V3.6 is that it reaches the same level of 2D rendering performance as V2.x. This means that V2.x users can upgrade to V3.x with confidence. Based on the work of converting infrastructure to native C++ implementation, we have made the 2D rendering data structure, 2D batcher, and rendering process all native so that the 2D batching and rendering processes are performed natively to achieve V2.x's performance. At this stage, there is still some legacy work left to be done, such as supporting Spine batching and fixing iOS WeChat drawbacks, but this also means that there is a higher ceiling for 2D rendering performance V3.x needs us to break through.
Native extensions can link to a developer's existing C/C++ code base, bind interfaces to the JS layer and be reused across projects.
With the power of CMake, extensions can flexibly integrate source files, static libraries or dynamic libraries. C/C++ interfaces can be exported directly to the scripting layer using the traditional auto/manual binding mechanism, or using the new sebind high-level interface added in V3.6. Once developed, the native extensions can be distributed individually as zip packages or packaged as editor extensions.
Please take a deeper look into the usage manual and the example case.
As the infrastructure for the next-generation custom rendering pipeline of our engine, we have wrapped the higher-level RenderGraph on top of FrameGraph to provide a series of capabilities and APIs for building rendering pipelines more easily. Includes typescript based cross-platform pipeline description, material system pre-processing, automatic management of various render states, transient render resources lifecycle management, and other capabilities. We have already implemented our web version forward and deferred rendering pipeline with RenderGraph. In future releases this year, we will replicate the native platform pipeline in its entirety, and open up the built-in pipeline customization capabilities based on RenderGraph, such as adding post-processing effects. At the same time, the ability to produce an entirely customized rendering pipeline based on RenderGraph will be fully open to developers.
Currently, you can select forward or deferred pipeline by setting `CUSTOM_PIPELINE_NAME` to `Forward` or `Deferred` in the project's Macro Configuration, and you also need to turn on "Custom Render Pipeline (Experimental)" in the Feature Cropping. The usage details can be found in the usage documentation.
When importing materials, V3.6 supports Diffuse-Specular material models (including Phong and SpecularGlossiness PBR), which can intelligently convert material parameters to standard Metallic Roughness PBR models. This allows you to get a material representation close to that of the original DCC software without changing the lighting model.
Blender | Material Conversion Off | Material Conversion On
Convert Phong materials from FBX
Due to the limitation of the number of uniforms, in CPU computed skeletal animation, when the number of skeletonsexceeds a certain value, it is not possible to store all the skeleton data by uniforms at once, so in the previous version, we may split the meshes and bones. We often received feedback that one of our character models would take up multiple draw calls, mainly because it was automatically split here. What's more is that since splitting cannot be done at runtime and can only be pre-processed, our splitting criteria can only be used as a reference for lower hardware devices and drivers (iPhone 6 WebGL), which is very limited for the number of skeletons.
Therefore, Cocos Creator 3.6 has made a strategic optimization of this issue as follows:
Note: Using textures to pass skeletal animation data requires the ability to access textures in the vertex shader. This feature is minimally supported by OpenGL ES 3.0, WebGL 2.0. But relies on GL extensions, it has almost 100% coverage on devices which only support OpenGL ES 2.0 and WebGL 1.0 , so there is no need to worry about compatibility issues.
This option is currently retained only to maintain compatibility with old projects and will be considered for removal when appropriate.
V3.5.1 adds two far-reaching experimental features without affecting the stability of the original functionality of V3.5.0. The first is the Smart Material Conversion which permit to import DCC default materials from FBX, restoring the materials and appearance created by artist in various DCC tools. The second is a series of built-in Surface Shader material resources, which will be the cornerstone of material customization in the future. In addition, we have shipped with this version a series of critical fixes, experience optimizations, and numerous documentation optimizations. We strongly recommend that all 3.x users upgrade.
FBX Smart Material Conversion is a feature in the model importer that assists in converting materials. It maps some of the standard materials exported from various DCC tools directly to Cocos Creator's built-in materials, restoring as much as possible the material effects seen by the artist in the DCC tools. This feature supports some of the standard materials in mainstream DCC tools: 3ds Max, Blender, Maya, C4D.
You can compare the effect of the Standard Surface material in Maya after importing it into Cocos Creator:
Appearence in Maya tools
Appearence in Cocos Creator after turning on FBX Smart Material Conversion
For more information on how to use this feature, please refer to the usage documentation.
We will also continue to optimize the model and material import experience in 3.6, so stay tuned.
Since version 3.0, many developers have experienced the problem of materials not working properly during the upgrade process and need to migrate. The root cause of this problem is that the engine's lighting model and surface material calculations are being adjusted along the way, which affects all related material effect codes and also affects the compatibility of these materials when reused by users.
In order to improve the compatibility of the material system, we have added a series of Surface Shader resources that abstract the lighting model and surface material calculations in the engine, so that future developers can use these built-in headers and functions to greatly simplify the effect resources they write. At the same time, due to the abstraction, cross-version compatibility will also be more secure.
Please refer to the usage documentation for more details on the use of Surface Shader.
In v3.5.0, we updated the API documentation page with a new version, which was well received by developers with some important feedbacks. In v3.5.1, we continued to do a lot of documentation checks, with nearly 40 PRs to further complete some remaining API documentation and fix some documentation errors. We hope to bring developers a better and better documentation experience.
We added the Marionette animation system in v3.4 for complex character animation. It supports state machine editing and weighted blending. In v3.5, we added several crucial new features to the Marionette animation system. Layer and skeleton masks are the most important updates because they allow the developer to separate animation blending for different character parts.
For 2D users and 2D projects, we have improved the user experience in the editor. It's been a very popular request for 2.x users when they consider upgrading. We have progressively improved things and will continue to do so. In v3.5, you can see the following changes:
For quite a while, we have been working with Google to bring a better Android development experience to our developers.We are proud to announce Frame Pacing Library has been integrated into v3.5. It's part of the Android Game Development Kit (AGDK). It helps OpenGL and Vulkan games achieve smooth rendering and correct frame pacing on Android. You can activate Frame Pacing in the Android build panel.
A new simple geometry render API is introduced in v3.5. It's designed for simple debug rendering using prebuilt primitive geometry types. It supports lines, boxes, spheres, polygons, etc. You can draw them in wireframe or solid mesh. All drawing geometries are in world space with a configurable transform. Furthermore, some geometries can be affected by real-time lighting.
Detailed functionalities are shown in the following chart.
We have put a lot of effort into visual effect upgrades in the past versions. Meanwhile, we have also started to invest in improving the DCC workflow. We are starting to ship some improvements in v3.5.0, and you will see much more coming in future releases. Here are what you can expect in this version:
Terrain editor now has new brush modes Flatten and SetHeight with a height parameter. It's for more effortless sculpting fixed height planes in the terrain editor.
In v3.5, we assembled all platform-related low-level adaptations into Platform Abstraction Layer, including system info, window adaptation, audio, input, etc. The distribution of system-level events is also unified. This is a low-level refactorization, developer-level API hasn't been affected, but it will allow Cocos to adapt to new environments more easily.
We continue to improve performance in v3.5, here are the most visible ones.
We are genuinely sorry that the previous API documentation usage experience is relatively poor, making the user's learning curve steeper. In v3.5, we are using a new generator to make it more clear and more reliable. It's just a start, and we will continue to improve the content of API documentation in the following months.
Please take a look at our new API documentation page.
To better support open source community, we have merged our engine native repository into engine repository, and it has been transferred to cocos/cocos-engine. Since now, we will be more open by maintaining public issues and public projects. If you are using customized engine, you must pay attention to this change, from v3.5, you only need to clone one engine repository. All customizations in typescript engine can be rebased to v3.5, but previous customizations in native engine must be reapplied manually through diffs. You can refer to the engine customization documentation.
In v3.4.1, we improved the data submission and batching strategy of 2D rendering components. Since these are basic changes, it caused some problems with Tiledmap
and Graphics
. Also, the performance of Spine and Dragonbones on the Android browser has not been improved, these problems have been resolved in the v3.4.2 version.
In addition, under the active testing and feedback from the community, we have also fixed some editor-related experience problems, such as memory leaks caused by script recompilation, and resource copying problems when large projects are built on the iOS platform. Thanks again to the community developers.
Developers currently using v3.4 to v3.4.2 should upgrade to get a better stability and development experience.
Recently, we have conducted extensive exchanges with the majority of users on forums and offline, and received many pertinent suggestions and criticisms. In response to some product usability issues that have been reported by users recently, we have planned version 3.5 to deal with it as soon as possible, and the public beta will be launched soon. 3.5 will iterate in small steps on the basis of 3.4, improve the usability and ease of use of the product, and ensure stability and compatibility as much as possible.
In the remaining releases for this year, the engine team will also focus on the business needs and pain points of developers, do their best to take care of the needs of various types of projects, and benefit all users. In particular, some projects encountered problems such as heat generation, native performance, package body, editor stability and workflow, which will be mainly solved this year.
In v3.4.1, we focused on fixing problems reported by users after the release of v3.4.0 and improving the overall stability. At the same time, in order to help v2.x developers to upgrade to v3, we adjusted the batch strategy of 2D rendering components, which has greatly improved the overall performance of 2D rendering. Compared with v3.3, the improvement rate ranges from 20% - 70%.
For the performance test results, we also compared the v2.x version. Take a look at the comparison charts below, the performance of most of the tests has been close to or the same as that of 2.x, and a small number of tests have exceeded it.
Legend explanation: All tests are done on low-end and mid-range computers. The four intervals of each icon are Android Web, iOS Web, Android WeChat, and iOS WeChat. In addition, the overall performance improvement on the native platform will also be greatly optimized in the native version of 3.6 [GitHub PR].
In addition, in order to allow WebGL 2.0 to be enabled on WeChat mini-games in the future, we have also modified the build options of the WeChat platform and added an experimental option: support to enable WebGL 2.0 following the configuration of the project module, and to turn off the reduced package by default. If you choose to follow the configuration of the project module, and the WebGL 2.0 rendering backend is checked in the project module, then the future and other WeChat environments that support WebGL 2.0 can be successfully enabled.
Cocos Creator v3.4 is the final version we released this year for Creator. Stability is our most important goal! The development and testing cycle of this version is longer than any previous version, and it has been publicly tested in the community for a month. Thank you to all the developers who participated in the test!
In v3.4, not only important functions such as the Marionette animation system have been added, but also a lot of work has been done in terms of product experience, stability, performance optimization, and infrastructure levels. In addition, we listened to the community and fixed a number of problems that have received a lot of feedback. Our devoted engine team believe 3.4 version will become a great milestone in terms of game development user experience!
The all new animation system is the most important feature in 3.4. We named it Marionette, which means 'puppet', which both captures the essence of the animation system and also by itself, a long-standing traditional Chinese art form. It has appeared since the Tang Dynasty and has been circulating for thousands of years, and it is still an important opera form till this day in the Minnan region (where our company is located!). With Marionette, we also hope that developers can precisely control the game characters and enhance the game’s narrative ability.
In version 3.4, Marionette supports the key features of an animation system, including state machines, sub-state machines, animation node graphs, trigger variables, multidimensional blending, etc. Of course, more new features are already under development, such as animation levels and masks, humanoid bones and IK support. To help you learn the Marionette animation system, we have also prepared detailed documents, a [Demo](https://github.com/cocos-creator/MarionetteDemo) and video tutorials.
In terms of editor experience, we have done a lot of fixes and enhancement for user experience. Features and experience optimizations include:
Starting from v3.0, Creator has been elevating and polishing its rendering capabilities. In v3.4, in order to improve the rendering quality of the engine, we brought a series of important upgrades. In particular, the enhancement of the lighting model will make the rendering more refined for our engine.
manually set ambient light vs automatically generate diffuse map
HDR on vs HDR off
Denoise on vs Denoise off
In terms of rendering pipeline, FrameGraph is an infrastructure introduced in v3.1. After several iterations, in v3.4 we formally docked both the Forward and Deferred pipelines with FrameGraph. Below is a simplified deferred pipeline FrameGraph:
Currently, the engine’s deferred pipeline contains a total of 2 calculation passes and 7 rendering passes. Although it is not complicated, it can already highlight the role of FrameGraph. On the one hand, it simplifies the code organization of the pipeline layer and reduces maintenance costs; on the other hand, it also reduces the cost of developers when customizing pipelines. Based on FrameGraph, the Huawei HMS CG Kit team continued to contribute Clustered Light Culling to the deferred pipeline in v3.4 to optimize the calculation performance of dynamic light sources. It can support hundreds of dynamic light sources on the same screen on the mobile side (Kirin 990 chip in Sponza scene Running 1000 dynamic light sources can reach 40 fps).
In addition, the Subpass in the rendering pipeline is also implemented based on FrameGraph. The second major advantage of FrameGraph is the deferred mode for rendering (different from the deferred rendering pipeline). The engine can analyze the rendering process and optimize it before executing the complete rendering process. Currently, mobile GPUs share system memory with CPUs. One of the hotspots of power consumption is the reading and writing of video memory. Subpass optimization is to make full use of the GPU’s Tiled cache to reduce the power consumption of video memory read and write. When the write and read resources of two adjacent rendering Subpass are the same in-frame resource and will not be referenced by other passes, this Resources can be read and written directly through the Tiled cache without wasting any memory bandwidth, which can significantly reduce power consumption. This automatic derivation of resources and rendering processes is exactly the advantage that FrameGraph brings.
Stability is the primary goal of the v3.4 version, so we have also fixed some flaws that have been troubling for a long time, pushing the stability of the engine to a new height. Here are some of the more important fixes:
In addition to fixing important issues, the overall performance of the engine has also been improved, such as 2D rendering and batch efficiency, physical performance, iOS Web 3D scene performance, and Android partial scenes. Here are some test results of 2D rendering:
Due to the adjustment of the relevant logic of web platform screen adaptation, we have changed the web-related index.html template, which includes preview templates and building web platform templates. We have done related compatibility processing inside the engine cocos-creator/engine#9830
This process will ensure that there is a fixed div structure inside index.html:
<div id="GameDiv">
<div id="Cocos3dGameContainer">
<canvas id="GameCanvas"></canvas>
</div>
</div>
If GameDiv/Cocos3dGameContainer is missing, it will be automatically filled during runtime.
Note: this div structure is a private structure managed internally by the engine. We hope to keep this structure intact and not customized. If other web tags are added to this structure, it may cause some uncertain compatibility issues.
The newly added IBL sampling noise reduction algorithm currently has some problems with the compatibility of the iOS Web environment. Since it was found that it was not merged in the version later, the support for iOS Web will be completed in the follow-up 3.4.1
Currently, the deferred pipeline is still in the process of high-speed iteration, and there are still some problems with function and platform compatibility. It is not recommended to use it in actual projects for the time being. Some of the current known issues include some particle blending modes that cannot be rendered, builtin-toon materials are not supported temporarily, some low-end platforms and devices have compatibility issues, spotlight shadows are not supported, and 2D & 3D camera mixing issues.
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.
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:
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:
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.
AnimationClip.createWithSpriteFrames
failed to dynamically create animationinverseTransformPoint
function errorbackgroundImage
property was not synchronized when modifying SpriteFrameEventKeyboard.isPressed
property
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 .
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:
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:
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:
v3.1
v3.3
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.
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:
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:
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.
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.
In addition, the v3.3.0 version has entered late testing. This version has some very important updates that should be known in advance:
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!
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.
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:
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:
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.
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:
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.
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!
In addition, the v3.3.0 version has entered late testing. This version has some very important updates that should be known in advance:
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
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.
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.
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:
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:
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.
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!
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:
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:
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.
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:
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.
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.
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.
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.
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.
Creator v3.0 re-implements the Prefab system with features such as:
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.
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.
The generation stage of each mini game platform is extracted, allowing to modify the content of the file after build to regenerate rpk/cpk.
The build extension support adding hooks before and after compilation to customize the build process.
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.
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 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!
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.
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.
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.
In addition to regular operations, the v3.0 Animation Editor also provides the following shortcut operations to help game developers achieve the desired content:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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:
@integer
, @float
, @string
, @boolean
, @type
etc…Cocos Creator v3.0 continues the 2.x UI design, and further optimizes and upgrades, including the following:
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.
In a near future, we will provide builtin PhysX backend on native platforms, which will greatly improve performance and physics capabilities.
view.setFrameSize
interface.enable auto gray effect
option.\~/.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
.cc.global
variables are no longer supported, please use module import.Creator 3D v1.2 | Creator v3.0 |
---|---|
PhysicMaterial | PhysicsMaterial |
Creator 3D v1.2 | Creator v3.0 |
---|---|
line | Line |
plane | Plane |
ray | Ray |
triangle | Triangle |
sphere | Sphere |
aabb | AABB |
obb | OBB |
capsule | Capsule |
frustum | Frustum |
MorphModel | models.MorphModel |
ray_aabb | rayAABB |
ray_plane | rayPlane |
ray_triangle | rayTriangle |
ray_sphere | raySphere |
ray_obb | rayOBB |
ray_capsule | rayCapsule |
ray_subMesh | raySubMesh |
ray_mesh | rayMesh |
ray_model | rayModel |
line_plane | linePlane |
line_triangle | lineTriangle |
line_aabb | lineAABB |
line_obb | lineOBB |
line_sphere | lineSphere |
aabb_aabb | aabbWithAABB |
aabb_obb | aabbWithOBB |
aabb_plane | aabbPlane |
aabb_frustum | aabbFrustum |
aabbFrustum_accurate | aabbFrustumAccurate |
obb_point | obbPoint |
obb_plane | obbPlane |
obb_frustum | obbFrustum |
obbFrustum_accurate | obbFrustumAccurate |
obb_obb | obbWithOBB |
obb_capsule | obbCapsule |
sphere_plane | spherePlane |
sphere_frustum | sphereFrustum |
sphereFrustum_accurate | sphereFrustumAccurate |
sphere_sphere | sphereWithSphere |
sphere_aabb | sphereAABB |
sphere_obb | sphereOBB |
sphere_capsule | sphereCapsule |
capsule_capsule | capsuleWithCapsule |
Creator 3D v1.2 | Creator v3.0 |
---|---|
BAIDU_GAME | BAIDU_MINI_GAME |
VIVO_GAME | VIVO_MINI_GAME |
OPPO_GAME | OPPO_MINI_GAME |
HUAWEI_GAME | HUAWEI_QUICK_GAME |
XIAOMI_GAME | XIAOMI_QUICK_GAME |
JKW_GAME | COCOSPLAY |
ALIPAY_GAME | ALIPAY_MINI_GAME |
BYTEDANCE_GAME | BYTEDANCE_MINI_GAME |
Creator 3D v1.2 | Creator v3.0 |
---|---|
UIRenderable | Renderable2D |
UIDrawBatch | DrawBatch2D |
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:
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!
In version 2.4.11, we fixed some recently found problems, focused on improving the stability of the editor and engine, and solved some native mobile platform related problems, we recommend all 2.x users to upgrade.
This version does not break the compatibility of projects and extensions, so please refer to the 2.4.7 upgrade guide to update. In the future, only critical bug fixes in 2.x will be provided. We strongly recommend 3.x for new users and new projects.
Support ASTC compressed GPU texture formatDocumentation
Support Taobao mini program creative interactive platformDocumentation
Add Auto Watch Files to Cocos Creator -> Preferences -> Gene ral Panel. It is used to control whether to automatically watch for changes to resource files, enabled by default.
When it is closed, Cocos Creator does not automatically listen for changes in the resource files. If you need to refresh them, you can do so in the right-click menu of the specified folder.
Update openssl version to 1.1.1q #300
2.4.10 fixes some recently discovered 2.x related issues, improves the editor’s and engine’s stability, solves some native mobile platform-related problems, and is recommended for all 2.x users. This version does not damage the compatibility of projects and plugins, so please refer to the upgrade instructions of 2.4.7 to update.
We will continue to provide critical bug fixes through 2022, as planned, for the official release of version 3.0. These fixes will be optimized around stability and usability only, so it is no longer recommended for new users or projects to choose 2.4 but to develop with 3.x.
Director.EVENT_BEFORE_UPDATE
, Director.EVENT_AFTER_UPDATE
, Director.EVENT_AFTER_DRAW
events, add deltaTime parameter (#11359), thanks to FinscnCocos Creator v2.4.9 focused on fixing some 2.x related problems recently discovered, focusing on improving the stability of the editor and engine. And solved some of the obstacles affecting games publish on the native mobile platform. It is recommended that all 2.x users upgrade. This version has not broken the compatibility of projects and plugins, please refer to the upgrade instructions of 2.4.7 to update.We will continue to deliver critical bug fixes in 2022, as planned at the time of the 3.0 general release. These fixes will only be optimized around stability and usability, so it is no longer recommended for new users or new projects to choose 2.4, please use the 3.x version for development.
Cocos Creator v2.4.8 focused on fixing some 2.x related problems recently discovered, focusing on improving the editor’s experience and the stability of the engine. It is recommended that all 2.x users upgrade. This version has not broken the compatibility of projects and plugins, please refer to the upgrade instructions of 2.4.7 to update.
We will continue to deliver critical bug fixes in 2022, as planned at the time of the 3.0 general release. These fixes will only be optimized around stability and usability, so it is no longer recommended for new users or new projects to choose 2.4, please use the 3.x version for development.
Tween.stopAllByTag
only stop the animation of the first matching tag [#9902].To do their job well, a worker must first sharpen their tools. After a long period of preparation and testing, version 2.4.7 is finally released. Thank you to all the friends who gave us valuable feedback! In this update, we have concentrated on fixing some 2.x-related issues that we have discovered recently, focusing on improving the stability of the editor, and we recommend that all 2.x users upgrade.
According to the plan when the 3.0 version was officially released on February 7 of this year, 2.4 as the LTS version will continue to provide bug fixes this year. At the same time next year, we will continue to pay attention to 2.4 key issues and major platform adaptation issues, and update the version from time to time to support the safe operation of online projects.
Once again, to answer questions about the 3.x upgrade:
beforeFinish
event.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:
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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in the app/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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.
numTilesX
and numTilesY
in the 3D particle Texture Animation module did not take effect immediately.separateAxes
, and the modified XY rotation was invalid.VideoClip
type, the video resource is automatically recognized as VideoClip
format after importdepthWrite
value of the built-in Unlit material is incorrectsp.Skeleton.clearTrack
does not reset the initial posture [#8801]cc.Color.fromHex
[#8762]Node.setSelfGroupIndex
interface for setting self grouping [#8614], thanks to Xiaopang DachengAnimation.hasAnimationState
API to determine whether there is an AnimationState, thank you Xiaopang Dachengcc.assetManager.cacheManager.clearLRU
[#234]-cc.sys.isNative
is changed to false on the fast game platform
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:
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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in the app/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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!
onDestroy
and reporting an error [#8314].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:
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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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.4cc.Color.fromHex
is deprecated, please use cc.Color.fromHEX
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in the app/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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!
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.
XMLHttpRequest
supports HEAD
request type [#3093]maxRetryCount
is invalid when loading resources [#7689]Allow Rotation
in the automatic gallery [#7501]flipX
and flipY
in Mesh mode [#7407]active
[#7492]sample
and setCurrentTime
is invalid when the animation is not playing [#7943]size
does not change when modifying the Label text [#2834]Ignore Blank Images
when Spine exported the atlas resulted in failure to parse the .skel binary file [#2813]rayMesh
always returns infinity[#7795]MD5Cache
option is invalid when building a native platform from the command lineUpgrading 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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in the app/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
Cocos Creator v2.4.3 is here! This update brings more new features, optimizes performance and improves stability.
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.
The Android platform can be built with x86_64, which can run on more devices and emulators.
cc.resources.load
in the editorclone
method of SpriteFrame [#7030], thanks to Xiaopang DachengeditorOnly
acts on resource properties[#7048]cc.Quat.rotateX
, cc.Quat.rotateY
, cc.Quat.rotateZ
may be incorrect [#7036]setPosition
and setScale
do not pass in z value [#7104], thanks Dacheng Xiaopangduration
[#7035]loop
and mute
invalid [#6935]InputAssembler
is not cleared [#7060], thanks to caogtaacolor
property sharing of LabelOutline, LabelShadow, MotionStreak components [#7027]string
attribute when text is hidden in BITMAP mode. [#7003]setContentSize
is used [#7275]loadRemote
continuously [#6941]Bundle.load
is not an array when passing in an array [#6923]Sprite.spriteFrame
cannot be switched during lazy loading, [#7233]cc.resources
prematurely in the project script and prompting that it does not exist.ENABLE_NATIVE_TTF_RENDERER
macro to control whether to use native renderer for ttf font rendering [#7053]VideoPlayer.play
is called when the video is not loaded and will not play [#329]CallStaticObjectMethod
[#2706]cc.game.restart
reports errors [#347]cc.resources.loadDir
in the editor is inconsistent with the runtimecenter
value of SphereCollider3D is modified in the editor.loadRemote
cannot load pictures in the temporary directory [#155]timeout
property on WeChat[#164]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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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.
The byte game is developed based on the full product matrix of Bytedance and includes such creations as Today Toutiao, TikTok and Today Toutiao Speedy Edition. It does not require users to download, just click to open the new game type that is ready to play. ByteDance’s full product matrix takes content distribution as the core, and promotes the distribution of small games through content, and uses content to bring volume and fission to small games. Currently, there are very rich application scenarios. There are traffic portals in natural search, feed stream, personal homepage, small video, video comment area, etc. For detailed instructions, please refer to the Understanding Mini Games: Overview of Traffic Portals article (Chinese Only). In terms of revenue, ByteDance currently supports both advertising and in-app purchases.
For games developed with Cocos Creator, developers only need to select the ByteDance game publishing platform when building, and Cocos Creator automatically completes the adaptation and building. For details, please refer to the Publish to Byte Games documentation.
Cocos Creator v2.4.2 and v2.4.1 are exactly the same in terms of product functions, so the release portal of byte games for existing v2.4.1 users has been unlocked through hot updates. v2.4.1 users only need to start Cocos Dashboard v1.0.8 when the network is connected, and then open the editor. If unsuccessful, please make sure that Cocos Dashboard is using the latest v1.0.8, and completely exit and reopen. Minimizing the app isn’t good enough.
In addition, there is more good news: v2.4.1 already supports the Huawei AppGallery Connect platform, and developers can access Huawei HMS Core with one click, currently including account, Services such as payment, advertisement, and games will continue to support SDKs such as push, analysis and positioning in the near future.
Also, Cocos Creator will cooperate with Huawei in all aspects, especially at the technical level, integration with the underlying algorithms of CG Kit, tap Vulkan’s extreme rendering capabilities, release greater graphics rendering performance, and improve rendering efficiency. At the product level, Huawei’s HMS Core and AppGallery Connect will also be successively connected to more high-quality services to help developers develop higher-quality games.
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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade Guide .BuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guide .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.CCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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 refactoring, asset bundles, optimized the performance of graphic rendering.
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!
In Cocos Creator, through the HUAWEI AppGallery Connect publishing platform, developers can access Huawei HMS Core with one click, including login, payment, Share, Location, Analysis and other services that can greatly improve the developer’s work efficiency.
Developers can enable the SDKHub in the service panel and configure the corresponding SDK presets.
Choose HUAWEI AppGallery Connect platform during building, and select the preset SDK preset.
After the building is completed, you can upload with one click through the upload window.
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.
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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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 refactoring, asset bundles, optimized 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.
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!
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.
cc.AssetManager
module for resource managementAsset 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:
For details, please refer to the Asset Manager documentation and the Dynamic Loading documentation.
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.
TTF
font and Char
modeUsing SDF technology to optimize Graphic’s aliasing problem:
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 games, OPPO mini games, Vivo mini games, etc.
Cocos Creator v2.4 further improves the native hot update capability and optimize the following:
Please see this GitHub issue.
For details, please refer to the Hot Update Sample Tutorial.
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.
ImageBitmap
to load images on the Web platform, improve the preview and Web platform image resolution speed, and reduce the stutter during loadingToggleContainer
to get toggleItems
[#6569]SpriteFrame
resource adds a None
trim type, which can be quickly set to no crop.jsb
cc.easeBackOut
is incorrect when time is 0, [#6728], (thank you chen-gaoyuan)Node.walk
traversal error [#6710]cc.dynamicAtlasManager.showDebug
[#6697]size
in onLoad is invalid [#6688]Camera.render()
rendering twice, [#6355], (thank you Dacheng Xiaofa)Texture2D.setPremultiplyAlpha
[#6602]Enable Auto Batch
and switching Mesh resources [#6901]cc_matProj
error in effect [#6653]JniHelper
is not thread safe [#2457]unzip
is not thread safe [#2131], (thanks benloong)cc_time
error in native Effect [#6586]Label.string
[#2395]WebView
transparency error on iOS [#6717]Uint8Array
[#115]getNativeAssetPaths
was called multiple times incorrectlyCircleCollider.offset
attribute is abnormal [#6600]cc.assetManager.postLoadNative
to load and play.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.
cc.loader
is no longer recommended, please use the latest cc.assetManager
instead, please refer to the Resource Management Module Upgrade GuideBuildResults
. If you use the editor plug-in to get the editor’s build results, please refer to Customized Project Build Process Upgrade Guidecc.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
interfaceCCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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.
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 adding, deleting, and synchronizing.
For more details, please refer to Tencent Cloud Development documentation.
Mini Game Online Battle Engine (MGOBE) provides room management, online matching, frame synchronization, status synchronization, etc… Developers can quickly build networked, multiplayer interactive games. Developers do not need to pay attention to the underlying network architecture, network communication, *server expansion and contraction, operation and maintenance, etc… They can obtain nearby access, low latency, and *real-time expansion of high-performance online MGOBE is suitable for games such as turn-based, strategy, real-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.
Game Multimedia Engine (GME) provides a one-stop voice solution. In-depth optimization for different scenarios including covering games, social networking, entertainment and other pan-Internet industryapplication scenarios. GME includes real-time voice, voice message, text-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.
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.
CCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
Note: If you prefer not to use Dashboard now, you may still download Cocos Creator v2.3.4 for MacOS and Windows.
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.
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.
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.
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.
defaultSkin
is not set [#6432]stopAll
, stopAllByTag
, stopAllByTarget
and other interfaces to facilitate playback control [#6338]bezierTo
, bezierBy
, flipX
, flipY
, blink
interfaces [#6327]Tween.to
and Tween.by
, which can intelligently display the target attributeNode.forward
, Node.right
, Node.up
APIs to get all directions of nodes in the world coordinate system [#6287]ROTATION_CHANGED
event is not triggered when Node.eulerAngles
changes [#6325]cc.Rotate3DBy
[#6377]jsb.fileUtils.listFilesRecursively
is incorrect [#2337]cc.sys.getSafeAreaRect
on Android devices [#2145]require
path in project script@menu
decorator is invalidbackgroundColor
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.
CCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
// 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();
cc.NodePool
, it is not affected.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.
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.
The Cocos Dashboard serves as a unified downloader and launch portal for Cocos Creator and Cocos Creator 3D engines. Everyone can upgrade and manage multiple versions of Cocos Creator. In addition, unified project management and a creation panel is integrated, which is convenient for everyone to develop projects with different versions of engines at the same time.
Manage projects developed under different versions:
You can choose to use a different version of Cocos Creator when creating a new project:
textures
property of MeshRenderer
is invalid after the version upgrade [#6311]Canvas
may not be refreshed in time during scene initialization [#6308]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.
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/require
paths 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:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.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.
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)
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.
cc.NodePool
, it is not affected.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.
creator.d.ts
declarationevalString
calls in native non-JS threads to avoid V8 crashesUpgrading 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.
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed 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
.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();
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 physics, collisions, 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.
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.
Like Cocos Creator 3D, Creator’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 body, Box/Sphere collision components, trigger and collision events, physical materials, ray detection and many other features.
For detailed information, please refer to the Physics 3D documentation.
Like Cocos Creator 3D, Creator provides a lightweight collision detection system called Builtin. Builtin 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.
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 Shape, Color, Velocity, Size, Sequence Frame, Trailing, and so on.
Currently provided are a variety of parameter settings such as: Constant, Curve, Two Constant, Two Curve, Gradient, etc.
For detailed information, please refer to the Particle System 3D documentation.
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:
For detailed information, please refer to the Materials documentation and the Effects documentation.
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.
In Cocos Creator v2.3, the Spine runtime was upgraded to v3.8. v3.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!
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.
cc.macro.ENABLE_MULTI_TOUCH
macro for setting [#5847]ttf
or system
font<img>
in RichText, see the RichText documentation (Thanks RazgrizHsu [#6017]zIndex
[#5899]loadSubpackage
supports incoming progress callback [#15]isChecked
state by script. 2.3 New projects will not trigger events, and old projects will not change their behavior.cc.game.once
firing multiple times [#6055]getBoundingBoxToWorld
[#6108]getPositionAt
return value of TiledMap is incorrect [#5880]scroll-end
event [#5814]positionType
error [#5946]Stage
[#1897]setAttachment
interface is invalid [#1992]languageCode
undefined on vivo platformF
shortcutcc.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.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.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.
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed 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
.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.Cocos Creator v2.2.2 is intended to fix defects and improve product stability. Please see below for a subset of improvements.
cc.Node
that 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();
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.
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》.
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》.
cc.Node
that 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();
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.
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 Creator, Cocos2d-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 Creator, Cocos2d-js, Cocos2d-x and Cocos2d-lua to ensure we were testing in a broad spectrum, to provide the most accurate data. The results:
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:
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.
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.
Allow users to customize the webpage used for browser preview in a way similar to custom build templates. Support for 3 formats: HTML, Jade, EJS. See: Custom Preview Templates.
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.
Cocos Creator v2.2.0 optimizes the performance of 2D skeletal animation on various platforms.
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.
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.
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.
once
could not be logged offcc.systemEvent
listening for invalid once
events (thanks to Zty)Number
, String
, etc. when using the decorator to declare CCClass
CCClass
is declared as the default value of cc.String
, cc.Boolean
, etc.playOnload
may not workcc.winSize
from cc.Vec2
to cc.Size
cc.Node
that 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();
Cocos Creator v2.1.4 adds 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 Alipay. Alipay is currently being opened and is a prime target for future opportunities.
Cocos Creator v2.2.1 is coming soon. please view the Welcome Experience topic. This version will integrate Alipay games.
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.
To support the upcoming iOS 13 operating system, we replaced the underlying VideoPlayer
implementation on iOS native with the MPMoviePlayerController
for AVPlayerContoller
[#1831], at the same time, the underlying WebView
with UIWebView
for WKWebView
was replaced. [#1837].
Vec4
type support to Properties panel in the Property inspector.Texture2D.update
multiple times [#5198]cc.game.setFrameRate()
on the Mac Platform when plugin scripts were initializing [#5261]setTargetAtTime
when game runs on Crosswalk [#5281]convertToWorldSpace
function on Node
, please use convertToWorldSpaceAR
instead.convertToNodeSpace
function on Node
, please use convertToNodeSpaceAR
instead.getCameraToWorldPoint
is changed to getScreenToWorldPoint
and supports 3D CameragetWorldToCameraPoint
is changed to getWorldToScreenPoint
and supports 3D CameragetCameraToWorldMatrix
is changed to getScreenToWorldMatrix2D
, only 2D Camera is supported.getWorldToCameraMatrix
is changed to getWorldToScreenMatrix2D
, only 2D Camera is supported.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.
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.
Cocos Creator officially supports publishing to Xiaomi Mini Games. For detailed usage, please refer to Publish to Xiaomi Mini Game.
Cocos Creator officially supports publishing to Cocos Play. For detailed usage, please refer to Publish to Cocos Play.
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]cc.game.end()
If there are still resources downloaded in the background, it will cause a crash [#1763]subContextView.update()
Unable to update open domain map issue [#4721]Since v2.0.0 has been rewritten from the bottom with a 3D renderer, Cocos Creator has evolved into a game engine that can be both lossless and purely 2D and 3D. In the future, Cocos Creator will continue to adhere to the 2D first concept, continue to improve 2D game development experience and basic performance, and gradually introduce 3D features suitable for 2D games.
We are proud of v2.1.2, and we wonder if you are proud too? Good quality is inseparable from careful polishing, and Cocos will continue to improve the quality of its products with a down-to-earth spirit. We welcome our community to continue to submit feedback to us through forums, GitHub, Cocos Enterprise Services and other channels!
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 editing, camera preview, lighting system, and also incorporates the latest 2.0.x changes.
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.
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.
A 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.
Now, developers can set the Text Label, Placeholder Label and Background nodes separately, making them more flexible, simple, and more in line with the component development. See the EditBox Component Reference documentation.
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.
Added cc.primitive
module to dynamically create 3D models at runtime, including: box, cone, cylinder, plane, etc. See the Basic 3D Objects documentation.
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.
Ctrl/Cmd + Shift + F
to align the currently selected node to the perspective of the scene editor.Ctrl/Cmd
for multiple selections at the same time.enabled
checkbox when the component does not define the enabled
associated lifecycle functioncc.Vec3
compatible with related APIs of cc.Vec2
cc.macro.CLEANUP_IMAGE_CACHE
flag is enabled by default on the native platform to reduce texture memory usagecc.sys.HUAWEI_GAME
enumeration to determine if it is currently Huawei’s fast game platformBuildResults.getNativeAssetPath
might not get the texture pathenabledInHierarchy
is always false when the component does not define onEnable
(The version plan is for reference only, the final version content and release order are subject to actual conditions)
Cocos Creator v2.1, adds support for 3D features such as: 3D model rendering, 3D Camera, 3D 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 Cocos3D. Cocos 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.
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.
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 .
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.
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
Mesh Renderer is used to draw grid resources. See Mesh Renderer .
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.
For more 3D instructions, please consult the documentation 3D System .
v2.1 greatly optimizes the speed of auto-atlas construction. If the atlas has not changed, the results of the last build are used.
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.
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.
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.
Starting with v2.0.1, Cocos Creator upgraded the open data domain solution, see Access Game Open Data Domain .
See the v2.0 Upgrade Guide .
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 .
After downloading v2.10, create a new example project and open the case under assets/cases/3d to experience the 3D features.