5.1.0-alpha.7
·
42 commits
to main
since this release
Highlights:
- Major
DragControlsupgrade — new constraint system with scale limits, refined regions, and a dedicated AR drag mode - Updated MaterialX runtime with faster environment lighting and PMREM support
- Updated Unity build pipeline with WAV audio and HDRi (
FASTHDR) compression
Needle Engine
Added
DragControlsreceived a substantial round of improvements with a new constraint system, including akeepScaleoption, a two-touch scale constraint with min/max limits, refined hit regions, and a dedicated screen-space AR drag modeSkybox: newbackground-rotationandenvironment-rotationHTML attributes, plusbackground-image-loadedandenvironment-image-loadedevents to react to skybox load completionInput: input cancellation support (e.g. when a pointer is disconnected mid-interaction)loadPMREM: auto-detects image format for extensionless URLsAudioSource:.opusclip URLs are now supportedGroundProjectionEnv.applyOnAwakenow defaults totrue, matching Unity and Blender behaviour
Changed
OrbitControls:lockLookAtTargetnow preserves the pointer target when double-clicking to focusPostProcessing: pixelation granularity adapts dynamically to device pixel ratioDragControls: rotation is now limited to two-touch and XR controller input for more predictable single-touch dragging- Hardened internal logging: secrets (API keys, tokens, JWTs, PEM keys, URL credentials, …) are now redacted before logs are written to disk — a defensive measure so log files shared during debugging never leak credentials
Fixed
DragControls: improved reliability across snap points, screen-space AR drag mode, double-click handling,XZPlaneside-view and Y-axis behaviour, multi-input rotation, and touch handover (NE-4418, NE-5413, NE-5887, NE-5891)Camera: improved fallback camera andCameraUtilslifecycle handling, andfitCamerastability when meshes are parented to the target cameraContext.clear()now resetsmainCameraandfallbackCameraso they always point at live cameras after a scene wipeSkybox: more efficient attribute handling — load cycles are deduplicated,background-intensityis honoured, and magic-name skyboxes resolve correctly when attributes are set at mount timeVideoPlayer.isPlayingnow reports streamed sources and file playback independently and correctlyDropListener:loadFromFilenow always resolves- Progressive LOD: more reliable instancing, request scheduling, vertex count handling, texture LOD tracking, and disposal lifecycle
VoIP: better mic stream handling on iOS, accuratesetMutedfor incoming streams, clamped volume, sharedAudioContext, and coalesced concurrentconnect()calls- Custom model loaders: MIME type check moved earlier so custom loaders reliably take over
- General reliability improvements across webmanifest handling, dependency watcher, DTS generation, AI helper install, and file logger
MaterialX
- Updated bundled MaterialX runtime to 1.7.0 with faster environment lighting (new radiance sampling modes, PMREM support), better integration with Three.js (texture sampling, environment rotation, alpha modes), and overall performance improvements
- Unity: MaterialX export in Needle Engine projects no longer requires a PRO license
Unity Integration
- Updated to
@needle-tools/gltf-build-pipeline3.0 — a major version bump that adds WAV audio compression and HDRi → PMREM (FASTHDR) compression to the build pipeline - Updated to
needle-cloudCLI version 2 with security hardening - Add: context menu action to compress the output directory (required when a scene uses
SceneSwitcherwith dependencies)
Links
Download for Unity • Download for Blender • Documentation • API • Live Samples