needle-engine-support

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible and includes networking and XR - across platforms. Documentation at https://docs.needle.tools

Downloads
9.1K
Stars
529
Committers
8

Bot releases are hidden (Show)

needle-engine-support - 3.37.2-exp

Published by marwie 6 months ago

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

needle-engine-support - 3.37.1-exp

Published by marwie 6 months ago

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

needle-engine-support - 3.37.0-exp

Published by marwie 6 months ago

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

needle-engine-support - 3.36.6

Published by marwie 6 months ago

⭐ 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

needle-engine-support - 3.35.1-pre

Published by marwie 7 months ago

Needle Engine

  • Add: Animator api for getCurrentStateInfo() and currentAction getter which returns the currently playing three action.
  • Internal: use compileAsync for prewarming newly loaded objects

Unity Integration

  • Fix exception caused by pnpm folder check

Install

Download for UnityDownload for Blender

needle-engine-support - 3.34.0-exp.3

Published by hybridherbst 7 months ago

Needle Engine

  • Fix: TypeScript warnings in XR components
  • Fix: Add correct @type for Button.animationTriggers
  • Fix: Incorrect serialization warnings for fields marked with @serializable()

Unity Integration

  • Fix: Compilation error on 2020.3.x
  • Change: Open typescript files in main workspace if they're a dependency
  • Change: Always add NpmDef dependencies to workspace

Install

Download for UnityDownload for Blender

needle-engine-support - 3.34.0-exp

Published by marwie 8 months ago

Needle Engine

  • Add: Vite plugin for showing indicator that needle engine bundle is still loading (Needle ASAP)
  • Add: Vite plugin for build info now includes file hash so we can skip uploading unchanged files
  • Add: this.context.input.addEventListener now exposes options for once (remove event listener after the first invocation) and signal (remove event listener when signal is aborted)
  • Add: this.context.time now has deltaTimeUnscaled
  • Fix: Issue where Needle Menu size would sometimes switch between compact and stretched view
  • Fix: Improve icon rendering while icon font is still being loaded
  • Fix: Ensure NeedleXRSession does only subscribe once to session granted
  • Fix: Vite alias plugin now explictly resolved three exports for addons and nodes
  • Fix: wrong colorspace in scene lighting texture
  • Fix: Show Needle Menu in AR dom overlay
  • Fix: LOD layers are now properly set (e.g. it's now possibly to disable raycasting via layer 2)
  • Fix: Issue where timescale would affect XR movement
  • Change: Bump three.js version to 0.162
  • Change: Bump postprocessing to 6.35.1

Unity Integration

  • Add: DeployToFTP now skips uploading unchanged files based on data stored in needle.buildinfo.json (this is automatically generated via a vite plugin during building)
  • Fix: Issues in Unity 2022 due to Unity regression in inspector height calculation
  • Change: Bump UnityGLTF to version to 2.10.0-rc.2 (latest)
  • Change: Update CollabSandbox Scene Template
  • Change: Remove Needle Engine Trial limitations (previously affecting AnimatorController and Timeline export)

Install

Download for UnityDownload for Blender

needle-engine-support - 3.33.0-pre

Published by marwie 8 months ago

Needle Engine

  • Add: Needle Menu can now create Mute and Fullscreen buttons.
  • Add: Needle Menu buttons now have icons (configuration options will be added in a future version)
  • Add: Needle Menu postMessage support to inject buttons to open an URL
  • Add: SyncedRoom now creates a Join Room button to the menu (or Leave Room button)
  • Add: WebXR support for the Needle Menu
  • Add: Pre-XR room when user enters via sessiongranted when the main content is still loading
  • Add: OneEuroFilter reset method
  • Fix: Resume AudioContext when interrupted (happens e.g. on VisionOS when entering VR)
  • Fix: GroundProjection should not be visible when in pass-through AR
  • Fix: XRController ray and hit rendering now correctly respects rig scale
  • Fix: Button with state transition colors now correctly work with alpha values
  • Fix: Issue where the Needle Menu was visible without any button or content
  • Change: Spatial console becomes visible when an error happens on local server while in XR

Unity Integration

  • Fix: Generate the correct template when user selects a template in the ExportInfo and then click the Unity Play button
  • Change: Improve the custom shader inspector for when the shader is a subasset or in an immutable package

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.28-pre

Published by marwie 8 months ago

Needle Engine

  • Fix: AR placement for Chrome 122

Unity Integration

  • EditorSync inspector now shows uninstall button while server is running

Install

Download for UnityDownload for Blender

needle-engine-support - 3.31.8

Published by marwie 8 months ago

Unity Integration

  • Change: auto compress option on ExportInfo now also generated progressive texture variants

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.27-exp

Published by marwie 8 months ago

Needle Engine

  • Fix: Quicklook export caused by typo in USDZ mime-type
  • Fix: Workaround iOS/visionOS bug: always include the tap trigger for audio even if nothing to tap on
  • Change: Input addEventListener can now take options as a third argument

Install

Download for UnityDownload for Blender

needle-engine-support - 3.31.7

Published by marwie 8 months ago

Needle Engine

  • Fix: PostProcessing Exposure not working anymore with tonemapping
  • Fix: PostProcessing multisampling being disabled on mobile
  • Change: bump postprocessing package to 6.34.3
  • Change: Improve PostProcessing when tonemapping is enabled

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.26-exp

Published by marwie 8 months ago

Needle Engine

  • Add: Needle Menu. This first version will contain the WebXR options for now. Future versions will allow for more configuration
  • Fix: webpack based project code optimization. This will improve e.g. nextjs production builds
  • Fix: Raycasting offset in AR for touches near the screen border
  • Fix: Spatial console text z fighting
  • Fix: PostProcessing Exposure not working anymore with tonemapping
  • Change: NeedleWebXRHtmlElement has been renamed to WebXRButtonFactory
  • Change: bump postprocessing package to 6.34.3
  • Change: Improve PostProcessing when tonemapping is enabled

Unity Integration

  • Change: Automatically enable progressive textures when overriding TextureImporter settings for Needle Engine platform

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.25-exp

Published by marwie 8 months ago

Needle Engine

  • Fix: WebXR switching between controllers and hands
  • Fix: WebXR onControllerAdded being called twice at the start of a session
  • Fix: WebXR buttons container should not capture pointer events
  • Fix: Improve spatial console (visible in XR with ?console in the URL)
  • Fix: Allow audio playback once a XRSession starts
  • Fix: USDZ fill in missing transform data when multile animation clips on the same object have different detected animation roots
  • Fix: generated USDZ mime type
  • Change: new cleaner loading screen

Unity Integration

  • Change: ExportInfo.AutoCompress now also generates progressive textures for local dev

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.24-exp

Published by marwie 8 months ago

Needle Engine

  • Add: Spatial debug console, add ?console url parameter to get a debug console in XR floating before the camera view
  • Add: OpenURL component support for opening email addresses (without mailto: prefix, just enter your email address in the url field)
  • Add: Progress api for performance logging (use via Progress.start, Progress.report and Progress.end)
  • Fix: error when using RenderTextures
  • Fix: USDZ text material missing
  • Fix: USDZ prevent unclear animation export error
  • Fix: USDZ improve endTimeCode calculation
  • Fix: USDZ improve audio export, implicit register audio sources with scene start triggers
  • Change: USDZ unpremultiplied texture readback on chrome
  • Change: Expose DragControls.DragMode enum

Unity Integration

  • Change: bump helper package dependency

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.23-exp

Published by marwie 8 months ago

Needle Engine

  • Add: FileReference support to reference, export and load almost any file:
    @serializable(FileReference)
    myFile?: FileReference;
    
  • Add: initial support for building PWAs with needle engine and vite-plugin-pwa
  • Fix: VideoPlayer false check in videoElement getter

Unity Integration

  • Fix: WebXR component false warning for missing Avatar component
  • Change: improve WebXR component DX (for example when the WebARSessionRoot component is present in the scene the WebXR component will render the correct userScale value)

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.22-exp

Published by marwie 8 months ago

Needle Engine

  • Add: Needle build-pipeline plugin to run compression as part of the vite build process
  • Fix: Loading of progressive textures in Canvas UI
  • Fix: Loading of progressive textures in Spritesheet renderer
  • Change: SpritesheetRenderer does now directly apply rounded sprite index (instead of relying on the value to be an integer)

Unity Integration

  • Change: Vite projects are now running build:dev for production builds as well since the compression is handled by the new needle build-pipeline vite plugin
  • Change: Update UnityGLTF dependency from 2.8.1-exp to 2.9.1-rc
  • Change: Click on Install in ExportInfo now runs install in all locally installed packages (e.g. all references npmdef packages)

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.21-exp

Published by marwie 8 months ago

Needle Engine

  • Add: USD displayName support for nodes and materials
  • Fix: input double click data on iOS
  • Fix: USDZ material indenting
  • Fix: check if linearVelocity exists on XRPose to prevent typecheck error in CI environment
  • Change: export USDZ materials, geometry and textures with proper names related to their original names
  • Change: improve USDZ opacity and opacityThreshold conversion, add minimal alphaHash support since QuickLook seems to allow that now

Unity Integration

  • Fix: ensure supported three.js is installed in needle engine web projects
  • Change: WebXR component now shows infos about assigned avatar and shows a Fix button

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.20-exp

Published by marwie 8 months ago

Needle Engine

  • Fix: WebXR buttons should catch exception when accesing navigator.xr which can happen in iframe without spatial-tracking permissions
  • Fix: Issue where getPointerDelta(pointerId) did not return data when using multitouch except for the first touchpoint
  • Fix: Issue where backgroundBlurriness and backgroundIntensity would not be reset to the default when enabling a camera that didnt have explicit settings (NE-4243)
  • Change: getComponentsInChildren and getComponentsInParents now clear the optionally provided buffer arrays by default

Install

Download for UnityDownload for Blender

needle-engine-support - 3.32.19-exp

Published by marwie 8 months ago

Needle Engine

  • Fix: CanvasGroup causing performance to drop over time
  • Change: Expose createNewRenderer() on context

Install

Download for UnityDownload for Blender

Package Rankings
Top 3.58% on Npmjs.org
Badges
Extracted from project README
Version Downloads Discord Shield Forum Shield
Related Projects