Hello, everyone. The first forum version 3.8.7 has been prepared. You can try it out when you have time. The following are the main updates of this forum version.
engine
New Features
Sorting Layer reuses the 3D rendering layer definition panel. You can configure the Sorting Layer list in “Project Settings” → “Sorting Layers”. The priority of Sorting Layer is higher than Sorting Order. Sorting Order is an integer, with a default value of 0 and a value range of -32768~32767. For the same layer, the lower the Sorting Order value, the earlier it is rendered.
Note: When a Mask renderer is encountered in the 2D rendering queue, all renderers in the current 2D rendering queue will be executed immediately.
- Add Global Uniform support. PR PR PR PR
- Add module conditional control function. PR
- Add a semi-transparent background to the lower left corner of the Profile panel. PR
- Add Global Uniform settings interface for new pipelines. PR
- Add Tween.bindNodeState(v: boolean) interface to control whether the pause/resume/stop state of Tween is automatically associated with the active/inactive/destroy state of Node. The default is to associate. Pass false to disable the association .
- Added animationStates getter for AnimationManager: PR
- Add Profiler.setBackgroundColor API: PR
- Add Profiler.setFontColor API: PR
- You can choose to merge AnimationClip files when building, reducing the number of files and improving loading speed: PR
optimization
- Synchronize the latest changes of Spine repository 3.8 branch. PR
- Add Spine wasm build documentation. PR
- Binds some missing properties for Spine 4.2. PR
- Builds no longer output .cconb binary files, all use .bin extension. PR
- The command to compile the simulator supports generating simulators for Spine 3.8 or Spine 4.2. PR
- Improve preview inspector: PR
- All platforms use cconb format instead of ccon format, reducing the number of files and increasing loading speed: PR
- Add environment condition judgment for XR and vendor-google: PR PR
- Implement tooltip description for ModelBakeSettings: PR
- Remove unused property UIRenderer._renderDataFlag: PR
- Optimize Rich Text package size: PR
- Optimize the adaptation layer code integration method of Alipay Mini Games: PR
Bug Fixes
- Fixed floating point comparison issue: PR
- Fix most UIOpacity issues on native platforms, and optimize the logic of synchronizing local transparency to native side: PR
- Fixed rendering anomalies in Spine caused by improper use of rotation: PR
- Fixed 3D particle effect errors when using compressed textures: PR
- Fix possible out of memory (OOM) issue in Spine runtime on Web platform: PR
- Fix emsdk cache error in CI: PR
- Make preview zoom consistent with the scene: PR
- Fixed unbound b2ChainShape::m_vertices and b2PolygonShape::m_vertices/m_normals properties in Box2D-JSB: PR
- Rollback maxKnownFeatureSet on iOS 12.0: PR
- Fixed memory leak caused by unregistered event after component removal: PR
- Fixed the crash caused by getViewSize call on Android platform: PR
- Fixed the issue of getting outdated systemInfo in ByteDance platform’s ‘onWindowResize’ callback: PR
- Fixed the issue where sprites could not be batched dynamically in tile rendering mode: PR
- Update libVersion value in WeChat template: PR
- Fixed a possible crash on HarmonyOS-Next platform when frequently hiding/showing windows: PR
- Prefab preview supports switching function: PR
- Fixed the problem that rt texture sprites cannot be batched: PR
- Add UITransform component dependency for rich text: PR
- Remove the code that queries the autoatlas when setting the SpriteFrame: PR
- Fixed an issue where node replicas with mounted children were ignored when instantiating: PR
- Fixed the issue that deleting the spine resource used in the editing scene may cause JS exception: PR
- Add stricter renderdata validity checking code: PR
- Fixed a memory leak issue caused by using the old pipeline on native platforms when starting up: PR
- Fixed the problem of incorrect initial size when converting C++ std::vector and std::vector to JS Array when using physx physics backend on native platforms: PR
- Fixed the issue that the Profile cannot take effect when compiling the release package in the new pipeline: PR1 , PR2 , PR3
- Remove unnecessary Global Uniforms for copy-pass.effect: PR
- Fixed the memory leak issue caused by using ARK Runtime on HarmonyOS Next platform: PR1 , PR2
- Fixed the range error of csmTransitionRange property of parallel light component: PR
- Fixed GPU instancing sorting issue: PR
- Fixed the issue that Camera.convertToUINode cannot take effect in the start callback: PR
- Fixed the issue that Spine 4.2 TrackCompleteListener cannot receive callbacks, and Spine 3.8 TrackCompleteListener can only be called back once for different animations. Since the Spine 4.2 C++ code adjusted the enumeration value of spine.EventType, Spine 3.8 synchronized the corresponding changes of Spine 4.2 enum, which caused the TS layer to also need to be adjusted. This change destroyed the compatibility of the spine.EventType enumeration value. If the project directly uses
数字
EventType instead of using the enumeration spine.EventType.dispose/complete, then corresponding adjustments need to be made. It is recommended not to use it directly数字
to avoid compatibility issues later: PR - Fix compilation error on iOS/macOS caused by Xcode 16.3: PR
- Fixed the issue that bullet wasm failed to bind the CollisionShape_getLocalBoundingSphere interface: PR
- Fixed Box2D JSB missing binding of normalImpulses/tangentImpulses properties: PR
- Fixed the issue where preloading Texture2D or SpriteAtlas failed: PR
- Fixed the crash caused by destroying nodes with sp.Skeleton components in schedule callback on native platforms: PR
- Add forceUpdate parameter to Renderer.setSharedMaterial to solve the issue introduced in 3.8.6 where the same material object is not updated when passed: PR
- Fixed the issue that preload failed to load Texture2D and Altas resources: PR
- Fixed the crash caused by loading jpeg image resources exported by spine on native platforms: PR
- Fixed the C++ layer memory out-of-bounds crash issue caused by disabling 2D particle nodes on native platforms: PR
- Fixed the issue with no code hints for Google Play API: PR , PR
- Fix the logic exception of physics-contact.ts in box2d-wasm/box2d-jsb backend: PR
- Fixed the issue that the DragonBones module was not checked and an error occurred when running in the simulator: PR
- Fix issues related to file reading on HarmonyOS Next platform: PR
- Fixed the issue that Spine setTrackEndListener cannot be called back normally: PR
Editor
New Features
- Added a new [User Feedback] panel, which can be launched through [Menu-Help-Feedback]. If you have any comments or suggestions, you can also give feedback here.
- Tik Tok platform supports engine separation
- Build support for cconb merging of animation files, which can reduce the number of animation files and optimize loading speed. It can be enabled in the build configuration
- When the hierarchy manager displays nodes, nodes with user scripts will be displayed with icons
optimization
- Added a new lab option “Restore database from cache when starting the editor”, which is enabled by default. The option is disabled by default when the project is upgraded for the first time. After that, the project will be opened directly to restore the memory data from the cache without re-importing it. This can conservatively improve the resource import time by about 75%. The larger the project, the more obvious the effect. If you encounter any problems after enabling it, you can report them to us on the forum, or you can temporarily turn off the option to bypass it.
- Build configuration panel supports dragging configuration properties to display width
- Optimize the usage of UUID search in the resource manager to support all resource type queries including the dependencies between scripts
- Adjust the shortcut key prompt logic for adsorption and camera roaming
- Improve Spine and prefab preview functions
- Added prefab preview switch to the lab
- Optimize 2D view scrolling speed effect
- Optimize the logic of the central axis line
- Adjust the z-axis of the blue box of the position gizmo so that it is detected first to reduce the possibility of misoperation
- quick compile compiles the module and automatically removes the modules that are not supported by the corresponding platform macro
Bug Fixes
- Fixed the issue that when the web platform’s Bundle package path contains special symbols, checking md5 build will cause an error
- Fixed the issue that command line bundle building may fail with Invalid bundle options error
- Fixed the issue that the default import configuration of resources modified in editor preferences will become invalid after restart
- Fixed the issue that loading resources when building an automatic atlas may result in an error
- Fix the resource address query interface of the result parameter in the build plugin hook function
- Fixed errors in building custom texture compression interface definitions and examples
- Fixed the issue that the custom resource database plugin cannot be displayed normally in the resource manager after restart
- Fix the error “operation not permitted” that may occur during the build process
- The compatible engine partially mounts attribute elements twice, causing the node to fail to obtain normally.
- Fixed the issue that when entering Orbit state by pressing alt + left mouse button, the selected object will be triggered when the mouse is lifted after releasing alt
- Fixed the issue that the simulator engine TS and C++ Spine versions are not compatible
- Fixed the issue where clicking on the editor preview to run a single step would cause the scene view to display incorrectly
- Fixed the issue that when previewing in the editor, there would be an error when processing deleted nodes
- Fixed the issue that when dragging material to set mesh, the mesh material will be assigned empty
- Fine-tune some editor UI components
- Fixed the issue where the preview in the editor could not be loaded after the bundle was renamed
- Fixed the issue where an empty scene is opened by default when running the editor preview
- Fixed the issue that the reference image cannot be operated when the original image of the reference image is deleted