Download Links (Ver. 070106)
Update Log: 071314
- Support OpenHarmony 4.0.
- Fix the addAnimation behavior in Spine Cache mode.
- Fix the return value types of Spine’s initAnimationCache and getAnimationCache.
- By default, split WASM/Asm.js into sub-packages in the mini-game platform to avoid exceeding the size limit of the main package.
- Optimize the package size of the effects (reduce by 1mb).
- Fix issues related to missing, compatibility, and stability in the Spine API.
- Remove the dependency of RenderGraph on TextDecoder (to fix support for the WeChat platform).
- Fix support for instancing in RenderGraph.
- Fix the significant increase in rendering calculations caused by CSM in RenderGraph.
- Fix scattering calculations for leaf materials.
- Fix diffuse reflection calculations for skin materials.
- Fix crash issues with Color Grading in the GLES backend.
- Fine-tune the Character Controller API.
- Fix performance degradation in some special cases.
- Fix the issue where Widget in the editor causes UI to jump around in certain circumstances.
- Provide more help documentation and prompt information in the inspector interface.
Update Log: 070106
List
- Fix the issue of Spine not running in Safari below iOS 15.
- Supplement missing Spine APIs and fix some behavioral bugs.
- Fix the problem of Spine not running when engine separation is enabled on the OPPO platform.
- Use the WASM library for PhysX on Web & WeChat platforms.
- Add API documentation for RenderGraph.
- Optimize property hints, documentation, and editing experience for post-processing in custom pipelines.
- Optimize default editing step size for luminous and luminousFlux of light sources.
- Fix memory leaks in custom pipelines when Instancing is enabled.
- Fix rendering errors caused by FRAMEBUFFER_INCOMPLETE_DIMENSIONS in certain environments.
- Fix the issue of disassociating Prefabs in the inspector.
- Fix the issue of some data not being cached when editing materials in the inspector.
- Fix the dispatching issue of animation frame events in the animation graph.
- Fix the potential crash issue with the layout of excessively long Labels.
- Fix the calculation error of AABB for box2d shapes.
- Fix the issue of reversed Y-axis events on some gamepads.
Update Log: 062117
List
- Fix rendering issue of the first letter in BMFont Label under certain conditions
- Fix Spine WASM loading failure in Safari versions below iOS 14
- Fix exceptions during the loading process of Spine WASM
- Fix the issue where adding or removing 3D particles in UIModel may not work properly
- Fix serialization problem with PoseGraphNodeInputBinding.outputIndex in Marionette animation system
- Fix leaking light issue of Cascaded Shadow Map in the custom pipeline
- Support automatic switching between Nx1 and 8x8 blocks in LUT post-processing
- Support retrieving stats data from Profiler
- Fix Quaternion::fromMat3 calculation
- Bolden the debug line width of 2D physics
- Fix dependency import issue of Spaces XR build template
- Optimize layout issues in certain parts of the inspector
- Fix error when editing material on the inspector panel
- Fix error in reflection probe operations
- Fix the issue where an error in one platform doesn’t interrupt the independent bundle build for multiple platforms
- Fix error when copying light-probe nodes
- Fix the issue where the design resolution of old projects automatically changes if it hasn’t been set
- Fix the issue where the reset button doesn’t appear when modifying bundle configuration on the inspector
- Fix the issue where inserting a prefab with a uitransfrom component in the scene automatically adds a canvas
- Fix the problem where buttons in the scene may respond multiple times with a single click after a rearrangement
- Fix error that may occur when performing undo after manipulating certain nodes
- Fix offset and overlapping of searcher pop-up window on Windows, covering system pop-ups.
Update Log: 062106
List
- Rendering Pipeline
- Updated custom Deferred pipeline based on RenderGraph
- Fixed cascading shadow map issue in Custom render pipeline
- Renamed custom Custom pipeline to custom Forward pipeline
- Optimized UI spacing in the editor
- Spine WASM Version Updates and Fixes
- Compiled WASM with the new version of the Emscripten toolchain, significantly improving performance for Web and WeChat games
- Optimized package size occupied by WASM & ASM.JS, removing Spine ASM.JS library from Web and WeChat game platforms
- Added support for DebugDraw
- Fixed memory overflow issue when using a large number of Spine instances, switched to using dynamic memory allocation mode
- Reduced memory usage of Spine in the editor (by 50%)
- Fixed offset issue when batching is enabled in Spine
- Fixed color update issue in Cache mode
- Fixed the issue where Effect cannot be selected in the material panel in some cases
- Fixed the problem of potential text truncation on certain platforms
- Fixed rendering issue caused by enabling text Shadow and switching scenes
- Fixed the semi-transparent pass effect of Hair effect
- Fixed compatibility issues with some effects
- Fixed the display thickness issue of Toon material on Vulkan
- Fixed material compilation issue in Vulkan debug mode on certain devices
- Fixed Android Gradle plugin version
- Fixed the issue where iOS initially shows the alphabetic keyboard before switching to the numeric keyboard when entering numbers in Editbox
- Fixed the issue where modifying effects may cause the material panel to be unable to select effects
- Fixed the problem caused by undoing the removal of Label in the editor
- Fixed the issue where undoing un-prefabbing is not possible
- Fixed editing experience issue in Widget Inspector
- Fixed errors when creating certain assets (render textures, shader fragment resources, auto-atlases)
- Improved editing experience in asset inspector panel
- Fixed the potential exception when cutting and pasting a node onto itself
- Fixed the issue where additional nodes attached to prefabs may experience exceptions when updated to resources
- Fixed the misalignment issue of HingeConstraint on iOS
- Fixed the issue where the mipmaps switch for texture compression and the generation of compressed textures for atlas resources were not functioning properly
- Fixed the instability issue in serialization of Image resources after texture compression
- Fixed the potential error of empty previewer in animation graph preview panel
- Optimized memory growth issues in some parts of the editor
- Fixed the potential error when modifying task names in a new task
Key Updates
Custom Pipeline Integrated with Post-Processing Effects
In version 3.8, we have completed the transformation of the engine-builtin Custom Pipeline using RenderGraph. On one hand, it serves as an example for RenderGraph, and on the other hand, it acts as an experimental ground for our standard Forward Pipeline. In this version, we have integrated several core post-processing features and basic post-processing effects into the Custom Pipeline listing below:
- Anti-Aliasing: FXAA & TAA
- Disable TAA
- Enable TAA
- Super Resolution: FSR
- Disable FSR
- Enable FSR
- Ambient Occlusion: HBAO
- Bloom
- Custom Color Grading
- Disabled
- Enabled
Starting from 3.8, we recommend projects that require post-processing effects to switch to the Custom Pipeline. You can refer to the documentation for instructions on enabling the pipeline and the instructions on how to enable the post-processing effects. There is also a custom pipeline sample project to learn how to use them.
Render Graph and Compute Shader
The Render Pipeline customization based on Render Graph will be officially available to developers in version 3.8. It will support the implementation of engine builtin Custom Pipeline and the Deferred Pipeline. Compute Shader capabilities is also officially available with Render Graph, it supported the clustered light culling pass in the Deferred Pipeline.
The documentation for the Render Graph and pipeline customization is not yet ready, please give us more patience, we will provide the complete documentation before the official release of 3.8.
Google Play Games on PC Platform Support
At this year’s Google IO conference, Google Play Games on PC and the large-screen experience received significant attention as Android platform updates. Google has recognized Cocos as the recommended game engine for adapting to the Google Play Games on PC platform and the recommended game engine for the large-screen experience. There are already many well-known Cocos games published on the platform on their own. While for others, we will support Play Games on PC starting from version 3.8, you only need to select the x86 architecture and the InputSDK option when building for Android to meet the platform requirements of Google Play Games on PC.
Editor Updates
- Model Import Workflow
- Automatic LOD Generation
- Vertex Color Fill Option for Model Import
- Asset Bundle
- Bundles can be built individually, and the build panel supports selecting bundles to be built
- Bundle configuration supports filtering, providing more control over the granularity of bundle resources
- Optimized platform settings for bundle configuration
- Bundles can be built individually, and the build panel supports selecting bundles to be built
- Support for executing Make or building only bundles separately through the stage parameter when building from the command line
Rendering Algorithm and Material Updates
-
Skin Effect
-
Eye Effect
-
Leaf Effect
- Support for pre-baked simulation animations (rigid bodies, fluids, cloth, etc.) exported from Houdini (VAT) & Zeno
- Reflection Probes support Blend
- Without Blend
- With Blend
- Without Blend
These features can be found in the following sample projects:
Physics and Animation
- Constraints: New ConfigurableConstraint component, show cased in a cartoon style driving demo
- Constraints: Hinge with new axis driving and rotation range limit
- New character controller component: sample scene
- New sweep collision detection
- Animation graph: Introducing pose graph
- Animation graph: Introducing auxiliary curves
- Animation graph: Transition interruption functionality removed, replaced with support for multiple transitions
- Animation graph: Added several different types of condition bindings to value conditions: weight binding, animation time binding, and auxiliary curve value binding
- Support for dual-bone IK
Baker Updates
- LightFX added Blur pass (default enabled)
- LightFX supports material AlphaCulloff
- LightFX supports shadow saturation
2D & UI
- High-definition Label
- 2D Renderer Refactoring
- Spine Web & Native runtime and API unified
- Spine runs on platforms like WeChat mini-games and Web using WebAssembly
Breaking Changes
- Gradle upgraded to 8.0.2, AGP upgraded to 8.0.2. JDK needs to be upgraded to JDK 17. Also, upgrade Android Studio to 2022.2.1.
- Underlying logic adjustments for text, users who deeply customize label component capabilities to the assembler layer need to migrate customization capabilities to TextProcessing, with no impact on upper-level effects.