Skip to content

Releases: layabox/LayaAir

LayaAir 3.3.3 Engine Library

29 Oct 08:20
3a72345

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

Engine

  1. Fixed a bug where setting transparency for Spine caused the model to turn black.
  2. Fixed a bug where reloading and adding a Spine after it was cleared would cause an error on the next frame.
  3. Fixed an issue where disabling fast rendering and having the Spine skeleton’s active state set to false would prevent it from displaying.
  4. Fixed a bug where child nodes remained invisible when the parent node’s initial alpha was 0.01 and later dynamically changed to visible.
  5. Fixed a bug where macros with different lengths caused passes to be incorrectly culled in multi-pass rendering.
  6. Fixed a bug where enabling post-processing caused parent containers to move along with scroll animations.
  7. Fixed a bug where setting coordinates for a Sprite3D object failed in certain situations.
  8. Fixed a display issue with ColorEffect2D under the 2D camera.
  9. Fixed a bug where masks could not be used inside a 2D region.
  10. Fixed a compatibility issue between old project primitive.shader templates and the new shadertype version.
  11. Fixed a crash issue on Android when applying 2D post-processing.
  12. Fixed a bug in the Native engine where the player’s ObjectFit parameter had no effect.
  13. Fixed a bug in the Native engine where the loop parameter for Android video playback did not work.
  14. Fixed a bug in the Native engine where the player and decoder autoPlay parameter was ineffective.
  15. Fixed a bug in the Native engine where websocket failed to receive error and close messages.
  16. Updated the websocket library for the HarmonyOS platform in the Native engine.
  17. Fixed an issue where UIConfig2.modalLayerColor setting had no effect.

IDE

  1. Fixed a bug where the sRGB checkbox state for default texture types was not saved correctly when premultiplied Alpha was enabled.
  2. Fixed an occasional bug in IDE local debugging where textures were missing in the automatic atlas.
  3. Fixed a bug where creating a new GButton and selecting TitleWidget could cause the editor to freeze when clicking the button itself.
  4. Fixed a bug in 2D physics where spherical colliders were incorrectly positioned after modifying anchor points.

New Features & Optimizations

  1. New: Added LayaExtInit in the Native engine for executing external interfaces before initializing OpenGL/D3D devices.

    LAYAEXTAPI void LayaExtInit(jsvm_env env, jsvm_value exp)
  2. New: Added zoom property to the 2D camera to support camera scaling.

  3. Optimization: Prevented self-dependency in IDE ScriptBundle definition configuration to avoid infinite loops caused by mistakenly dragging in itself.

  4. Optimization: Added fault tolerance handling for null values during 3D animation color transitions.

LayaAir 3.3.2 Engine Library

28 Sep 05:52

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

Engine

  1. Fixed an issue where Spine resources without width/height parameters could not be displayed
  2. Fixed a bug where Spine displayed abnormally after adding post-processing effects
  3. Fixed a bug where Spine displayed abnormally when lighting was enabled
  4. Fixed a bug where deserialization failed if a List’s Item template was a prefab
  5. Fixed a crash when repeatedly calling Laya.SoundManager.playMusic in WeChat Mini Games
  6. Fixed an issue where the slice component, when not slicing and value set to 1, would display abnormally due to async resource indexing
  7. Fixed a bug where setting the zIndex property on nodes with mask had no effect
  8. Fixed an issue where Graphics with semi-transparent color overlapped incorrectly when collapsed
  9. Fixed an issue where RadioGroup label margins at runtime didn’t match the effect in IDE
  10. Fixed a bug where enabling batching caused draw9GridTexture to render abnormally after publishing
  11. Fixed a bug where assigning a material to UI was ineffective
  12. Fixed a bug where the new UI List’s blank area mouseThrough property didn’t take effect
  13. Fixed a bug where, with startDrag method’s hasInertia set to true, objects would fly off after drag ended
  14. Fixed a bug where the new 2D masking system behaved abnormally when mask width/height was 0, or after adding then removing graphics
  15. Fixed a bug where music playback didn’t stop after pressing HOME on Android to leave the browser
  16. Fixed a bug where 2D camera and 2D region could not be dragged in edit mode
  17. Fixed a bug where 2D camera affected nodes that weren’t its children
  18. Fixed a bug where hidden disabled buttons still triggered events
  19. Fixed a bug where multi-selecting timeline keyframes with ctrl+shift+click only selected visible ones
  20. Fixed a bug where NavAgent navigation orientation didn’t match movement direction
  21. Fixed a bug with navigation component initialization order (agents initialized first caused surface initialization warnings/errors)
  22. Fixed a bug where Native package name and window title didn’t use the IDE config’s display name
  23. Fixed a bug where PBR material displayed abnormally in Native builds
  24. Fixed Native PBR rendering errors

IDE

  1. Fixed an issue where setting box width/height to 0 in IDE resulted in auto-adapted size at runtime
  2. Fixed a bug where scaling sprite with shift in IDE didn’t scale proportionally if pivot wasn’t centered or initial value
  3. Fixed a bug where removing scrollbar from old UI Tree didn’t update scene editor view
  4. Fixed a bug where rapidly starting/stopping preview caused errors
  5. Fixed a bug where 3D rigid body shape changes in editor couldn’t be undone
  6. Fixed a bug where SpotLight2D in IDE had positional offset when lighting 2D mesh

Additions & Optimizations

  1. Added: Native Android support for 16KB page size
  2. Added: Auto atlas feature now loads in atlas form during preview (instead of scattered textures), improving preview-publish consistency. Also supports manually loading auto atlas (file extension must be .atlas).
  3. Added: FBX import option “Add Root Node” (checked by default to preserve previous behavior of adding an empty root). Can now uncheck to avoid extra root node.
  4. Added: Several usability improvements to UIGroup (subclasses Tab and RadioGroup)
    1. Added auto line wrapping switch lineWrap based on child width/height, and auto-adapt parent size when not wrapping
    2. Added line spacing control lineSpace
    3. Added label overflow mode labelOverflow
    4. Added vertical alignment mode labelVAlign
  5. Added: RadioGroup new options fitContent for auto-sizing to text, and labelFixedSize for fixed label size when not auto-sized
  6. Added: recoverAllRTS() to recycle all render targets used by post-processing effects
  7. Added: Return value for Laya.loader.loadPackage to indicate success/failure
  8. Added: Support for VideoNode.currentTime and reload in LayaAir Native
  9. Added: Support for WebP image format in LayaAir Native
  10. Optimized: Tree component now scrolls automatically when child items exceed width/height
  11. Optimized: When creating IDE projects from local templates, .laya files in template are ignored and regenerated automatically
  12. Optimized: Updated StatUI show method to accept position parameters (thanks to Geequlim)
  13. Optimized: Simplified AnimatorState.isLooping logic (thanks to Geequlim)
  14. Optimized: Added shader type validation when assigning materials — prevented 2D properties on 3D materials and vice versa, avoiding runtime errors
  15. Optimized: Improved FPS logic for smoother rendering refresh

LayaAir 3.2.8 Engine Library

13 Oct 10:42
c9b5b60

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

  1. Fixed a bug where destroying a Spine object did not release video memory, causing VRAM accumulation.
  2. Fixed a bug causing animation memory overflow.
  3. Fixed a bug where after setting the 2D rigid body angular velocity or setting the rigid body gravity scale to 0, the rigid body would still fall and rotate.
  4. Fixed a bug on Windows where button text did not scale when the window was enlarged.
  5. Fixed a bug where enabling fast rendering mode in IDE preview for Spine caused an error.

New Features

  1. Added: Text/Label now has a Single Character Rendering property. When enabled, characters with the same glyph and font size will share a single global cache, useful for dynamic text. This avoids memory and performance overhead caused by generating a large number of text atlases when text content is frequently updated.
  2. Added: FBX model file import option now includes an Add Root Node property, which is enabled by default. Previously, an empty node was automatically added as the root when importing models. Users can uncheck this option to avoid generating an extra root node.

LayaAir 3.3.1 Engine Library

23 Aug 06:56

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

Bug Fixes

Engine

  1. Fixed the bug where video textures could not be used in the native-windows installer package.
  2. Fixed the bug where post-processing effects were incorrect when using openGL in the native engine.
  3. Fixed the bug where looped background music in the published Android apk only looped a small initial segment.
  4. Fixed the bug where volume settings were ineffective when replaying background music.
  5. Fixed the issue of incorrect pixel color picking in Alipay Mini Games.
  6. Fixed the bug where 2D post-processing glow effect caused UI position offset.
  7. Fixed the bug where 2D post-processing effect was oddly cropped on real devices.
  8. Fixed the bug where dynamically added nodes with 2D post-processing did not display content on the stage.
  9. Fixed the bug where child nodes appeared incomplete when parent node had 2D post-processing applied while children were skewed.
  10. Fixed the bug where removing a 2D node caused post-processing effect errors.
  11. Fixed the bug where stage scaling caused incorrect coordinates in 2D physics raycasting.
  12. Fixed the reference count bug in spine component (Spine2DRenderNode) mesh.
  13. Fixed the bug where spine animation opacity could not be modified in real-time.
  14. Fixed various rendering anomalies caused by memory cleanup or other issues in spine animations.
  15. Fixed the bug where switching spine resources could cause VRAM overflow.
  16. Fixed the bug where resetting the source of a playing spine and delaying play caused errors.
  17. Fixed the bug where sprite matrices used in spine did not include anchor offset (after fix, sprite's (0,0) is always the origin, following sprite position).
  18. Fixed the bug where timeline animations triggered events that were not reached.
  19. Fixed the bug where 2D timeline animations could not loop.
  20. Fixed the bug where animations with total frames less than FPS would stutter.
  21. Fixed the bug where looping animations shorter than 1 second would stay on the last keyframe until 1 second.
  22. Fixed the bug where parent node alpha did not affect masked child node alpha.
  23. Fixed the bug where Laya.Scene.gc() could not clear resources.
  24. Fixed the bug where Area2D offset caused mouse detection area to misalign with original UI position.
  25. Fixed the bug where program blueprints overlapped when copied.
  26. Fixed the bug where 2D particles with Simulation Space set to world mode emitted from incorrect positions.
  27. Fixed the bug in classic UI system where repeatedly copying a panel container and changing scrollbar type caused incorrect scrollbar type values.
  28. Fixed the bug where drawing rounded rectangles with rotated nodes resulted in straight corners.
  29. Fixed the display bug of graphics drawCircle when scaled.
  30. Fixed the bug where setting a 2D camera as main camera caused 2D physics collision shapes to be offset.
  31. Fixed the bug where 2D rigidbody circular collision shapes displayed anchor at (0,0).
  32. Fixed the batch processing anomaly of UI material.
  33. Fixed the bug where text components on mobile devices with width over 2048 were not fully displayed.

IDE

  1. Fixed the bug where tileMap edges could not be edited in IDE viewport when zoomed in.
  2. Fixed the bug where modifying tileMap in prefabs could not be dragged and edited in scene.
  3. Fixed the bug where alternative tiles created by tileMap had incorrect flipping.
  4. Fixed the bug where 2D physics helper lines displayed incorrectly at resolutions other than 100%.
  5. Fixed the bug where ogg resources could not be dragged into audio nodes.
  6. Fixed the bug where 2D shader changes did not immediately take effect in the scene.
  7. Fixed the bug where objects with masks could not be hidden by clicking the eye icon in scene editor.

New Features and Optimizations

  1. Added: Refactored the statistics system. IDE now supports customizable statistics display and engine provides interfaces for custom statistics. Developers can freely choose what to display and organize.
  2. Added: 2D DrawCall auto-optimization feature.
    1. The new 2D system supports dynamic batching: consecutive elements meeting certain conditions (e.g., from the same atlas, same material) are automatically merged into a single DrawCall (DC).
    2. LayaAir will adjust objects with the same material to consecutive rendering order without changing final display, allowing dynamic batching. This adjustment is transparent to developers.
    3. Enabled via node property DrawCallOptimize; all child and grandchild nodes of the node will be automatically merged. Note: when element count exceeds ~500, CPU usage may increase.
  3. Added: Text/Label (classic UI)/GTextField (new UI) has a "single-character rendering" option. When enabled, identical characters of same size share one cache globally, reducing memory and performance overhead for dynamic text.
  4. Added: Sprite now has zIndex property to control rendering order. Higher zIndex renders on top. By default, this order is global. When stackingRoot = true, zIndex only affects internal rendering order.
  5. Added: Classic UI layout containers HBox/VBox now support autoSizeMode and skipHidden options for automatic layout.
  6. Added: 3D scene viewport coordinate axis widget with quick keys for front, back, left, right, top, bottom views (Ctrl+Shift+1 to Ctrl+Shift+6).
  7. Added: Timeline panel now supports selecting all keyframes vertically below the clicked frame when holding Ctrl+Shift.
  8. Added: TileMap can now be dragged with middle mouse button for editing.
  9. Added: TileMap editing now supports Ctrl+Z undo and Ctrl+Y redo.
  10. Added: Third-party TiledMap exports now support CSV format.
  11. Added: Audio resources can be dragged into the hierarchy panel to create audio nodes directly.
  12. Added: Blueprint panel now supports custom shortcuts; developers can assign keys to frequently used panels.
  13. Optimized: Blueprint materials now support Chinese.
  14. Optimized: Animation state machine parameter panel now uses input fields for parameter names, avoiding confusion about editing.
  15. Optimized: Refactored native engine audio playback.
  16. Optimized: Improved list and panel component property panel display in IDE.
  17. Optimized: Refactored 2D physics helper lines to no longer depend on Line2D library, avoiding errors when Line2D is not checked.
  18. Optimized: Native installer now prompts network error if no connection on startup.

LayaAir 3.3.0 Engine Library

05 Aug 06:10
e050030

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

Engine Updates

New Features

  1. Added 2D navigation pathfinding components, such as static navigation surfaces and agent pathfinding.
  2. Added 2D lighting and shadow components, including directional light, sprite light, free-form light, spotlight, and light occluder.
  3. Added 2D renderer components, such as mesh, trail, line, and tilemap layers.
  4. Added a 2D particle system.
  5. Added 2D camera.
  6. Added 2D area node.
  7. Added full support for 2D custom shaders. Previously, only custom materials were supported in 2D.
  8. Added brand-new tile map; the old TiledMap is now deprecated and not recommended, but still temporarily compatible.
  9. Added Windows platform custom extensions. Developers can use LayaAir's extension tools to generate dynamic libraries to extend project functionality, such as Steam integration.
  10. Added 2D global lighting properties: lightDirection, ambientColor, ambientLayerMask, multiSamples, order, antiAlias, lightMode, sceneMode, and shadowDistance.
  11. Added normal map support (normalTexture) for 2D mesh renderer.
  12. Added position property setting to 2D physics rigid bodies.
  13. Added Additional rendering architecture supporting material batching based on BaseRender. Material batching reduces draw calls and improves GPU performance by merging render data for objects sharing the same material.
    Example: Two hundred spheres with different colors rendered with only one draw call.
  14. Added support for Spine 4.2 runtime library, allowing physical properties on Spine animations.
  15. Added get position and get rotation for 2D rigid bodies, with coordinate conversion from world to local space.
  16. Added mixed layout of text and frame animation, e.g. <img src='animation.atlas'>.
  17. Added percent property to graphics.drawCircle.
  18. Added compound colliders and sleep detection for 3D physics.
  19. Refactored 2D rendering with a brand-new architecture. Static graphics performance increased by over 200%, dynamic graphics by over 50%.
  20. Added zIndex optimization. In a test with 4000 composites and 12,000 sprites, FPS improved from 4 to 60.
  21. Added material UBO-based instance batching, enabling batching even with many variables (Note: requires platform UBO support).
  22. Added 2D post-processing effects.

Feature Optimizations

  1. Refactored the Tween system:
    • Compatible with Laya.Tween.to / Laya.Tween.from, but new Tween() is no longer supported.
    • Supports number, Vector2/3/4, Color, Point, and string color values.
    • Lightweight Tween objects, no reuse by default to avoid confusion.
    • Avoids using Handler to prevent handler reuse issues.
    • Supports richer options and serial/parallel tasks.
  2. Optimized 3D UI with camera-locked mode, suitable for VR UIs.
  3. Further modularized the engine library for minimal builds, helpful for ad demos.
  4. Optimized particle compilation with mulShaderDefineMode setting in ShuriKenParticle3DShaderDeclaration.
  5. Refactored 2D sequence frame player Animation, simplified interface, added new component FrameAnimation.
  6. Improved WebGL performance under Native.
  7. Improved new UI system: image components now support flipping, fill progress, circular clipping, etc.
  8. Added a Gears button to control visibility in the new UI system.
  9. Added release-time cleanup for GTextField and GLoader in the new UI system.
  10. Added GMovieClip to the new UI system.
  11. New UI system now fully supports multi-language (i18n).
  12. Fully refactored and open-sourced mini-game adaptation libraries across platforms.
  13. Optimized blueprint database with many missing classes/functions added; trimmed during release to reduce size.
  14. Refactored Native JS/C++ interaction layer, removed redundant call paths, significantly improved rendering performance.
  15. Added mutual masking disable & warnings to prevent display issues.

IDE Updates

New Features

  1. Added a new UI system with architecture similar to FairyGUI.
  2. Added visual editing for 2D navigation pathfinding.
  3. Added visual editing for 2D lighting and shadows.
  4. Added visual editing for 2D particle system.
  5. Added template creation for 2D custom shaders - basic rendering.
  6. Added visual editor for new TileMap (old TiledMap not supported).
  7. Added Linux build process and UI.
  8. Added definitions for 2D render layer names.
  9. Added global settings for 2D lighting in project settings.
  10. Added options in engine modules to support both traditional LayaAir UI and FairGUI system, along with modular engine components.
  11. Added blueprint support for new UI system.
  12. Added support for importing maps (tsx, tmx, tx) made in third-party TiledMap editor into LayaAir3-IDE, auto-converted to internal tileMap format (tres).
  13. Added terrainSets accessor in TileSet to define tile connection rules for automatic terrain stitching.
  14. Added animation property support to sprite atlases; a regular atlas can now become an animated resource.
  15. Added addMenuItem API as an alternative to @menu decorator, supporting default handlers:
    Editor.extensionManager.addMenuItem("Hierarchy/MyPrefab/Button", null,
        { id: "67b6743c-3e75-446c-bdf2-8d1c4e320062" });
  16. Added WASM subpackage support in split modules.
  17. Added stat info toggle in preview panel.
  18. Added source map protection in preview server (enabled by default).
  19. Added support for single-page HTML publishing with compression.
  20. Added prefab replacement function in node menu, keeping same name and matching property types.
  21. Added right-click on property title in inspector to copy, paste, or reset property.
  22. Added 2D post-processing effects (replaces filters; old filters still usable via code).
  23. Added project config for UI system.

Feature Optimizations

  1. Optimized 3D render layer name definitions.
  2. Hid unconfigurable properties in 2D particle editor.
  3. Added auto-import for 2D line renderer library.
  4. Optimized new UI system.
  5. Enhanced menu shortcut customization with dynamic key binding.
  6. Hierarchy panel now shows image thumbnails for Image and GImage nodes.
  7. Improved appearance and positioning of drawing-related buttons.
  8. Unified 2D and 3D physics usage:
    • Removed 2D collider component; now added to rigid body.
    • Added static collider for static bodies.
    • Rigid body no longer supports static type directly.
  9. Optimized showall mode to avoid canvas overdraw on PC browser zoom-out; adjusted full mode to prevent UI clipping.
  10. Exposed animation state machine events (OnStartEnter, EVENT_OnStateUpdate, EVENT_OnStateExit, EVENT_OnStateLoop) for better animation logic control.
  11. Centered prefab preview display for better visibility even if origin is offset.
  12. Improved new UI system with quick prefab creation entries under Tools menu (usable for plugin UI too).
  13. Optimized WebIFrame class in plugin system to avoid reload on tab switch.
  14. Fully refined the FairyGUI-based new UI system.
  15. Optimized blueprint system for better stability and usability.

LayaAir 3.2.7 Engine Library

30 Jun 03:37
ef80b4e

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

Engine

  1. Fixed a bug where the Box2D wasm version could not be used in Android installation packages.
  2. Fixed a bug where destroying unused resources would prevent button state switching.
  3. Fixed a bug where s_Blend set to 2 conflicted with s_BlendDstRGB, causing native Android crashes.
  4. Fixed an issue where moving the camera to follow a moving object in physics caused jittering.
  5. Fixed an error in time update calculation when 3D physics steps were greater than 0.
  6. Fixed an error in parsing render states of 3D materials.
  7. Fixed a memory overuse bug in Spine animations caused by multiple bones and multiple animations.
  8. Fixed the issue with text ellipsis in Text.
  9. Fixed a bug where HttpRequest.send() in the Edge browser sometimes concatenated headers incorrectly.
  10. Fixed an issue when adding scenes with multiple character controllers.

IDE

  1. Fixed an issue where modified custom type objects registered in scripts did not refresh promptly in the IDE.
  2. Fixed a stack overflow bug when the camera's RenderTarget color format included an Alpha channel.
  3. Fixed a bug where the alignment function did not consider the pivot.
  4. Fixed an issue where selecting nodes from the hierarchy panel did not preserve selection order.
  5. Fixed incorrect key-value pairs in the WeChat publishing description file.
  6. Fixed an issue with right-click menu search positioning in the blueprint editor.
  7. Fixed a bug where files with spaces could not generate thumbnails.

New Features and Optimizations

  1. New: Added support for publishing as a single-page HTML file.

  2. New: Optimized physics simulation update and added isGrounded method for 3D character controllers to get ground state.

  3. New: Added support for compressed texture publishing on platforms like Alipay and Taobao for iOS.

  4. New: Added support for setting width and height by percentage when filling textures in 2D drawing.

  5. Optimization: Changed connstant in startRotationConstantSeparate of 3D particles in the IDE property panel to use degrees (still in radians in code).

  6. Optimization: Improved event dispatching for physics components.

LayaAir 3.2.6 Engine Library

29 May 11:00

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

Engine

  1. Fixed the bug with the initial anchor point of the 2D physics mouse joint.
  2. Fixed the issue with rendering element updates in the skybox renderer.
  3. Fixed the assignment bug of the camera's SkyRenderElement.
  4. Fixed the memory leak issue in particle effects.
  5. Fixed the crash bug when packaging for Android x86 architecture.
  6. Fixed the issue of certain nodes not displaying after Android packaging.

IDE

  1. Fixed the bug that caused a rendering error in the scene after closing a prefab in the IDE.
  2. Fixed the bug where the 3D particle shader template created in the IDE differed from the engine's built-in particle shader.
  3. Fixed the calculation error of joint line positions in 2D physics when a rotation value is set on a node.
  4. Fixed the bug where a gear joint bound to a non-first joint of its node caused issues.
  5. Fixed the bug that caused errors when resetting IDE joint components (prismatic, motor, pulley, distance).
  6. Fixed the bug where the shader importer incorrectly added nullable=true by default when handling uniforms.
  7. Fixed the bug where Backspace could not delete keyframes on Mac.
  8. Fixed the error that occurred when selecting over a thousand images.
  9. Fixed the issue where an extra checkbox was shown in the material panel for custom shader scripts.
  10. Fixed the issue where shader.json was not recognized in Alipay mini games.

New Features and Optimizations

  1. Added: Support for changing the component addition order in the IDE.
  2. Added: Platform icons have been added to the build and publish interface for all platforms, making platform differences easier to identify.
  3. Optimized: Gear joints are now limited to binding with prismatic and revolute joints to prevent errors caused by incorrect joint types.
  4. Optimized: The initial rotation constants of the 3D particle system in the IDE are now input and displayed in degrees (still radians in code).
  5. Optimized: Added filtering for connected joint types in gear joints to enhance robustness.
  6. Optimized: Compressed the default skybox image size.
  7. Optimized: Export user-defined extension name conversion configurations to the engine during publishing.
  8. Optimized: Added a favicon to the IDE preview server.

LayaAir 3.2.5 Engine Library

28 Apr 08:58
7d95963

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG Fixes

Engine

  1. Fixed a bug where the dynamic Nav Mesh Modifier Volume became invalid due to incorrect bounding box min values.
  2. Fixed errors with 3D physics composite collider shapes, character controller friction settings, and incorrect PhysX method usage.
  3. Fixed a bug where using scrollRect with scaled Sprites caused incorrect globalToLocal calculations.
  4. Fixed the issue where camera viewport ray conversion did not take pixel ratio into account.
  5. Fixed the issue where modifying SkinnedMeshRender's LocalBounds value did not immediately redraw the bounding box wireframe.
  6. Fixed a bug where setting cacheAs caused an incorrect invertY state, leading to 3D-UI masks flipping when changing width and height.
  7. Fixed a bug where adding multiple instances of the same prefab under the same hierarchy with Spine effects caused filter effects to incorrectly affect other objects.
  8. Fixed a bug where background music set to loop in a packaged android-apk would only play once.
  9. Fixed a bug where the rendering order of certain 3D nodes in a packaged android-apk was incorrect.

IDE

  1. Fixed a bug where during IDE preview runtime, destroying a 3D rigidbody’s collider caused continuous fd_write errors, leading to a dead loop and IDE freeze.
  2. Fixed a bug where after animation baking, animation node names identical to prefab resource names were mistakenly recognized as resource paths, causing some mesh animations to be lost after publishing.
  3. Fixed a bug where after deleting a script in the runtime input field, the missing reference warning could not be cleared properly.
  4. Fixed a bug where after opening a Panel in the scene view, the scroll area did not enlarge according to the Panel’s content.
  5. Fixed a bug where the preview view became unusable after encountering a GUEST_VIEW_MANAGER_CALL error caused by infinite loops or certain user code conditions.
  6. Fixed several bugs related to Program Blueprint:
    • Fixed the real-time refresh issue after blueprint data changes.
    • Fixed incorrect array connection validation.
    • Fixed the Type list to be sorted in ascending order.
    • Fixed mouse dragging of nodes where movement was not smooth and gradually became offset.
    • Fixed the issue where calling as on a base class incorrectly executed the base method instead of the actual overridden method.
    • Fixed the inability to use Node.addChild within blueprints.

New Features and Optimizations

  1. New: Added support for setting the allow-sleep attribute in 3D physics.
  2. New: Added support for MCP (Model Context Protocol) standard, providing developers with extensible secondary development interfaces. Developers can create custom Tool tools and Prompt modules for MCP clients like Claude and Cursor to invoke.
  3. New: Enhanced Program Blueprint, including:
    • Added support for function overloading in blueprints; variables in blueprints can now define constraint attributes such as isAsset, assetTypeFilter, fractionDigits.
    • Improved link validation logic for generics.
    • Added copy and paste options to the node right-click menu.
    • Optimized search logic in the right-click menu.
  4. Optimization: In the hierarchy panel, after searching for a node name and selecting a node, exiting search will automatically expand to and highlight the selected node.
  5. Optimization: Adjusted the display position of prefab previews to avoid inconsistency between edit-time and run-time preview when anchor points are set.
  6. Optimization: The canvas for rendering text is no longer width-limited, preventing issues where overly long text (exceeding 2048 in width or height) gets clipped.
  7. Optimization: Deprecated the APIs for setting up-axis and jump speed in the 3D physics character controller (alternative APIs are available), to avoid developer confusion.

LayaAir 3.2.4 Engine Library

28 Feb 06:26

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

Version 3.2.4 Release Changelog

Bug Fixes

Engine

  1. Fixed a bug where the random number sequence for some emission shapes was not fixed when the automatic random seed was not selected in the 3D particle system.
  2. Fixed a bug where the 2D physics velocity became faster when clicking a node in the IDE hierarchy panel during preview runtime.
  3. Fixed a bug where switching to different types caused errors after IMAGE resources were destroyed due to lost resource types.
  4. Fixed a bug where text input in the Native Windows package was not functional.
  5. Fixed a bug where text and images appeared blurry in the Native Windows package.
  6. Fixed a bug where changing mesh vertex data of a 3D node did not update the display.
  7. Fixed a bug where input text occasionally had a background color due to the reuse of Graphics drawing commands.
  8. Fixed a bug where the GraphicsBounds might not refresh after the drawing commands were updated.

IDE

  1. Fixed a bug where the color setting for the FillTexture drawing command was invalid.
  2. Fixed a bug where cascading failed if EnumField was a numeric type.
  3. Fixed a bug where the up and down arrow functionality in the hierarchy panel became invalid after renaming using F2.
  4. Fixed a bug where the image release compression format might incorrectly include the source file.

Additions and Optimizations

  1. Decoupled the engine library reference relationships, solving the issue where .glsl files could not be loaded if the 3D core module was not checked in the IDE.
  2. Added the mulDefine macro configuration setting in ShurikenParticleShaderDeclaration, allowing developers to choose whether to enable it, optimizing shader compilation efficiency in different scenarios.
  3. By default, the texture source file option is checked when publishing on Douyin and WeChat platforms to avoid confusion for developers.
  4. Upgraded the API documentation website with a brand-new interface, supporting both light and dark modes (URL: https://layaair.com/3.x/api/index.html).
  5. Added a shape editing tool button for 3D physics colliders and optimized the display of component properties and descriptions for 3D physics components.
  6. Removed deprecated parameters from OPPO (which caused errors).
  7. Removed the restriction on the required suffix when publishing to the vivo platform (vivo platform update).
  8. After publishing a vivo mini-game, command-line QR code debugging is now supported.

LayaAir 3.2.3 Engine Library

23 Jan 06:49

Choose a tag to compare

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

Version 3.2.3 Release Changelog

Bug Fixes

Engine

  1. Fixed a rendering error when all slot.alpha values in a Spine animation are set to 0, and an issue with the last frame not updating correctly.
  2. Fixed the incorrect playState return after a non-looping Spine animation finishes playing.
  3. Fixed an issue where enabling fast rendering in Spine caused rendering to freeze on the first frame after playback in certain scenarios.
  4. Fixed inconsistencies between Spine editor effects and engine rendering under specific conditions.
  5. Fixed incorrect brightness when using additive blending in Spine.
  6. Fixed errors in Spine under WebGPU mode when sceneData is null.
  7. Fixed an issue where child node scripts continued executing after the parent node was disabled and the child node was removed.
  8. Fixed an issue with HTML text formatting where overflow handling and truncation with ellipsis displayed abnormally.
  9. Fixed a bug where frequent changes to button skins could cause display confusion.
  10. Fixed unit conversion issues when retrieving linear velocity for 2D rigid bodies.
  11. Fixed an error when enabling 2D rigid bodies.
  12. Fixed an issue where canvas transparency settings were ineffective.
  13. Fixed incorrect masking effects when mask nodes were rotated.
  14. Fixed an issue where setting texture repeat on PBR materials with non-power-of-two textures was ineffective.
  15. Fixed incorrect video texture effects in the native engine.
  16. Fixed the bug where the ray function modified the input values.

IDE

  1. Fixed incomplete display of a polygon set as a mask node in the scene panel of the IDE.
  2. Fixed an error in the atlas creation tool when texture scaling was set to 0.8.
  3. Fixed an error during undo (Ctrl+Z) after deleting a polygon point using Alt.
  4. Fixed an error when converting a text node to a label node.
  5. Fixed an issue where multiple settings of Constant in timeline animations could not be saved.
  6. Fixed an issue where new vertices could not be added to the last edge of a polygon in the scene editor.
  7. Fixed an issue where the Tree component's tree node rendering callback was triggered twice.
  8. Fixed an issue where replacing images in prefabs displayed correctly in preview but not after publishing.
  9. Fixed an issue where the 2D scene editing area would not display in certain scenarios.
  10. Fixed a bug where the order of serialized properties for prefab root nodes differed from the definition order.
  11. Fixed an error when extracting template files with a large number of compressed files, causing decompression failures on some computers.
  12. Fixed an issue on macOS where the Command+Option+I shortcut remained occupied by the IDE even when it lost focus, preventing the same shortcut from being used in other applications.
  13. Fixed an issue where more than 30 scenes in the build and publish settings could not be displayed.
  14. Fixed a bug in the texture processing tool where scaling to a power of two was skipped.

Additions and Optimizations

  1. Optimized a series of resource memory recycling issues, thanks to detailed feedback from the community developer (ID: codetypes).

  2. Optimized particle compilation duration by adding the mulShaderDefineMode configuration to the ShuriKenParticle3DShaderDeclaration class. When set to true, it enables multi-macro mode, reducing single-particle compilation time but increasing macro variables and shader count. When set to false, it disables multi-macro mode, increasing single-particle compilation time but reducing macro variables and shader count.

  3. Disabled setting button state color transparency in the IDE to prevent developer misuse.

  4. Added the maxDeltaTime interface to Spine, allowing developers to remove playback speed limits when controlling playback speed via Laya.timer.scale.

    It is recommended to use playbackRate() to control playback speed instead of modifying Laya.timer.scale for Spine playback.