Cocos Creator 3.8.5 forum version [12.04]

This release focuses on package size reduction, rendering pipeline improvements, and editor usability, alongside extensive bug fixes and platform compatibility enhancements.

  • Continuous package size optimization:

    • 2D empty project (default settings): Reduced by 360 KB.
    • 3D empty project (default settings): Reduced by 384 KB.
    • 2D project with essential modules (UI, Spine, audio, WebGL2 only, and wasm Brotli enabled): Reduced by 200 KB.
  • Rendering pipeline improvements: Added support for PipelinePass in the new pipeline.

  • Added support for HarmonyOS Next API12.

  • Manual Wasm module loading:

    • Enabled manual loading of Wasm modules. Requires the editor option to be checked. Developers must ensure necessary Wasm modules are loaded before use.
    • Corresponding API: loadWasmModuleXXX (where XXX represents the module name). Detailed API names are available in the linked PR. Documentation will follow.
  • Platform support:

    • Google Play: Initial support added (not yet complete, to be finalized in future community releases).
    • Migu Platform: Added support.
  • Editor improvements:

    • Updated Electron version, enhancing performance.

2024.12.04

Download Links

Release Note

Engine

Bug Fixes

  • Fixed the issue where touchEvent.getUIDelta returned incorrect delta values on native platforms. PR
  • Fixed a memory leak issue on macOS when autorelease type NSObject objects were used with gfx threading disabled. PR
  • Fixed the white screen issue with WebGPU in Chrome. PR
  • Fixed abnormal lighting under InstancingBuffer. PR
  • Optimized the execution logic for custom pipelines on the web platform. PR
  • Fixed an issue where InstancedAttribute did not support non-float formats on native platforms. PR
  • Fixed a resource release issue on native platforms where scene markers of autorelease type failed to release old scene-related resources after switching scenes. PR
  • Fixed a display issue with LightProbe introduced in version 3.8.5-beta0. PR
  • Fixed an issue with Tonemapping in version 3.8.5 where the viewport size was incorrect during screen rendering. PR
  • Fixed a memory leak issue in native scenes in version 3.8.4. PR
  • Fixed an error in Taobao Mini Games’ sound-loading test case introduced in version 3.8.5-beta0. PR
  • Fixed a module loading issue in Taobao Mini Games during startup, introduced in version 3.8.5-beta0. PR

Editor

New Features

  • Support google play build target.

Bug Fixes

  • Fixed a bug causing abnormal error messages when opening a project.
  • Fixed a bug where preview clicks in the editor were misaligned when the window scaling was not set to 1.
  • Fixed a bug where the localized editor could not be used.
  • Fixed a bug where imported resources in the Assets panel were not refreshed.

2024.11.19

Download Links

Release Note

Engine

New Features

  • Added functionality for manually loading Wasm/AsmJS modules to improve initial scene load speed. PR.
  • node.setSiblingIndex now supports negative indices, enabling reverse indexing of child nodes. PR.
  • Added support for PipelinePass in the new rendering pipeline, allowing effects like post-processing through component additions. PR.

Optimizations

  • Package size reductions:
    • Removed unused Web platform GFX layer code and applied Terser compression to shorten internal property lengths. PR.
    • Enabled “inline enums” and “private property compression” for engine code. Internal properties marked with a ` suffix are compressed in the build process.
    • Spine module optimized, reducing size by approximately 40% compared to v3.8.4.
    • Declared ts class constructors explicitly to avoid generating unnecessary code. PR.

Bug Fixes

  • Fixed an issue where receiving WebSocket messages on Android when switching to the background or covered by other activities caused JNI crashes. PR.
  • Resolved an issue with the character controller not triggering onControllerTriggerEnter. PR.
  • Fixed raycast errors in the Bullet engine. PR.
  • Resolved raycast issues in Box2D caused by inconsistent object masks. PR.
  • Addressed memory leaks in Bullet physics. PR.
  • Fixed hot update UI freezing when handling a large number of files. PR.
  • Additional bug fixes:
    • UiOpacity issues on Web and Native platforms.
    • ScrollView frequent object creation problems.
    • Crashes on Android from repeated game entry/exit.
    • Incorrect mesh instanced attribute handling for INT type attributes.

Editor

New Features

  • Added a “View/Select” Gizmo mode to the scene view.
  • Enabled mouse wheel to adjust base roaming speed in camera roaming mode.
  • Clipping module now supports linked flags, such as manual loading of Spine.
  • Preview support for prefabs and Spine components in the property inspector.
  • Upgraded the Electron version to 31.3.1 for better performance.

Optimizations

  • Improved drag-and-drop and UI indicators in the hierarchy manager to reduce misoperations.
  • Enhanced scene view selection logic for prefabs:
    • First click selects the prefab root node.
    • Subsequent clicks prioritize the target point and gradually select upward.
  • Improved tooltip effects in the property inspector.
  • Smoothed camera zoom effects in the 3D scene view.
  • Optimized script-heavy projects to reduce wait times after modifications.

Bug Fixes

  • Fixed an issue where auto-atlas compression left unused original textures.
  • Resolved problems with frame selection of 2D nodes in the 2D view.
  • Addressed prefab-related issues in the editor, including nested prefab modifications causing node loss.
  • Fixed property inspector issues with nested array deletion affecting outer layers.
  • Improved project build prompts for scripts, engines, and native simulators.
4 Likes

That looks pretty good, team!
One question from my side is regarding the Google Play support. Could you kindly expand on that topic and what features you would be supporting?

Sure, it includes:

  • a build target for google play
  • better large screen & foldable support
  • google play API support
1 Like

Thanks so much for the answer! Looking forward for this update.

  • google play API support → Such support will be possible to be done without the need to tweak the native project?

is it possible to add custom editor themes? I saw somewhere in between lines, editor already reads a “theme” file. If you could add a feature to read custom theme files, users can customize the looks of editor.

Good idea, but I must say sorry, this feature isn’t supported at the moment.

Sorry, what is said google play api is something like paying API. You can invoke pay API in typescript.

1 Like

I’ve just experienced a potential bug of 3.8.5
Executing these 2 simple lines of code

    const testVec3 = v3(0.0058, 0.011, 0.001);
    console.log(`testVec3 = ${testVec3} // toString=${testVec3.toString()} // JSON.stringify=${JSON.stringify(testVec3)} // x,y,z = ${testVec3.x}, ${testVec3.y} / ${testVec3.z}`);

I got this result

testVec3 = (0.01, 0.01, 0.00) // toString=(0.01, 0.01, 0.00) // JSON.stringify={"x":0.0058,"y":0.011,"z":0.001} // x,y,z = 0.0058, 0.011 / 0.001

It made me confused a while & thought my code has bug but finally found that logging a vec3 out to console had a problem. Did I misunderstand Vec3 or is it a bug?

I think it’s a bug of toString method in vec2/3/4.ts .
They override the toString method and invoke toFixed for each element.

public toString (): string {
    return `(${this.x.toFixed(2)}, ${this.y.toFixed(2)}, ${this.z.toFixed(2)})`;
}

I will try to fix the issue in v3.8.6.

1 Like

It was fixed at

Thanks for your report.

1 Like

@zhangxm @dumganhar Do we have a release date for v3.8.5? We are aiming to implement the payment system for our game in our next version and we would be very eager to use the feature.

It is planned to be released on 12.27.

1 Like