# Changelog
All notable changes to this package will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [0.60.0] - 2025-04-10
- Add: Update Needle Engine to latest 4.5 and use Needle Cloud authentication
- Add: Deploy to Needle Cloud

## [0.52.4] - 2025-01-21
- Fix: Blender 4.0 not showing important options

## [0.52.3] - 2025-01-21
- Fix layout error in Blender 4.0

## [0.52.2] - 2025-01-21
- Fix: Handle issue where toktx version could not be parsed due to text encoding
- Fix: When using auto-export on save the scene should not be dirty after export
- Change: Update Needle Engine to latest stable 3.51.0

## [0.52.1] - 2024-12-20
- Fix: Issue where restarting the server would fail

## [0.52.0] - 2024-11-29
- Fix: Blender 4.3 plugin hooks

## [0.51.8] - 2024-10-14
- Fix: error where texture source in exporter hook is None

## [0.51.7] - 2024-09-27
- Fix: `gather_animation_channel_hook` api change for Blender 4.2.2 (LTS)

## [0.51.6] - 2024-09-27
- Improve viewport menu popover appearance

## [0.51.5] - 2024-09-27
- Fix: HTTP error in updater

## [0.51.4] - 2024-09-25
- Fix: resolve asset reference using the data block instead of evaluated representation (e.g. for ChangeMaterialOnClick)
- Fix: Remove component button is disabled if no object is selected

## [0.51.3] - 2024-09-04
- Revert change in `gather_animation_channel_hook` method signature causing export error due to [inconsistent hook in Blender's glTF exporter #2337](https://github.com/KhronosGroup/glTF-Blender-IO/issues/2337)

## [0.51.2] - 2024-09-02
- Fix: Export issue if addon gets disabled and user tries to export a glTF
- Update: Needle Engine to 3.47.6-beta  

## [0.51.1] - 2024-08-21
- Fix: Issue with drawing the projects panel

## [0.51.0] - 2024-08-08
- Add: Initial `File/Export glTF` options for Needle Engine to allow exporting files that only contain the Needle Engine Components that are setup in the scene.
- Fix: Issue where AnimatorController condition export didn't work properly when the blend file contained multiple controllers
- Update: Needle Engine to 3.47.2-beta  

## [0.50.9] - 2024-08-01
- Fix: Error in project settings panel due to WebXR component in scene

## [0.50.8] - 2024-07-31
- Update: Needle Engine to 3.47.0-beta

## [0.50.7] - 2024-07-26
- Add: `NLA Tracks` option to automatically export NLA tracks as a PlayableDirector component + Timeline
- Add: DropListener and RemoteSkybox options
- Add: Depth-Sensing option
- Update: SceneSwitcher component
- Update: Needle Engine to 3.46.1-beta

## [0.50.6] - 2024-07-24
- Add: Allow creating custom components in temporary project
- Change: Modify viewport menu
- Change: Improve update check

## [0.50.5] - 2024-07-23
- Add: AR scale option to project settings
- Change: enable WebXR support by default
- Change: Groundprojection now uses blending with the real world in immersive-ar
- Change: Update Needle Engine to 3.46.0-beta

## [0.50.4] - 2024-07-19
- Update: Needle Engine to 3.45.2-beta.4

## [0.50.3] - 2024-07-18
- Fix: Minor internal blender addon issue
- Change: GroundProjection does by default now use 30% of the camera far plane for the radius
- Update: Needle Engine to 3.45.2-beta.3

## [0.50.2] - 2024-07-17
- Fix: Issue that caused Blender to crash sometimes when lightmapping complex scenes
- Update Needle Engine to 3.45.2-beta

## [0.50.1] - 2024-07-16
- Add: Show progressbar while AutoCompression is running
- Add: Show UI warning if Node is not installed
- Add: Toggle to enable Quicklook support
- Fix: Support for exporting of packed skybox (EXR/HDRI) images
- Update Needle Engine to 3.45.1-beta.7

## [0.50.0] - 2024-07-15
- Add: Support for multi-editing Needle components when having multiple objects selected (add, remove, modify properties)
- Add: Server and export settings controls to the blender edit menu at the top of the viewport
- Add: Temp web project support which automatically generates a web project in the temp directory if no specific path is assigned
- Add: Blurred Groundprojection support
- Fix: Issue on OSX when running the server start command
- Fix: Compat issue in Blender 3.6 caused by NodeSocket import
- Fix: Timeline export error
- Improve lightmapping Blender preview

## [0.49.0] - 2024-07-12
- Add: Support for Viewport Shading rotation export
- Add: World color can now be exported as skybox. When Viewport Shading is set to `world` the scene world can be set to a color.
- Add: World color transparency export. When Viewport Shading is set to `world` the scene world color alpha channel will be exported. This allows for fully- or semi-transparent rendering in the browser where the 3D scene can be blended with HTML content or CSS styling in the background.
- Update Needle Engine dependency for improved avatar rendering when using controller or hand model rendering.

## [0.48.0] - 2024-07-11
- Add: New Needle Engine panel options:
  - skybox ground projection
  - contact shadow darkness
  - OrbitControls toggle
- Add: Preference option to disable automatic web project package version management for Needle Engine package
- Fix: Export error when an assigned material to ChangeMaterialOnClick was not part of the scene
- Change: AutoCompress default changed to false for faster iteration 
- Update Needle Engine version to 3.45.0-beta.1 which fixes a bunch of issues when combining ground projection with contact shadows as well as loads a default WebXR avatar when no avatar is assigned

## [0.47.0] - 2024-07-10
- Add: Needle Engine panel options to simplify scene setup to enable common options.   
  **New Options**:
  - immersive VR
  - immersive AR
  - Contact Shadows
  - Networking
  - Voice over ip (voip)
  - QR Code button
  - Mute button
  - Fullscreen button
- Add: Voip component
- Update: Needle Engine version to 3.44.6

## [0.46.0] - 2024-07-05
- Add: ContactShadows option to Needle Engine project settings to automatically add contact shadow rendering to the exported scene
- Add: Support for AgX tonemapping (when the Blender scene is set to AgX in Render/Color Management/View Transform)
- Add: Support for tonemapping exposure (in Render/Color Management/Exposure)
- Add: Needle Engine project settings now have mute, fullscreen and QRCode button options
- Fix: Bloom export
- Blender UI: Needle Engine project settings are now in a collapsible sub-panel
- Update: Needle Engine version to 3.44.2

## [0.45.0] - 2024-07-04
- Add: Expose components for XRControllerMovement, XRcontrollerModel, Deletable, DeleteBox, TeleportTarget, ChangeMaterialOnClick, PlayAnimationOnClick, Avatar and PlayerState
- Add: Blender samples and download samples button to menu `Help/Needle/Download Samples` and addon preferences
- Add: Samples for   
  - Animated Character  
  - Ground Projected Skybox 
  - Collaborative Sandbox 
  - Spatial Audio
  - USDZ Animator
  - USDZ Interactivity 
  - WebXR Custom Avatar
  - WebXR Custom Hands
- Fix: Export of referenced materials is now deferred to the end of the exporting process 
- Fix: Exporting assigned main scene (in Needle Engine panel) even when another scene is currently active
- Fix: Log error and show a message in Needle Engine panel when a wrong scene is being exported
- Change: Update Needle Engine to version 3.44.0
- Change: AnimatorController parameters panel is now drawing UI for all parameters in the controller.

## [0.44.5] - 2024-06-28
- Add everywhere action components for `SetActiveOnClick` and `ChangeMaterialOnClick` 
- Fix: Export for material and texture references from components

## [0.44.4] - 2024-06-24
- Add: Support for loading `.wav` files in AudioSource

## [0.44.3] - 2024-06-13
- Add: Expose Animator `play()` function so it can be called from a Button component: Button.onClick → select AnimatorController and `play(<state-name>)` function
- Fix: Blender 4.1 animatorcontroller conditions
- Change: AnimatorController nodes should always show the state name (not the assigned action name)

## [0.44.2] - 2024-06-10
- Add: OrbitControls `clickBackgroundToFitScene` exposed 
- Fix: Issue where the WebXR `createQRCodeButton` option stopped working
- Fix: Build log output is now written to the Needle Log - accessible via Blender Menu at `Help/Needle/Log` 
- Fix: Issue where vscode workspace couldnt be opened because it didn't exist. Now the button creates a workspace file if none is found
- Change: Bump Needle Engine dependency to ^3.40.0 alpha and use latest build pipeline.    
  Note: Existing vite web projects need to be manually updated 
  Note: Make sure to install Toktx version 4.3 or newer. Download from https://engine.needle.tools/docs/getting-started

## [0.44.1] - 2024-06-04
- Add: Expose option to hide Needle logo in menu (on Needle Engine scene panel `Show Needle Logo in Menu`)
- Fix: Allow script properties to start with underscore (e.g. `_myFloat`)

## [0.44.0] - 2024-05-29
- Change: Update Needle Engine to 3.38.0-alpha.1
- Change: Don't enable autofit by default. Only if no camera is in the scene at all or if OrbitControls `autofit` is enabled
- Change: Use `needlePlugin(command, config, { openBrowser: true })` in the vite template to automatically open the browser's network address instead of localhost. This makes it easily possible to test your application on e.g. phones or XR headsets in the same local network

## [0.43.2] - 2024-05-10
- Change: Update needle-engine to latest 3.37.10-alpha

## [0.43.1] - 2024-05-01
- Fix: Error during shader socket export in Blender 4.1

## [0.43.0] - 2024-04-25
- Add: Option to disable progressive meshes in Scene / Needle Engine Panel
- Add: Option to disable compression on export in Scene / Needle Engine Panel
- Add: `XRRig` component
- Change: Update USDZExporter componnet

## [0.42.0] - 2024-04-19
- Add: OrbitControls now has LookAtTarget that can take an object. If set the OrbitControls will rotate around that object's pivot
- Change: Update needle-engine to latest 3.37.3-alpha

## [0.41.1] - 2024-04-18
- Add: LookAt component exposed in UI

## [0.41.0] - 2024-04-02
- Add: Support for local compression and automatic LOD generation
- Change: Update Needle Engine panel buttons
- Bump Needle Engine version to 3.36.0-beta

## [0.40.0] - 2024-03-27
- Bump Needle Engine version to 3.35.0-beta
- Change: Update WebXR component

## [0.33.7] - 2024-01-03
- Fix: changed colorspace options for lightmapping in blender 4
- Change: allow lightmapping without any lights selected for being used for lightmapping (in case the scene is just lit by the environment)

## [0.33.6] - 2024-01-01
- Fix: Export of AnimatorController bool transition conditions
- Change: Project Panel now shows currently installed needle engine package version

## [0.33.5] - 2023-12-30
- Fix: `Run Server` did start server twice
- Fix: resetTrigger was missing string argument
- Bump Needle Engine version to 3.28.7-beta

## [0.33.4] - 2023-12-30
- Add: support for event lists to pass in arguments for allowing to call `animator.setBool`, `setTrigger` and `toggleBool` from Blender without having to write code
- Bump Needle Engine version to 3.28.6-beta

## [0.33.3] - 2023-12-29
- Fix: animatorcontroller condition serialization when animatorcontroller node tree wasnt selected
- Fix: error in lightmapping panel in Blender 4
- Fix: create custom script from blender component panel on OSX
- Change: create nodejs project button does now also immediately install and run the local server upon creation

## [0.33.2] - 2023-12-28
- Fix: allow node 20 LTS when installed using NVM

## [0.33.1] - 2023-12-21
- Fix: issue where node version was queried too often if it wasnt installed or found on the system

## [0.33.0] - 2023-12-11
- Start update to Blender 4
- Add: OpenURL component
- Change: update PlayAnimationOnClick and OrbitControls schemes to match latest Needle Engine version

## [0.32.11] - 2023-11-16
- Fix: issue with wrong animation pointer export caused by Blender's glTF exporter sorting actions after they have already been gathered resulting in messed up indices

## [0.32.10] - 2023-11-15
- Fix: PlayAudioOnClick panel not being able to select AudioSource

## [0.32.9] - 2023-11-15
- Add: PlayAudioOnClick component
- Fix: resolving animation pointer on AnimatorController states

## [0.32.8] - 2023-11-15
- Add: ContactShadows component
- Add: PlayAnimationOnClick component
- Fix: Export of animatorcontroller
- Fix: Prevent exporting of objects that are not part of any scene
- Change: Bump Needle Engine dependency to latest

## [0.32.7] - 2023-11-06
- Change: open directory as fallback if the web project does not contain a vscode workspace
- Change: lightmap texture export and conversion
- Fix: Catch exception if blender panel json contains invalid json preventing panels from disappearing
- Fix: Lightmap export should not contain color data (resulting in color applied twice). Preview does not show lightmap only

## [0.32.6] - 2023-11-02
- Fix: issue where lightmap bake would fail when bake target is not set to IMAGE_TEXTURE. This is now temporarely set for bake mode PREVIEW or HIGH
- Fix: issue where lightmap packing would fail if UV didnt have correct name
- Fix: improved error stacktraces in log
- Change: Add logs to auto update button and show overlay message if operator fails

## [0.32.5] - 2023-11-01
- Add: `WebXRPlaneTracking` component
- Fix: Export of object layers
- Fix: Export of object reference resolving when scene contains Armature / bones (this did previously result in wrong node ids)
- Fix: Export for embedded audio data
- Change: minor improvements to Needle Engine panel
- Change: regenerate Blender panels when project path changes
- Change: added external files are now by default loaded using a blend file relative path (if the blend file is saved)
- Change: Bump Needle Engine version to 3.22.2

## [0.32.4] - 2023-10-30
- Add: UI hint if toktx is not installed
- Change: allow using Node 20 LTS

## [0.32.3] - 2023-10-25
- Add: experimental "Apply Lightmap UVs" button to experimental options, those will transform the second UV channel (`NEEDLE_LightmapUV`) and apply the transformed data to the UVs. For this to work no mesh instances must be used.
- Fix: Lightmap error if no object was selected
- Fix: Lightmap didn't cleanup all created meshes after bake
- Change: improve lightmap baking

## [0.32.2] - 2023-10-23
- Change: always show bugreport panel
- Change: show message in needle engine panel if export failed, add button to open logs
- Change: always include packaged bugreport file into bugreport

## [0.32.1] - 2023-10-20
- Add: scalefactor per object in lightmap

## [0.32.0] - 2023-10-19
- Change: Update lightmapper, it now keeps UV channel 2 and renames it automatically to expected name. Objects are automatically unwrapped. The unwrapped UV layout can be modified manually. Baking options for Preview, High quality and custom are now available (where custom uses the current cycles settings to allow full control over bake quality). Experimental options for lightmapping objects in view and selected have been added
- Change: Texture export uses `auto` option again (instead of forced JPEG) because this broke lightmap at runtime where the alpha channel was used

## [0.31.2] - 2023-10-16
- Fix: remove duplicate menu item in `Help`
- Fix: camera background color export in certain cases
- Change: add generator metadata export

## [0.31.1] - 2023-10-13
- Fix: export of animationclip array (clips) in animation component
- Fix: export of embedded images when referenced as WebXRImageTracking image
- Change: default image format to JPEG with 100%

## [0.31.0] - 2023-10-10
- Add: WebXRImageTracking component (requires USDZExporter for working on iOS)
- Add: support to display complex datastructures in lists in Blender panel
- Add: `PlayableDirector.wrapMode` option
- Fix: external assets are now serialized with path relative to glTF
- Change: Bump Needle Engine dependency to ^3.19.8

## [0.30.2] - 2023-10-05
- Fix: don't add Needle Extensions when exporting with menu item `File/Export`
- Change: Move Needle Share access token to addon preferences and automatically generate a project id if none is assigned 

## [0.30.1] - 2023-10-05
- Add: object menu item to link meshes for selected objects
- Change: Needle Share uses npx and doesn't require web project at all
- Change: Use blender builtin python when starting server without nodejs

## [0.30.0] - 2023-10-04
- Add: initial export for bloom and ambient occlusion (via Render tab with evee selected)
- Fix: starting of local server on OSX with HTML project (no nodejs)
- Change: assets directory will now be emptied before exporting again
- Change: external process commandline details will now be hidden (to not display secrets)

## [0.29.2] - 2023-10-02
- Change: improve auto update feedback

## [0.29.1] - 2023-10-02
- Add: AudioSource and VideoSource can now load and reference mp3 and mp4
- Change: skinned mesh will now automatically get an SkinnedMesh component to properly handle three.js culling

## [0.29.0] - 2023-10-02
- Add: automatic update button
- Add: bugreporter now creates a packed blend file to report a bug
- Add: additional options exposed in DragControls and OrbitControls panels 
- Fix: error when exporting referenced scene without a blender world
- Fix: issue with filtering blender scene to exclude objects from being exported
- Change: texture settings export now handles emissive textures
- Change: show dialogue message when export fails

## [0.28.3] - 2023-09-29
- Add: timeline shape keys animation export
- Fix: timeline action HOLD state after last keyframe (if the nla track is not a strip)

## [0.28.2] - 2023-09-29
- Add: toggle to `Needle Object` panel to mark a camera as "MainCamera" - this should be done in scenes with multiple cameras
- Add: VideoPlayer component
- Add: support to export actions in nla tracks in Needle Engine Timeline (animation actions that are not strips)
- Fix: animation export serialization
- Fix: issue with exporting texture referenced inside a component
- Change: PlayableDirector (timeline) now automatically collects all nla tracks in the scene when no object is explictly assigned (meaning when the array of animationtracks has a length of 0)

## [0.28.1] - 2023-09-28
- Fix: Regression in exporting animationclip references where clips would not be serialized correctly
- Fix: errors when importing glTF without extensions

## [0.28.0] - 2023-09-27
- Add: `--needle-project-path` CLI argument to directly open web scene and start the server when starting blender from the commandline
- Add: OrbitControls autoFit option to automatically fit the content into the camera viewport and set the rotation target to the center of the objects
- Fix: export animations with wrong index when using nla tracks in some cases
- Change: Improve project panel
- Change: Display warning in physics related panels if using physics is disabled
- Change: gzip compression is disabled by default but will automatically be enabled when deploying to glitch
- Change: Viewport "WorldOpacity" below 0.5 sets the camera background to solid color and uses the color in "World/Viewport Display". values above 0.5 will use the assigned HDRI map as the camera background
- Change: bump Needle Engine dependency to 3.19.2

## [0.27.1] - 2023-09-25
- Fix: lightmap error when selected object was hidden in viewport
- Change: don't export object at all when set to hidden in viewport AND hidden in rendering (eye or collection and camera icon turned off)

## [0.27.1] - 2023-09-25
- Add: collection viewport visibility is now reflected in web project
- Add: object viewport display set to `BOUNDS` are now also not visible in web project
- Fix: wrong project path for unsaved blender files 
- Fix: bugreporter not working on OSX

## [0.27.0] - 2023-09-20
- Add: automatically import `KHR_animation_2` animations as standard gltf animation for translation, rotation and scale
- Fix: rare issue where node install check was sometimes done in a directory that didnt exist anymore (when switching projects / deleting projects)
- Change: Bugreporter moved into own panel, include field for contact information and description
- Bump Needle Engine dependency
- Bump helper tools package dependency

## [0.26.10] - 2023-09-18
- Fix: node version not being queried by viewport panel
- Change: Update helper tools package

## [0.26.9] - 2023-09-18
- Add: UI for modifying an objects layer and tag
- Fix: node version not displayed anymore in Project panel

## [0.26.8] - 2023-09-16
- Add: tool for sending bugreports to Needle via bugreporter API (requires nodejs project)

## [0.26.7] - 2023-09-16
- Change: export objects that are not visible in viewport (only NOT export them if they're not visible in renderer)
- Change: always export renderer component as enabled if the object has a ShadowCatcher

## [0.26.6] - 2023-09-16
- Add: project panel is now also displayed in the Viewport panel
- Change: Remove component button is drawn again at the footer of the component instead of the header

## [0.26.5] - 2023-09-16
- Fix: HTML python server restart

## [0.26.4] - 2023-09-16
- Fix: Open Changelog button
- Change: Improve basic HTML workflow and UI feedback without nodejs installed
- Change: Clicking `Preview` in HTML workflow now also re-exports the current scene
- Change: Improve UI when no nodejs is installed -> show button to download nodejs
- Change: Add `Open Directory` button for HTML workflow
- Change: Prevent clicking `Install project` while installation is already running which caused Blender to crash in some cases
- Change: Make available update more prominent in project panel UI
- Change: Add Glitch logo to DeployToGlitch panel

## [0.26.3] - 2023-09-15
- Add: ShadowCatcher component
- Fix: codegen directory

## [0.26.2] - 2023-09-15
- Fix: Issue with registering addon
- Fix: Error caused by trying to access `package.json` in non-existing project
- Fix: License check on OSX
- Fix: Ensure scene gets re-exported when starting the local dev server (to make sure it shows the correct version)
- Fix: Animation export for Blender 3.6
- Fix: Remove component UI button for OSX not being visible 

## [0.26.0] - 2023-09-15
- Add: USDZExporter component
- Add: support to enter and apply Needle Engine license
- Fix: error in exception stacktrace handling if no internet connection is available at startup
- Change: draw component settings in header (enable, remove component)

## [0.25.0] - 2023-09-13
- Add: automatically handle updating some package.json dependencies to specific versions (e.g. needle engine)
- Add: export environment intensity export on the camera component

## [0.24.0] - 2023-09-13
This update requires Needle Engine 3.16.0-beta or newer
- Add: Support for HDR environment reflections
  EXR and HDR maps are now copied next to the exported GLB file. This change requires an update of Needle Engine. We also improved support for cases where the scene doesnt contain a camera. Cameras do, if not configured differently, also by default add OrbitControls
- Add: export viewport shading intensity
- Fix: Open local server on OSX now in separate terminal window (same behaviour as on windows)

## [0.23.1] - 2023-09-13
- Add: `useGzip` and `usePhysics` option on Needle Engine panel
- Add: export of Viewport skybox
- Add: `OrbitControls` to camera if no camera component is used in scene or explictly configured
- Change: generate needle.lock file during export to avoid multiple reloads of local development server

## [0.22.0] - 2023-09-12
- Add: Expose progressive texture settings again and add them to the Needle Engine Project panel (in the Scene tab)
- Add: `SceneSwitcher` component for referencing and exporting multiple blender scenes and switching between them at runtime
- Fix: selecting UASTC texture compression didnt work
- Fix: exporting of referenced scenes in Blender 3.6
- Change: add short timeout after deploying to glitch before opening the live url
- Change: minor restructuring of the Needle Engine Project panel

## [0.21.5] - 2023-09-12
- Change: improved texture compression UI to show information about where which textures is being used (slots like BaseColor, Emissive, Metallic)
- Change: include compression settings documentation in tooltip, which compression has which impact (for ETC1S, UASTC and WebP). Also include a link to the relevant documentation page

## [0.21.4] - 2023-09-11
- Fix: texture compression settings export
- Fix: production building, pass dist directory to commandline for compression to be applied

## [0.21.3] - 2023-09-05
- Add: vanilla js template and support for pre-bundled web project (without nodejs)
- Fix: vite project template
- Fix: camera `backgroundColor` export
- Change: improve vanilla js http server handling 

## [0.20.11] - 2023-08-13
- Fix: lightmap baking arguments for Blender 3.6

## [0.20.10] - 2023-07-24
- Change: clamp supported nodejs version to Node 18 LTS

## [0.20.9] - 2023-07-24
- Fix: skybox export running when exporting with regular glTF export

## [0.20.8] - 2023-07-21
- Fix: exception on export for Blender 3.6

## [0.20.7] - 2023-07-10
- Fix: exception when plugin was enabled in Blender 3.6

## [0.20.5] - 2023-06-13
- Fix: stopping process on linux

## [0.20.4] - 2023-06-13
- Fix: create new component for linux
- Fix: relative project paths for linux
- Fix: component compiler version in template

## [0.20.3] - 2023-06-13
- Fix: BoxCollider vec3 panel
- Fix: Opening logs on linux
- Fix: Blocking analytics request

## [0.20.0] - 2023-06-13
- Add: startup and addon installation analytics

## [0.19.0] - 2023-05-23
- Add: Deploy To Glitch panel in the scene category
- Change: Update web project template (package.json and vite.config)

## [0.18.3] - 2023-04-03
- Add: export textures and images from scripts
- Fix: ensure component watcher is running when creating new component or trying to add a new component
- Fix: handle generating components with vector4, quaternion, bool, material, texture and image types
- Change: open workspace when creating component
- Change: create new component dialog ESC + Enter handling

## [0.18.2] - 2023-04-02
- Add: dialogue when creating new component to enter class name
- Fix: component IO (e.g. when importing glTF with existing Unity components like unknown Renderers some Blender settings wouldn't be exported properly anymore)
- Fix: create new component will generate a new file path if a file with the same name already exists (instead of doing nothing)
- Fix export when no object was ever selected
- Fix: lightmap index resolving
- Change: start server should not run npm update, instead install does it

## [0.18.1] - 2023-03-31
- Fix: component generation with array
- Internal: add more logs related to component gen and watcher

## [0.18.0] - 2023-03-30
- Add: instancing option to material (select the material category and enable `Use Instancing` in the Needle Material Settings panel). In the browser you can check if an object is being rendered using instancing by adding `?debuginstancing` to your url.
- Add: Texture compression options (select the Material category in the Needle Material Settings panel - each texture has now an optional method to set a specific compression method. Compression will be applied during production builds)
- Add: `Create New Component` button to easily create a new typescript component from blender (a panel will be generated and updated automatically when editing the typescript class)

## [0.17.2] - 2023-03-27
- Fix: blender shadow bias export
- Change: remove `camera-controls` attribute from project template, OrbitControls should be explictly added in Blender 

## [0.17.1] - 2023-03-26
- Add: Networking component

## [0.17.0] - 2023-03-20
- Add: WebXR avatar export support
- Add: SyncedCamera component
- Add XRFlag component
- Fix: issues with exporting referenced scenes without main scene explictly set or no web project

## [0.16.5] - 2023-03-16
- Add guids on export to animatorcontroller, light, renderer and camera components
- Fix persistent asset json pointer
- Fix: lightmap breaking when encountering invalid uv layout (size of 0)
- Change: improve info in lightmapping panel
- Change: viewport panel text to Needle Engine

## [0.16.4] - 2023-03-16
- Fix: lightmapping error on OSX, selecting metal automatically now, add debug logs

## [0.16.3] - 2023-03-14
- Change: improve server startup feedback
- Change: improve default light shadow bias
- Change: can now export glb without saving when a web project is setup 

## [0.16.2] - 2023-03-13
- Add: Help/Needle menu item to open needle log files
- Fix: node version check on OSX

## [0.16.0] - 2023-03-11
- Add: SphereCollider and BoxCollider components
- Change: Needle Object `lightmapped` option is now not disabled anymore if the object does not have a material yet since the lightmapper will create one default lightmap material (per scene) in this case and assign it

## [0.15.4] - 2023-03-07
- Fix: missing op `needle.install`
- Fix: default lightmap material did sometimes contain node group without a tree causing export to fail
- Change: install and start local server is refactored to work on linux and osx
- Change: clean install stops all running servers
- Change: show feedback when starting project

## [0.15.3] - 2023-03-06
- Add: Nodejs version check
- Change: sample project has `camera-controls` enabled on the web component which adds `OrbitControls` by default

## [0.15.2] - 2023-03-04
- Change: project panel wording (note that it has moved to the scene category)

## [0.15.1] - 2023-03-01
- Change: web project path can now be set explicitly
- Change: move Needle Project panel into scene tab
- Change: lightmapped object without a material assigned will now receive a default material instead of being skipped
- Fix: remove mscorlib import for OSX and linux [issue 123](https://github.com/needle-tools/needle-engine-support/issues/123)
- Fix: lightmapping error where objects without any faces would cause an exception
- Fix: lightmapping being displayed wrongly when already lightmapped object would be copied

## [0.15.0] - 2023-01-30
- Add: export shadow casting options
- Add: install and clean install buttons (run clean install by clicking the install button while holding ALT. Clean install will delete the node_modules folder and package.lock.json before running `npm install`)
- Fix: exporter hook for Blender 3.4 and 3.3 support
- Fix: default shadow bias settings
- Change: dont run extension hooks when web project does not exist
- Change: lightmapping button now also shows popup with some information about incorrect setup

## [0.14.3] - 2023-01-30
- Change: expose lightmap resolution setting

## [0.14.2] - 2023-01-28
- Add: Rigidbody and MeshCollider component schemes
- Fix: dont export camera field of view when camera lens is set to auto or horizontal. Needle Engine package should be updated to 2.60.4

## [0.14.1] - 2023-01-25
- Fix: import object references for known components
- Fix: import gameobject data (layer, tags)
- Fix: export gameobject data
- Fix: error in reference resolver during import
- Change: component compiler 2.x in template
- Change: only show unknown components panel if it has any unknown components
- Change: show warning and dont export when used in blender < 3
- Change: log errors warnings and errors at the end of export

## [0.14.0] - 2023-01-25
- Add: import of glb exported from Unity or other glb exported by this Blender addon - with working component extensions, materials, references...

## [0.13.2] - 2023-01-25
- Fix: production builds
- Change: default color to grey

## [0.13.1] - 2023-01-25
- Fix: add component-compiler dependency to vite template again

## [0.13.0] - 2023-01-25
- Add: timeline playback (add a PlayableDirector component and add the objects which nla tracks should be exported as a timeline to the animationtracks list)
- Change: Blender version 3.3.1

## [0.12.2] - 2023-01-20
- Change: template now always uses latest engine and three versions
- Change: template adds `skipLibCheck: true` to tsconfig.json
- Fix: errors when creating new web project / starting server before project is installed

## [0.12.1] - 2023-01-05
- Fix: Lightmapping panel in 3D VIEW not showing all options until Lightmapping has been toggled in object panel
- Fix: Export of animations

## [0.12.0] - 2022-12-30
- Add initial version of Lightmapping support. Objects and lights can now be marked to be used for lightmapping in the Object properties panel.
- Add View3D Needle tab with lightmapping options

## [0.11.0] - 2022-12-08
- Add ProgressiveTexture loading support by enabling "Use Progressive Textures" in the Needle scene settings panel (in the Output tab)

## [0.10.0] - 2022-11-28
- Add: AnimatorController support: open the Needle Animator Controller view, create a new controller and assign to an Animator component to use it

## [0.9.0] - 2022-11-25
- Add first implementation of exporting scene references: you can now declare ``AssetReference`` types in typescript components with which scenes can be referenced in blender. They will automatically be exported as separate glb files and can be loaded at runtime when needed (requires Blender 3.3.x)
- Improve project existence check

## [0.8.0] - 2022-11-24
- Add world background export for environment lighting and skybox (can be controlled via camera component). When world surface is set to color only the color generates a small texture that is used for lighting
- Add: ensure that referenced animation clips are always exported by generating a temporary track on the object (it will be cleaned up at the end of exporting)

## [0.7.0] - 2022-11-22
- Add Needle logo
- Add update button (shows when new version is available) to Needle Project panel
- Add link to docs button
- Add support for component references
- Add support for arrays and lists
- Add scheme support for complex custom types (no auto generation yet)

## [0.6.1] - 2022-11-14
- Change add component list to searchable dropdown
- Fix some issues and internal errors related to missing components 

## [0.6.0] - 2022-11-13
- Add component compiler for blender 
  requires @needle-tools/needle-component-compiler version ^2.2.0-pre
  and @needle-tools/engine version ^2.44.1-pre

## [0.5.0] - 2022-11-11
- Add: Button component and basic EventList support allowing to invoke a method on a component from Blender. This is only possible on the Animation component right now
- Add: support for adding component descriptions/info texts
- Add: expose more OrbitControls options
- Add: expose more Animation component options
- Change: sort components alphabetically 
- Change: bump Needle Engine version in vite project template

## [0.4.0] - 2022-11-09
- Add basic Animation component support, it can currently just play automatically (add an Animation component to the animated object)

## [0.3.0] - 2022-11-07
- Add RemoteSkybox and default skybox url
- Add support for adding special tags / labels per components as well as tooltips per control

## [0.2.0] - 2022-11-05
- add build production button and gltf transform extension
- add button tooltips
- add: opening directory after building distribution

## [0.1.1] - 2022-11-04
- fix starting server when blender save file is on different partition than blender installation