Releases: needle-tools/needle-engine-support
3.37.7-pre
Needle Engine
- Fix: USDZ animation loops didnt work in some cases
- Fix: Properly apply and revert arScale on USDZ export
- Fix: Correctly apply WebXR arSceneScale on USDZ export even when no USDZExporter is present
- Fix: Hand models not being displayed on VisionPro – invalid data passed into registerExtensions leading to exception
- Fix:
time.timescale
set to 0 now fully pauses physics simulation - Fix:
@syncField
now properly applies room state once on connection - Fix: Timeline reset previously active animation actions then being disabled (e.g. when switching to another active timeline)
Unity Integration
- Change: Improve warnings when not connected to the internet
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.6-pre
Needle Engine
- Fix: USDZExporter bug where geometry was getting duplicated on export when the same mesh was used multiple times
- Fix: USDZExporter duplicate export of scene start triggers
- Change: Improve USDZExporter animation export validation and improve handling of empty TransformData slots
- Change: Improve USDZ animation export allowing
RegisteredAnimationInfo
to also register a null clip for targeting the rest pose (e.g. empty state) - Change: Improve USDZ time formatting
- Change: Invoke engine lifecycle hooks in the order in which they were registered (e.g.
onStart(ctx => ...)
)
Unity Integration
- Add: DeployToFTP Server asset now has a
port
option that can be configured if necessary - Add: DeployToNetlify does now render a info label while uploading
- Change: log error if trying to perform a distribution build without having a web project setup
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.6-exp
Needle Engine
- Add: More API documentation
- Add: VideoPlayer can now play
m3u
livestream links - Fix: WebARBackground now checks if camera-access is granted
- Change: Progressively loaded assets now postfix urls with the content hash of the assets if available to make sure the correct version is loaded and not a old version from cache
- Change: VideoPlayer setting
url
now immediately updates the videoplayback
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.5-exp
Needle Engine
- Add: SceneSwitcher support for adding the
ISceneEventListener
on the sceneSwitcher gameObject - Fix: OrbitControls should not update on user input when the camera is not currently active
- Change: OrbitControls middle click/double click does not change camera position anymore and just set the look target
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.4-exp
Needle Engine
- Fix: Collider filtermask bug where it did previously override membership settings in certain cases
- Change: Menu now removes the buttons for very small sizes
- Change:
this.context.physics.engine.raycast
andraycastWithNormal
api changed to take an options parameter instead of single values. It now also exposes rapier'squeryFilterFlags
,filterGroups
and thefilterPredicate
options. It can now be called with e.g.this.context.physics.engine.raycast(origin, direction, { maxDistance: 2 })
Unity Integration
- Change: Move all Needle Engine components in
Needle Engine/
addComponent menu and improve searchability
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.3-exp
Needle Engine
- Fix: Regression in progressive mesh for multi material objects / multiple primitives per mesh
- Change: Improve LOD level selection based on available mesh density per level
Level of detail switching now finds a good match for screen and mesh density that results in more consistent on-screen triangle density. This change also improves LOD switching for low-poly meshes considerably. - Change: ScreenCapture now respects if user is in
viewonly
networked room
Unity Integration
- Add: New "Better Cubemap" shader that allows to blur the skybox in the editor and change intensity.
You can upgrade from skybox materials that currently useSkybox/Cubemap
.
Upgrade options are in the material inspector and on theCamery Skybox Data
component in a scene. - Add: Improved image-based lighting workflow on 2023.x+ when using the new "Better Cubemap" shader
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.2-exp
Needle Engine
- Fix: Regression in USDZ export causing behaviours to stop working
Unity Integration
- Change: WebXR component now exposes methods to start and stop a XRSession (
enterVR
,enterAR
,exitXR
) - Change: WebXR component AR transform touch controls are now enabled by default
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.1-exp
Needle Engine
- Fix: Eventlist now handles EventListeners being added or removed during
EventList.invoke
- Fix: Progressive LOD textures issue where compressed textures would not be loaded in some cases when using tiling
- Change: USDZExporter created by the WebXR component now enables
autoExportAnimation
andautoExportAudioSources
by default
Unity Integration
- Change: Improve multi scene workflow with additional loaded scenes that are also referenced. Multiple ExportInfo components are also better handled by using the first ExportInfo component in the currently active scene
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.37.0-exp
Needle Engine
- Add: USDZ physics export for VisionOS
- Add: Sprite
mesh
andmaterial
properties to simplify creating a new sprite object - Fix: Loading files that don't have a
.glb
or.gltf
extension but the correct mime type - Fix: PostProcessing error when using tonemapping from vanilla threejs
- Change: Bump rapier dependency to ^0.12.0
Unity Integration
- Fix: DeployToGlitch now using
needle.config.json
for build folder (support for e.g. Sveltekit deployment to glitch) - Fix: DeployToGlitch horizontal button layout
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
3.36.6
⭐ Highlights
This release comes with numerous new features on our path to providing the best foundations for the spatial web.
We have rewritten our underlying WebXR support with ease of use and flexibility in mind,
added a new cross-platform Menu component for quickly adding custom functionality to apps, and introduced a novel automatic mesh simplification and level of detail system.
Needle Engine now supports VisionOS, with improvements to hand tracking, transient pointers, and support
for both Fully Immersive apps using WebXR, and Immersive Volume experiences based on Everywhere Actions and USD.
We're also introducing the next step on our road to ubiquitous 3D content with automatic mesh simplification and sophisticated level of detail selection at runtime.
Apps now are smaller, load faster, and run smoother – heavy models and large worlds benefit the most.
New WebXR Foundations and API
We've rewritten our WebXR API to be more intuitive, easier to use, and better integrated with the rest of the engine. XR controllers, hands, and eye tracking now flow seamlessly through our Event System, so that events like onPointerClick
just work – no matter the input source.
We've also made sure controllers are fully accessible for advanced use cases, with low-level access to the underlying WebXR API.
Our new spatial preloader allows scenes to enter XR sessions more quickly, unlocking immersive navigation using sessiongranted
(supported on Quest 2/3) for larger scenes.
Drag Controls now have support for multiple hands/controllers/touches and have modes for different interaction types.
This new release also brings support for mesh tracking
, depth sensing
, offer session
, a spatial debugging console, and more.
Existing scenes will upgrade to the new WebXR API automatically.
Needle Menu
The new Needle Menu
component allows for easy creation of custom menus in your apps. It brings together a number of often-used features like fullscreen, audio and networking settings, and sharing options under one unified user interface.
Sharing experiences with others is now even easier through automatic QR code generation and Direct-to-Quest links.
AR, VR and QuickLook buttons are integrated into the menu as well – and Needle Menu is supported in WebXR too.
Next Level Optimzation
Needle Engine supported automatic compression and progressive loading for textures for a while, and now we're introducing automatic LOD generation, progressive loading, and runtime switching.
Detail levels are chosen based on screen density, which means that in complex scenes only load mesh levels that are actually needed are ever downloaded.
Additionally, automatic compression of meshes and textures paired with our compression cache is now fast enough to be enabled by default while working on projects, not just for production builds.
Better API documentation
Besides readable source and documentation, we now have a dedicated API docs page that contains documentation for all previous and future versions: https://engine.needle.tools/api.
VisionOS support
VisionOS is now a fully supported platform for Needle Engine.
We support both Immersive Volume experiences and Fully Immersive (VR) experiences.
Immersive Volumes are enabled by our Everywhere Actions and on-the-fly USD generation, and can even be shared via SharePlay to other users. Take a look at our collection of interactive USD samples at https://engine.needle.tools/projects/ar-showcase.
While we had VisionOS support since day 1 due to building on open standards like WebXR, we improved the experience with better hand tracking, transient pointers for eye tracking, and performance improvements.
A great example is https://engine.needle.tools/samples/bow-&-arrow/ – make sure to enable the WebXR flag in your Safari settings on VisionOS.
Smarter FTP deployments
When using our built-in FTP deployment, we now keep track of previously uploaded files.
This makes repeat deployments much faster since it allows us to upload only those files that have changed.
Numerous Fixes and Improvements
This release ships with hundreds of bug fixes and improvements in the runtime, build pipeline, and integrations.
Thanks to all of our customers who send us feedback and reported bugs – we appreciate each and every report, keep them coming!
Among the improvements are preload support for video and audio, better gizmo rendering and handling for lines, texts, meshes, and many new debug flags for an in-depth look at the engine's inner workings. We also ship experimental support for single-line PWA setup – more on that in a future release.
Needle Engine
- Add: Needle Menu can now create QR button
- Change: Needle menu fullscreen button now switches the
needle-engine
element into fullscreen - Change: LODs are now switched at a slightly larger distance
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples