Releases: needle-tools/needle-engine-support
Release list
5.1.13
- Fix: Release scene resources, asset caches, event listeners, and loading UI when disposing a context or removing a needle-engine element.
- Fix: Prevent pending progressive LOD loads from restoring disposed resources.
- Fix: Release geometry retained by BVH worker callbacks.
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
4.16.12
Needle Engine
- Fix: Release scene resources, asset caches, event listeners, and loading UI when disposing a context or removing a needle-engine element.
- Fix: Prevent pending progressive LOD loads from restoring disposed resources.
- Fix: Release geometry retained by BVH worker callbacks after completed or failed jobs.
Unity Integration
- Fix: Backport Unity 6 EntityId API compatibility and update UnityGLTF to 2.19.5 for newer Unity render pipeline APIs.
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
6.0.0-alpha.3
Needle Engine
- Add:
exportAsGLTFonlyVisibleoption to export only the visible objects - Add:
PostProcessing.enabledto toggle the whole postprocessing stack at runtime - Add: object layers can be set by name, not only by Unity layer index
- Fix: mirrored and negatively-scaled instances render correctly (NE-7069)
- Fix: XR hand and controller models render in both eyes again
- Fix: custom XR hand models are visible again, and
showHandModelsreliably shows/hides them - Fix: instantiated lights keep their targets and no longer leak into exports
- Fix: lower memory use over time — destroyed and detached objects (cloned textures, physics colliders, objects removed via the raw three.js API) are no longer pinned alive by engine registries
- Fix: AR passthrough hides the scene background across all camera clear-flag modes
- Change:
SyncedRoomwarns (in dev) when a URL parameter overrides the component'sroomName
Unity Integration
- Drag splat files into the scene or hierarchy to create a
GaussianSplat GaussianSplatinspector shows splat count and content size- More robust splat preview (progress dialog, outlier-proof bounds, shared cache)
- Person-scale reference in the AR placement gizmo
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
5.1.12
- Fix: mirrored and negatively-scaled instanced meshes now render correctly (NE-7069)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
5.1.10
- Add: turn the whole postprocessing stack on or off at runtime with
PostProcessing.enabled - Fix: scene brightness no longer shifts when XR hand models are shown or hidden
- Fix: the
showHandModelstoggle now reliably shows or hides XR hand models - Change:
SyncedRoomwarns (in development) when a room-name URL parameter overrides theroomNameset on the component, making it easier to diagnose ending up in an unexpected room
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
6.0.0-alpha.2
Try the Gaussiansplatting demo here
Needle Engine
Added
- Gaussian splats:
.radfile support — compressed splats in seekable chunks, enabling streaming and progressive loading of large splat scenes - Gaussian splats: automatic quality adaptation — quality is reduced under low fps in verified steps (a step that doesn't measurably help is reverted), including dynamic render-resolution scaling inside running AR sessions
Context.xrFrameRateLimit— cap the frame rate of XR sessions (applied through WebXRupdateTargetFrameRatewhere the device supports it); the mobile splat quality preset caps AR at 30 fps to keep phones cool- iOS AR (Needle Go): WebXR image tracking — markers are detected and tracked reliably, even in sessions that start before the scene has finished loading
- iOS AR (Needle Go): native AR diagnostics (tracking quality, marker validation, device thermal state) are forwarded to the browser console during development — debug on-device sessions without a cable
Changed
- Splat quality presets tuned for mobile AR: per-device splat budgets, thermal-friendly defaults and reduced sorting overhead
Fixed
- iOS AR: correct render resolution on 3x displays — a significant performance boost on Pro-class iPhones
- Dev server: fast, reliable first page load on devices after a restart — the module graph is pre-warmed and interrupted boots recover automatically
Unity Integration
GaussianSplat: point cloud preview in the scene view — referenced splat files (.ply/.spz/.sog/.splat) show as a sampled point cloud with real bounds, sized points and depth cues instead of an empty box- Compression pipeline: splats are now compressed to the RAD format — seekable chunks enable streaming and progressive loading of large splat scenes
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
5.1.9
Needle Engine
Added
WebXRImageTracking: friendlieraddImageAPI for registering marker images- Clearer diagnostics for iOS App Clip AR sessions (Needle Go), surfaced to developers (See also
/.node_modules/.needle/logs) - Dev warning when a tracked image has an invalid marker size
Fixed
- iOS App Clip AR (Needle Go):
WebXRImageTrackingtracked images are no longer dropped on the first AR entry, and markers now register correctly even when AR starts before the scene has finished loading - iOS App Clip AR (Needle Go) now respects the session's framebuffer scale for correct rendering resolution
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
5.1.8
Needle Engine
- Docs: clarified VR teleport targeting — the teleport ray hits rendered meshes, not physics colliders, so a teleport target needs a visible mesh but no collider
Unity Integration
- CLI / CI: headless batch exports can now verify the license non-interactively with a
NEEDLE_CLOUD_TOKENenvironment variable or-tokenargument, without an interactive browser login (required on build machines where no browser is available) - CLI / CI: fixed headless builds wrongly stopping with "required software not installed" — the Node.js / npm detection now completes before the build proceeds (it previously raced the build and reported a false negative)
- CLI / CI: project-validation problems and build failures are now logged with actionable messages in batch mode instead of trying to open editor windows (which failed or threw in headless), so CI failures are debuggable
- XR: added inspector warnings on controller components — flags when no WebXR component exists in the scene, and when WebXR will add a second, competing controller-movement handler at runtime (with a one-click fix)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
6.0.0-alpha.1
Needle Engine
Added
GaussianSplatcomponent (experimental) — load.ply/.spz/.sogsplats via Spark, with LOD and correct raycasting/bounds- WebXR: anchors (
useAnchors) are now enabled by default
Changed
- Updated bundled three.js to r185
- Updated MaterialX runtime
- Improved XR error messaging when a session can't start
Fixed
- WebXR:
setSessionnow works with WebXR emulators/polyfills that supply a non-native session (falls back to theXRWebGLLayerpath) - Bounds are reported as incomplete for still-loading async objects, and
GroundProjectionre-fits once they're ready - Raycasting and bounds now work for non-
Meshobjects (e.g. splats) - Custom model loaders are no longer tree-shaken out in code-only projects
- SSR: various import/emit fixes
- Postprocessing: pipeline build failures are now surfaced instead of failing silently
Unity Integration
- Updated build pipeline to
@needle-tools/gltf-build-pipeline4.0 — adds compressed splat (SOG) support and replaced-source events
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
5.1.7
Needle Engine
- AR: scenes now stay anchored to the real world (WebXR anchors, on by default) — placement survives tracking loss and keeps user adjustments; falls back to plain placement where unsupported
- XR: clearer error when the device or browser blocks AR/VR (instead of a misleading "configuration not supported")
- SSR: fixed builds in SvelteKit, Next.js and Nuxt ("Entry module cannot be external") and a
navigatorcrash during server-side rendering - Vite: hint for PRO licenses on multi-team Needle Cloud accounts, and guidance for a known Rolldown crash in Vite 8.1
- Updated MaterialX to 1.7.4 (instancing transforms in nodegraph functions, stable glossy reflections with prefiltered KTX2 environments)
Unity Integration
- WebXR component: Use XR Anchor is now enabled by default for new components and scene templates. Existing scenes keep their saved value — enable the checkbox to opt in.
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples
