Skip to content

Releases: needle-tools/needle-engine-support

3.37.7-pre

29 Apr 09:30
Compare
Choose a tag to compare

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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.6-pre

26 Apr 15:24
56f0dd1
Compare
Choose a tag to compare

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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.6-exp

24 Apr 15:27
Compare
Choose a tag to compare

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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.5-exp

23 Apr 07:17
d44c628
Compare
Choose a tag to compare

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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.4-exp

22 Apr 07:47
d44c628
Compare
Choose a tag to compare

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 and raycastWithNormal api changed to take an options parameter instead of single values. It now also exposes rapier's queryFilterFlags, filterGroups and the filterPredicate 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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.3-exp

19 Apr 09:50
d44c628
Compare
Choose a tag to compare

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 use Skybox/Cubemap.
    Upgrade options are in the material inspector and on the Camery 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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.2-exp

17 Apr 06:58
d44c628
Compare
Choose a tag to compare

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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.1-exp

16 Apr 08:31
d44c628
Compare
Choose a tag to compare

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 and autoExportAudioSources 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 UnityDownload for BlenderDocumentationAPILive Samples

3.37.0-exp

15 Apr 07:57
d44c628
Compare
Choose a tag to compare

Needle Engine

  • Add: USDZ physics export for VisionOS
  • Add: Sprite mesh and material 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 UnityDownload for BlenderDocumentationAPILive Samples

3.36.6

12 Apr 14:53
d44c628
Compare
Choose a tag to compare

⭐ 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 UnityDownload for BlenderDocumentationAPILive Samples