Releases: layabox/LayaAir
LayaAir 3.3.9 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
Engine
- Fixed an issue where editing polygon vertices of the 2D light occluder was affected by scaling.
- Fixed an issue where the icon of the 2D light occluder component scaled with the node.
- Fixed an issue where
DrawRoundRectproduced incorrect width and height calculations when used as a mask withoutpercent = true. - Fixed an issue where
setParamsXXXbecame ineffective after the animation state machine finished. - Fixed a crash caused by adding a mask to sliced images.
- Fixed an inconsistency between editor and runtime behavior for 2D particle effects.
- Fixed an issue where bold Microsoft YaHei fonts were clipped.
- Fixed a crash when Image nine-slice tiling exceeded the 65,535 vertex limit.
- Fixed an issue where
drawToRenderTexture2Ddid not work with the 2D camera. - Fixed an issue where
setParamsXXXbecame ineffective after the animation state machine completed. - Fixed an issue in Native DCC hot update where newly downloaded version information was reset.
- Fixed an issue where the Android build did not respond to the back button after installation.
- Fixed an issue where rigid body movement behaved abnormally on Android.
- Fixed an issue where FPS limiting settings did not take effect on Android.
IDE
- Fixed an issue where switching the nine-slice fill mode of image resources did not automatically refresh in the IDE scene.
- Fixed an issue where selecting all animation keyframes and applying “Two Tangents -> Constant” via right-click caused the editor to freeze.
- Fixed a crash when enabling
CacheAsafter assigning material and shader to a sprite. - Fixed an issue where prefab child nodes disappeared when converting node types.
- Fixed an error when packaging a single web project via command line.
- Fixed an issue where lightmap baking configuration reverted to default after reopening the project.
- Fixed an issue where renaming a prefab did not update its name in the panel.
New Features & Improvements
- Added: A tool in the IDE for converting 3D meshes to 2D meshes.
- Optimized:
defaultPhysicsMemoryglobal 3D configuration now supports the PhysX engine. - Optimized: When version management is enabled during packaging, the manifest file (
fileconfig.json) for main packages and subpackages no longer uses hash-based filenames. Instead, it uses a?v=timequery parameter to ensure the latest manifest is always fetched, avoiding issues where CDN refreshes cause outdated local caches on mini game platforms.
LayaAir 3.3.8 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
Engine
- Fixed: Resource preloading failure in the
Preloadlist when scenes or prefabs are not located in the root directory. - Fixed: Frame rate limiting (FPS capping) issue on the Android platform within the native engine.
- Fixed: Data update failure in the native engine when expanding UBO (Uniform Buffer Object) memory.
IDE
- Fixed: Lack of polymorphism support for data components registered via
@IEditor.regClass. - Fixed: The top file list (tab bar) failing to update after renaming a prefab.
- Fixed: Data loss when copying and pasting materials that utilize different Shaders.
- Fixed: Issue where lightmap baking configurations could not be saved.
New Features & Optimizations
- New: Added
Main Menu -> File -> Discard Changesto revert all modifications in the current scene. - New: Added
Build Options -> Subpackage Settings -> Pack All Resources. When enabled, all assets in the subpackage directory will be included. - New: Added an option to automatically include dependencies when exporting asset packages.
- Optimization: Removed the "Starting scene not set" prompt when playing from a designated starting scene with a startup script configured.
- Optimization: Enhanced the user experience and interaction logic for Sliders and Scrollbars.
- Optimization: Improved the frame rate limiting logic for the native engine on the HarmonyOS platform.
LayaAir 3.3.7 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
Engine
- Fixed a bug where switching coordinate systems and then switching display components caused incorrect coordinates.
- Fixed a bug where setting an image first and hiding it, then dynamically modifying its position, had no effect.
- Fixed a display issue caused by adding filters to Spine 3.7 animation nodes.
- Fixed a bug where loading Spine via prefabs could cause errors.
- Fixed an intermittent issue where images inside a Dialog would occasionally disappear when
disabledwas set totrue. - Fixed a bug where setting an image to
grayinDialog.onEnablecould cause the image to become invisible. - Fixed a bug where, after applying post-processing to a Sprite and setting its alpha, disabling post-processing, changing the alpha, and then re-enabling post-processing would result in the alpha setting not taking effect.
- Fixed a bug where incorrect unit conversion in
2Dphysics rigid body rotation caused incorrect rotation behavior. - Fixed a bug where trail width (
widthMultiplier) did not scale with the parent container or stage. - Fixed a bug where the value range of
FlipRotationin the CPU particle system was incorrect. - Fixed an issue with lens flare post-processing rendering.
- Fixed a bug where the scaling behavior of the
Panel UIcomponent was incorrect. - Fixed a playback issue with
VideoNodeon Android Native builds.
IDE
- Fixed an issue where nine-slice information was lost after manually packing images into an atlas.
- Fixed a prefab property override issue in the
IDE. - Fixed a bug where the selection preview box position was incorrect in
Tilemapafter setting a pivot point. - Fixed an issue where lens flare data created in the
IDEcould not be saved.
Optimizations
- Optimized: Optimized
2Dperformance.
LayaAir 3.3.6 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
Bug Fixes
Engine
- Fixed an issue introduced in the previous version where text rendering positions of some fonts could differ across operating systems.
- Fixed an issue where
Bullet Wasmfailed to load when version management was enabled. - Fixed an issue where reloading failed after resizing the new
UIframe animation. - Fixed a bug where adding multiple
Listcomponents in a scene would cause errors when changing resolution at runtime. - Fixed a bug where texture memory could spike abnormally when using filters.
- Fixed a bug where repeatedly changing the color of an object could prevent its
Materialfrom being released upon destruction. - Fixed a bug where using atlas textures in
2Dmeshes could cause the entire atlas to be rendered. - Fixed an issue where frame rate changes were not reflected in the statistics panel when
Laya.stage.frameRatewas set tosleeporslow. - Fixed an intermittent issue in
2Dlighting where loading linear light before resources could cause it to become ineffective. - Fixed an issue where severe aliasing appeared on rounded corners after applying a mask.
- Fixed a bug where nested
Panelcomponents caused child panel scrolling to stop working. - Fixed an issue where Spine animations without width, height, or position could not be displayed.
- Fixed a bug where the post-processing bloom effect stopped working after setting a render texture on a
3Dcamera. - Fixed a
2Drendering memory leak issue on Native platforms. - Fixed an issue where Spine animations were not properly cleared on Native platforms.
- Fixed an issue where the Spine pivot point was incorrect on Native platforms.
- Fixed keyboard input issues on Android emulators in Native builds.
- Fixed a crash when invoking the input box on
iOSin Native builds. - Fixed a crash when refreshing on Native platforms.
- Fixed errors caused by passing
nullorundefinedto render states on Native platforms. - Fixed audio destruction errors on Native platforms.
- Fixed a keyboard event bug on HarmonyOS in Native builds.
- Fixed display issues with the new
UIon Native platforms. - Fixed an issue where examples related to
createBufferURLwere not displayed on Native platforms.
IDE
- Fixed an error that occurred when quickly starting and stopping preview.
- Fixed an issue where publishing could succeed even if scripts contained compilation errors.
- Fixed an issue where the initial change of
2Dambient light was affected by whether a light source had been added. - Fixed an issue where deleting a
2Dlight did not immediately update the effect in theIDE. - Fixed an issue where compilation errors during publishing were not properly caught to interrupt the process.
- Fixed an error that could occur when rapidly clicking the preview play button.
- Fixed a bug where tiles under the mouse cursor disappeared when switching sprites during
TileMapLayerediting inTileMap.
Improvements
- New: Added support for a Cocos-to-
LayaAirresource migration plugin. Open-source repository: https://github.com/layabox/CocosMigrationPlugin - New: Added
SoundPlayer/VideoPlayercomponents as alternatives toVideoNode/SoundNode, allowing them to be attached to any node (e.g.UInodes) to enable audio and video functionality. - New: Added Pause and Step buttons to the preview runtime panel, allowing the game to be paused and advanced frame by frame during execution.
- New: Added a “Paste as Child Node” menu item to the Hierarchy panel.
- New: In the Hierarchy panel, nodes with custom script components now display a script icon for quick identification.
- New: Added a menu option in the Hierarchy panel to choose whether arrow keys are used to navigate the hierarchy or move nodes on the stage when the panel has focus.
- New: Added a menu option in the Hierarchy panel to quickly filter all nodes that contain custom scripts.
- New: Added mouse wheel zoom speed configuration to the Scene View
2Dsettings (accessible via the monitor icon in the toolbar). - New: Added a “Replace Resource” menu item to the Project Assets panel.
- New: Optimized the display of the Main Menu → Panels menu, with support for grouping. Custom panels can define groups using the
menuGroupproperty. - New: Added editor layout management, allowing multiple layouts to be saved, switched, imported, and exported. Available under Main Menu → Panels.
- New: Added an
AI Servicesmenu to the main menu, providing entry points for AI-related features. - New: The shortcut key settings interface now supports sequential key combinations, such as pressing
CTRL+Kfollowed byCTRL+Cto trigger a function. - New: The new
UInow supports creating and using progress bars and sliders in non-prefab mode. - New: Added an API to the plugin system for waiting until newly imported assets are fully processed:
EditorEnv.assetMgr.waitForAssetsReady. - Improved: Added a confirmation step when moving folders in the Project Assets panel.
- Improved: The Properties panel now correctly displays cases where user script components do not inherit from
Script, helping new users locate script issues more easily. - Improved: The Component Selection dialog now automatically focuses the search box when opened.
- Improved: Optimized the
Gizmosdisplay for2Dcameras and2Dlights. - Improved: In the new
UI, theScrollerno longer blocks mouse wheel input when scroll bars are hidden, supporting more usage scenarios. - Improved: The layout centering feature in the new
UInow supports centering each element individually. - Improved: When editing a
2Dprefab, clicking on empty space in the stage now automatically selects the root node. - Improved: Added an option to allow developers to choose whether animation file names or custom names are used.
- Improved: Added shader and material templates for
Trail2D.
LayaAir 3.3.5 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
Engine
- Fixed an issue where multiple Skeleton instances operated on the same Graphics command stream, causing rendering commands to overwrite each other and resulting in no animation being displayed.
- Fixed an incorrect version check for Spine 4.1 and above.
- Fixed a bug where, when texture wrap mode was set to Repeat and a compressed format was selected on mobile platforms, publishing to WeChat would report a missing file.
- Fixed an issue where bold fonts could be clipped due to insufficient width.
- Fixed a bug where background music playback incorrectly used the sound effect volume settings.
- Fixed a bug where enabling statistics and setting the screen mode to Vertical would cause an error.
- Fixed a bug where the Native engine could crash under the
New UIsystem. - Fixed a bug where placeholder text in input components did not support internationalization.
IDE
- Fixed an issue where the resource dependency panel did not follow width changes, causing the Replace button to be partially hidden under default width.
New Features & Optimizations
- Added: Shortcut key support for all scene preview and run features, making it convenient to quickly switch between current scene and startup scene.
- Improved: Input fields no longer support internationalization settings; the input field’s internationalization option has been disabled.
- Improved: Cameras in scenes now automatically enable the
3Dpost-processing library when adding post-processing effects. - Improved: The new
UIlist click event (UIEvent.ClickItem) now provides a second callback parameter for the current event object.
LayaAir 3.3.4 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
Engine
- Fixed an issue where calling
crossfademultiple times in a short period on3Dmaterial property animations would throw errors. - Fixed an issue where
2Dparticles could not be clipped byScrollRect. - Fixed an issue where rounded rectangle rendering was not visually round.
- Fixed an issue where importing a
tiledMapwith a 45-degree map did not convert object layer coordinates correctly. - Fixed a bug where child nodes could become invalid when the parent node's blend mode was set.
- Fixed a bug where
Loader.clearTextureResdid not work correctly. - Fixed a bug where applying a glow filter to Spine would be clipped if the offset exceeded the node's width and height.
- Fixed a memory leak issue in text rendering.
- Fixed a bug where
3D rigidbodymeshcollidersmight not display physics debug lines when convex polygons were enabled. - Fixed an issue in Native where
WebSocketwould disconnect after five to six minutes.
IDE
- Fixed a bug where previewing a texture set as a cube did not render correctly.
- Fixed a bug where preview did not refresh in the
IDEafter changing image settings (e.g., filter mode, flip). - Fixed a bug where checking the
autoAdjustproperty on a Spine component in prefab editor had no effect at runtime. - Fixed a bug where publishing might not correctly parse newly added component resource properties in nested prefab overrides.
- Fixed an issue where the display list height did not change when zooming in the project creation panel.
- Fixed a bug where creating a node in the hierarchy would throw an error if the
3Dcore library was not checked. - Fixed incorrect behavior when pressing the ESCAPE key in the resource panel search box.
- Fixed a bug where undoing after unbinding a prefab could cause the prefab state to be incorrect.
- Fixed a bug where the eye and lock states in the hierarchy panel were not saved.
New Features & Optimizations
-
Added: Added a “Resource Dependencies” panel, accessible via the panel menu or the project resource right-click menu “Find References.”
-
Find References: Find where a resource is referenced in the project. You can also replace references to this resource with references to another resource.
-
Find Dependencies: List which other resources a specified resource depends on.
-
Pluginsystem providesAPIsviaIEditorEnv.AssetDependencyTool,e.g.:let result = await IEditorEnv.AssetDependencyTool.queryReference(["45897bb8-a4bd-4607-a70e-ba1a7546882f"]);
-
Plugin APIallows convenient batch operations.
-
-
Added:
JSscripts orWASMfiles marked as “imported asplugin” can now specify the target platform in the property panel, limiting packaging to the chosen platform. -
Added: Spine renderer component adds
premultipliedAlphaproperty for manualpremultipliedalpha control. -
Added: Native engine supports canvas-related
APIs:uint8ArrayToArrayBufferanduint8ArrayToArrayBufferAsync. -
Added:
HarmonyOSplatform adds support for text outlines,videoPlayer, andvideoDecoder. -
Added: Adapted to
HarmonyOS6.0. -
Added:
IDEsprite drawing now includes menu entry forDrawTrianglesCmd(mesh). -
Added:
IDEadds shortcut for “Activate Previous Tab” to quickly switch back to the previous tab. -
Added:
IDEproperty panel allows quick setting of values to 0.5 or 1 via right-click menu. -
Optimization: Native engine integrates
IDEsplash screen configuration; one-timeIDEsetup applies to Native builds automatically. -
Optimization:
iOSstartup andUImigrated fromAppDelegatetoSceneDelegatefor better multi-window support. -
Optimization:
iOSbuild artifacts upgraded from static.alibraries toxcframeworks, simplifying CI integration and modernizing the binary structure. -
Optimization: Improved text rendering logic, fixing overflow and alignment issues (may slightly change font positions vs. older versions).
-
Optimization: Added
DPRhandling for PC mini-games to improve visual clarity. -
Optimization:
2Dmesh renderer removedtextureRangeandtextureRangeIsClip, replaced bytilingOffset. -
Optimization: Removed incorrect texture fade properties; added
maxMipLevelsto control maximumMIPlevels in compressed textures. -
Optimization: Cube textures now validate width and height as powers of two, blocking generation and showing a warning if invalid.
-
Optimization: Improved DC auto-optimization performance.
LayaAir 3.2.9 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload\
BUG Fixes
Engine
- Fixed a bug where the listener for the
transformmight not be removed whenSubMeshRenderElementis destroyed. - Fixed a bug where performance statistics became abnormal after setting
Laya.timer.scaleto 0. - Fixed an out-of-bounds issue in the
Spine2DRenderNode.drawGeosmethod. - Fixed a bug regarding 2D physics angular velocity.
- Fixed a bug where brief frame skipping caused a drop in frame rate under certain circumstances.
- Fixed a bug in the WeChat and Douyin adapter libraries where
performance.now()incorrectly returned microseconds (it should be milliseconds).
IDE
- Fixed a bug where the preview inside the IDE would not refresh after modifying image settings (e.g., filter mode, flipping).
- Fixed a bug where child objects were not updated when modifying the Layer of a 3D node.
- Fixed a bug where resource property values of newly added components within overridden nested prefabs were not parsed correctly during publishing.
- Fixed a bug where the Cubemap preview could not be rotated.
- Fixed a bug that caused an error when creating a new node in the Hierarchy panel if the 3D core library was not checked in the runtime settings.
New Features
-
Added: Native Android support for 16KB page sizes.
-
Added: New IDE plugin interface
IEditorEnv.AssetDependencyToolfor querying asset references and dependencies.let result = await IEditorEnv.AssetDependencyTool.queryReference(["45897bb8-a4bd-4607-a70e-ba1a7546882f"]);
LayaAir 3.3.3 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
Engine
- Fixed a bug where setting transparency for Spine caused the model to turn black.
- Fixed a bug where reloading and adding a Spine after it was cleared would cause an error on the next frame.
- Fixed an issue where disabling fast rendering and having the Spine skeleton’s active state set to
falsewould prevent it from displaying. - Fixed a bug where child nodes remained invisible when the parent node’s initial alpha was
0.01and later dynamically changed to visible. - Fixed a bug where macros with different lengths caused passes to be incorrectly culled in multi-pass rendering.
- Fixed a bug where enabling post-processing caused parent containers to move along with scroll animations.
- Fixed a bug where setting coordinates for a
Sprite3Dobject failed in certain situations. - Fixed a display issue with
ColorEffect2Dunder the2Dcamera. - Fixed a bug where masks could not be used inside a
2Dregion. - Fixed a compatibility issue between old project
primitive.shadertemplates and the newshadertypeversion. - Fixed a crash issue on Android when applying
2Dpost-processing. - Fixed a bug in the Native engine where the player’s
ObjectFitparameter had no effect. - Fixed a bug in the Native engine where the
loopparameter for Android video playback did not work. - Fixed a bug in the Native engine where the player and decoder
autoPlayparameter was ineffective. - Fixed a bug in the Native engine where
websocketfailed to receive error and close messages. - Updated the
websocketlibrary for theHarmonyOSplatform in the Native engine. - Fixed an issue where
UIConfig2.modalLayerColorsetting had no effect.
IDE
- Fixed a bug where the
sRGBcheckboxstate for default texture types was not saved correctly whenpremultipliedAlpha was enabled. - Fixed an occasional bug in
IDElocal debugging where textures were missing in the automatic atlas. - Fixed a bug where creating a new
GButtonand selectingTitleWidgetcould cause the editor to freeze when clicking the button itself. - Fixed a bug in
2Dphysics where sphericalcolliderswere incorrectly positioned after modifying anchor points.
New Features & Optimizations
-
New: Added
LayaExtInitin the Native engine for executing external interfaces before initializingOpenGL/D3Ddevices.LAYAEXTAPI void LayaExtInit(jsvm_env env, jsvm_value exp)
-
New: Added
zoomproperty to the2Dcamera to support camera scaling. -
Optimization: Prevented self-dependency in
IDE ScriptBundledefinition configuration to avoid infinite loops caused by mistakenly dragging in itself. -
Optimization: Added fault tolerance handling for null values during
3Danimation color transitions.
LayaAir 3.3.2 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
Engine
- Fixed an issue where Spine resources without width/height parameters could not be displayed
- Fixed a bug where Spine displayed abnormally after adding post-processing effects
- Fixed a bug where Spine displayed abnormally when lighting was enabled
- Fixed a bug where
deserializationfailed if a List’s Item template was a prefab - Fixed a crash when repeatedly calling
Laya.SoundManager.playMusicinWeChatMini Games - Fixed an issue where the slice component, when not slicing and value set to 1, would display abnormally due to
asyncresource indexing - Fixed a bug where setting the
zIndexproperty on nodes with mask had no effect - Fixed an issue where Graphics with semi-transparent color overlapped incorrectly when collapsed
- Fixed an issue where
RadioGrouplabel margins at runtime didn’t match the effect inIDE - Fixed a bug where enabling batching caused
draw9GridTextureto render abnormally after publishing - Fixed a bug where assigning a material to
UIwas ineffective - Fixed a bug where the new
UIList’s blank areamouseThroughproperty didn’t take effect - Fixed a bug where, with
startDragmethod’shasInertiaset to true, objects would fly off after drag ended - Fixed a bug where the new
2Dmasking system behaved abnormally when mask width/height was 0, or after adding then removing graphics - Fixed a bug where music playback didn’t stop after pressing HOME on Android to leave the browser
- Fixed a bug where
2Dcamera and2Dregion could not be dragged in edit mode - Fixed a bug where
2Dcamera affected nodes that weren’t its children - Fixed a bug where hidden disabled buttons still triggered events
- Fixed a bug where multi-selecting
timelinekeyframeswithctrl+shift+clickonly selected visible ones - Fixed a bug where
NavAgentnavigation orientation didn’t match movement direction - Fixed a bug with navigation component initialization order (agents initialized first caused surface initialization warnings/errors)
- Fixed a bug where Native package name and window title didn’t use the
IDEconfig’sdisplay name - Fixed a bug where
PBRmaterial displayed abnormally in Native builds - Fixed Native
PBRrendering errors
IDE
- Fixed an issue where setting box width/height to 0 in
IDEresulted in auto-adapted size at runtime - Fixed a bug where scaling sprite with shift in
IDEdidn’t scale proportionally if pivot wasn’t centered or initial value - Fixed a bug where removing scrollbar from old
UITree didn’t update scene editor view - Fixed a bug where rapidly starting/stopping preview caused errors
- Fixed a bug where
3Drigid body shape changes in editor couldn’t be undone - Fixed a bug where
SpotLight2DinIDEhad positional offset when lighting2Dmesh
Additions & Optimizations
- Added: Native Android support for 16KB page size
- 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). - 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.
- Added: Several usability improvements to
UIGroup(subclasses Tab andRadioGroup)- Added auto line wrapping switch
lineWrapbased on child width/height, and auto-adapt parent size when not wrapping - Added line spacing control
lineSpace - Added label overflow mode
labelOverflow - Added vertical alignment mode
labelVAlign
- Added auto line wrapping switch
- Added:
RadioGroupnew optionsfitContentfor auto-sizing to text, andlabelFixedSizefor fixed label size when not auto-sized - Added:
recoverAllRTS()to recycle all render targets used by post-processing effects - Added: Return value for
Laya.loader.loadPackageto indicate success/failure - Added: Support for
VideoNode.currentTimeandreloadinLayaAir Native - Added: Support for WebP image format in
LayaAir Native - Optimized: Tree component now scrolls automatically when child items exceed width/height
- Optimized: When creating IDE projects from local templates,
.layafiles in template are ignored and regenerated automatically - Optimized: Updated
StatUIshow method to accept position parameters (thanks to Geequlim) - Optimized: Simplified
AnimatorState.isLoopinglogic (thanks to Geequlim) - Optimized: Added shader type validation when assigning materials — prevented
2Dproperties on3Dmaterials and vice versa, avoiding runtime errors - Optimized: Improved FPS logic for smoother rendering refresh
LayaAir 3.2.8 Engine Library
更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload
BUG Fixes
- Fixed a bug where destroying a Spine object did not release video memory, causing VRAM accumulation.
- Fixed a bug causing animation memory overflow.
- Fixed a bug where after setting the
2Drigid body angular velocity or setting the rigid body gravity scale to 0, the rigid body would still fall and rotate. - Fixed a bug on Windows where button text did not scale when the window was enlarged.
- Fixed a bug where enabling fast rendering mode in
IDEpreview for Spine caused an error.
New Features
- Added: Text/Label now has a
Single Character Renderingproperty. 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. - Added: FBX model file import option now includes an
Add Root Nodeproperty, 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.