Releases & Changelogs

Needle Engine 4.2.6

Unity Integration

  • Change Needle Engine dependency semver to ensure npm doesnt install 4.3 automatically

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.1

Needle Engine

  • Add: Expose lifecylcle hooks in Needle global scope for usage in commonjs or without a bundler. For example this allows to subscribe to the update event with Needle.onUpdate(ctx => console.log(ctx.time.time)).
  • Fix: OrbitControls micro-movement after a pointer event was already used. For example previously when using DragControls and starting to drag an object the camera would still move slightly before stopping during drag. This is not the case anymore now and the camera does not move anymore during interaction with other objects.
  • Fix: Canvas UI render settings not being applied in one rare case causing a worldspace image not being set to double sided rendering.

Unity Integration

  • Change: Needle Engine dependency semver changed to ensure NPM doesnt automatically update minor versions when installing a web project (e.g. updating 4.2.x to 4.3.x). Previously this could cause a web project using @needle-tools/engine@4.2.5 to be updated to @needle-tools/engine@4.3.0. This makes updating versions more predictable and deliberate using Unity.
    NOTE: It’s possible to prevent Unity from changing web project versions completely by using the npm package alias syntax in your web project. For example: "@needle-tools/engine": "npm:@needle-tools/engine@4.0.0" will lock the package version to 4.0.0. When using this syntax it’s up to you to manage the installed package version.

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta

Needle Engine

  • Add: this.context.time.fps returning the FPS for the current frame (for a more stable FPS value smoothedFps can be used)
  • Change: The PostprocessingManager component does now expose a multisampling property which is set to "auto" by default. By setting multisampling to a number it will force postprocessing to the configured samples.
  • Fix: Issue where instancing with multiple different geometries being batched together did sometimes be cause wrong rendering when many objects where removed and added again. This was caused by a bug in the internal bucketing mechanism which is not necessary anymore with the new BatchedMesh version.

Unity Integration

  • Fix: Context menu exporting a GLB file and selecting the compress option did not apply progressive optimization and not produce texture or mesh LODs.

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta.1

Needle Engine

  • Fix: Bug when loading glTF files without any components where a reference to the loaded glTF structre was kept in memory causing the memory to not be freed

Unity Integration

  • Fix: Update dialogue should not open automatically when using a stable package version and a new beta version is available
  • Fix: Unity EditorSync should work with GenericInspector instances in Unity versions that use VisualElements / UI Toolkit now

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta.2

Needle Engine

  • Add: Documentation for Gizmos API

Unity Integration

  • Fix: Unity error when adding a new component caused by recent editor sync change
  • Fix: Handle NPM cache error when generating font assets

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta.3

Needle Engine

  • Fix: Support for three.js core postprocessing effects

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta.4

Needle Engine

  • Fix: Start loading earlier for skybox-image and environment-image when configured in <needle-engine> web component. Previously it would only start loading the HDRi or EXR images after the root glTF file was finished loading. Now it will start downloading earlier which improves the time until the scene is ready to be displayed.
  • Fix: Update vite license check using the latest CLI version
  • Fix: Issue related to loading the root scene where range requests (e.g. when download urls without a file extension) caused Chrome to remove previously full downloads to be removed from disc cache
  • Remove: Vite license check does not support Node 16 anymore

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2 beta.5

Needle Engine

  • Change: Improve Vite preload link injection into HTML head
  • Fix: Vite dependency-watcher plugin warning

Unity Integration

  • Fix: Console error in BuildWindow
  • Remove: NeedleEngineModules component and warning

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples

Needle Engine 4.3.2

Needle Engine

Added

  • Documentation for Gizmos API
  • this.context.time.fps returning the FPS for the current frame (for a more stable FPS value smoothedFps can be used)

Removed

  • Vite license plugin check does not support Node 16 anymore

Changes

  • Improve Vite preload link injection into HTML head
  • The PostprocessingManager component does now expose a multisampling property which is set to "auto" by default. By setting multisampling to a number it will force postprocessing to the configured samples.
  • Downloading of <needle-engine> attributes for skybox-image and environment-image does now start earlier. Previously it would only start loading the HDRi or EXR images after the root glTF file was finished loading. Now it will start downloading earlier which improves the time until the scene is ready to be displayed.

Fixed

  • Vite dependency-watcher plugin warning
  • Vite license check plugin is now using the latest Needle CLI version
  • Browser cache busting issue related to loading the root scene where range requests (e.g. when download urls without a file extension). This caused Chrome to remove files from the disc cache causing a re-download
  • Three.js core postprocessing effects support
  • Loading glTF files without any components (e.g. when directly downloaded from Sketchfab) was causing Needle Engine to falsely keep a reference to the loaded glTF structure.
  • Instancing issue where instancing did sometimes renderer wrong geometry when many objects where removed and added again and multiple different geometries were batched together. This was caused by a bug in the internal bucketing mechanism and has now been removed since it’s not necessary anymore.

Unity Integration

Removed

  • NeedleEngineModules component and warning

Fixed

  • Console error in BuildWindow
  • Unity error when adding a new component caused by recent editor sync change
  • Handle NPM cache error when generating font assets
  • Update dialogue should not open automatically when using a stable package version and a new beta version is available
  • Unity EditorSync should work with GenericInspector instances in Unity versions that use VisualElements / UI Toolkit now
  • Context menu exporting a GLB file and selecting the compress option did not apply progressive optimization and not produce texture or mesh LODs.

:bullseye: Download Unity Plugin :package: Install from NPM
:octopus: Changelog on Github :bookmark_tabs: Needle Engine API
:light_bulb: Get started :sparkles: Samples