Add: Support for loading KTX2 textures as environment-image and background-image (e.g. <needle-engine background-image="my-skybox.ktx2">)
Fix: Issue where raycasting was not using acceleration structures and instead falling back to slow raycasting. This release greatly improves raycasting performance
Change: Much improved initial loading speed making Needle Engine websites load up to 1000 ms faster.
Improved Needle Engine website lighthouse scores for all Vite based projects.
Improved bundle chunking and loading for better lighthouse scores.
Core bundles and entrypoint glTF files are not loaded as soon as the web document is ready.
Change: Needle Engine does now lazily import dependencies for rapier and postprocessing to reduce download and startup size.
This means that projects that donβt use any collider or rigidbody components will not load the physics and postprocessing modules. Modules can be loaded at any time once theyβre need by e.g. components in the scene.
Unity Integration
Fix: Needle Cloud deployment list not being showing the last deployments
Fix: Sandbox scene template had falsely scaled Rock model
Fix: XRRig setAsActiveRig() now ensures the given rig has the highest priority. Previously it was possibly immediately overidden again if another XRRig with a higher priority was active in the scene.
Change: SpatialTrigger EventList events are now invoked without additional parameters. They did previously take a reference to the SpatialTriggerReceiver and active SpatialTrigger. If this information is important the SpatialTriggerReceiver can be saved when subscribing to the event and the trigger can be accessed using the triggerReceiver.currentIntersected array.
Change: TransformGizmo now exposes the underlying three.js TransformGizmo via a new control property.
Change: GroundProjection now uses the scene.background instead of scene.environment