# Changelog

The format is based on Keep a Changelog (opens new window), and this project adheres to Semantic Versioning (opens new window).

[0.7.0] - 2022-08-31

# Unity

# Added

  • ⚠ Experimental Spaces Anchor Store for saving and loading anchors to local storage with updates in the anchor sample scene.
  • QCHT Core package additions:
    • Added URP (Universal Render Pipeline) support for custom shaders
    • Tooltips for better developer experience
  • QCHT Interaction package additions:
    • Added URP (Universal Render Pipeline) support for custom shaders
    • Hand can be hidden even if present (Hand Presenter)
    • Allow to display ghost hand or not (Hand Presenter)
    • Pointer size can now be changed for distal interaction (graphic and physic raycaster)
    • Tooltips for better developer experience

# Changed

  • Host controller archive was updated with a light/dark mode setting and a haptic feedback toggle.
  • Raycast Subsystem supports continuous hit testing with updated sample scene.
  • Updated hand tracking packages.
  • Component version panel includes a scroll view now to account for more components in the future.
  • Updated Spaces Services included in the developer package.
  • QCHT Core package changes:
    • Reorganize UI components and rename variables for more comprehension and better developer experience
  • QCHT Interaction package changes:
    • Reorganize UI component and rename variables for more comprehension and better developer experience for following components:
      • Hand Presenter
      • QCHT Ray
      • QCHT Control Box
      • Grab Point
      • Proximal Interactor
    • Rename interaction types from Simple, VFF, Ghost Only to Triggering, Colliding, None.
    • Enable only 4 gestures for proximal interaction (Pinch, Grab, Point, Open Hand)
    • Don't import materials from hand .fbx by default
    • All custom Editor scripts logic are moved in corresponding scripts
    • All Texture resources are moved into texture folder
    • QCHTPhysicsRaycaster supports event masks
    • Create control box settings and add handles display types

# Fixed

  • Hand joint poses from the Spaces Hand component have been fixed to be in world space rather than relative to the head pose.
  • Build issues for Unity 2021's incremental build pipeline have been fixed.
  • QCHT Interaction package fixes:
    • Pointer position offset
    • Improved Snapping
    • Added RayState selected when Raycast dragging
    • Repaint scene view after clicking Edit Pose
    • QCHT Interaction controller does not require HandPresenter anymore
    • Fixed issue when switching between trigger and colliding hand

# Unreal Engine

# Added

# Changed

  • Host controller archive was updated with a light/dark mode setting and a haptic feedback toggle.
  • Raycast Subsystem supports continuous hit testing with updated sample scene.
  • Component version panel includes a scroll view now to account for more components in the future.
  • Updated Spaces Services included in the developer package.

# Fixed

  • Build issues with incremental builds have been fixed.

# Snapdragon Spaces Services

# Changed

  • Removed the need to select the input source in the Snapdragon Spaces Services settings view.
[0.6.1] - 2022-07-22

# Unity

# Added

  • Added camera permission check for the Spaces Services on application launch, with a prompt to enable it in the Spaces Services Android settings (if it wasn't given before).

# Unreal Engine

# Added

  • Added camera permission check for the Spaces Services on application launch, with a prompt to enable it in the Spaces Services Android settings (if it wasn't given before).

# Snapdragon Spaces Services

# Added

  • Added camera permission prompt in case it has not been granted already.
  • Added camera permission status in the UI.

# Fixed

  • Fixed issue where Spaces application would not start if camera permission was not granted in the Spaces Services.
[0.6.0] - 2022-07-21

# Unity

# Added

  • Custom Hand Tracking Subsystem support and new sample scene.
  • Separate hand tracking packages included in the developer package for extended hand tracking capabilites.
  • ⚠ Experimental Raycast Subsystem support and new sample scene.
  • Samples additions:
    • Component version info accessible through the main menu.
    • Controller type (gaze or device pointer) is being saved across app starts and scene switches.

# Changed

# Fixed

  • Fixed bug that prevented a custom controller including SpacesController in its file name from being included in the final build.

# Unreal Engine

# Added

  • Image Tracking support and new sample scene.
  • ⚠ Experimental Raycast support and new sample scene.
  • Samples additions:
    • Component version info accessible through the main menu.
    • Controller type (gaze or device pointer) is being saved across app starts and scene switches.

# Changed

[0.5.0] - 2022-06-01

# Unity

# Added

  • Tracked Image Subsystem support and new sample scene.
  • Launch Spaces Controller and Use Custom Controller options added to the BaseRuntimeFeature settings.
  • Added Custom Controller Package folder with an Android Studio project for building custom Android archives into the developer package.
  • Samples additions:
    • Pressing and holding the host controller's Menu button will close the samples.
    • Encapsulated sample script in an own namespace.
    • Added vertical bias to the GazeInteractor component to shift the reticle.

# Changed

  • Host controller was moved out of Spaces Services and into the Unity package as an Android archive.
  • Updated Spaces Services included in the developer package.
  • OpenXR plugin version dependency of the package was updated to 1.4.2 (from 1.2.8).
  • Renamed and streamlined editor scripts contained in the Editor folder of the package.

# Fixed

  • Jitter issue for head locked content.
  • Anchor and Plane Detection Subsystem lifecycle refinements, when starting and stopping the subsystem.
  • Samples fixes:
    • Gaze pointer size was decreased once more.
    • Refined GazeInteractor calculation to get the horizontal half independent of platform.

# Unreal Engine

# Added

  • Plane Detection support and new sample scene.
  • Launch Spaces Controller and Use Custom Controller options added to the plugin settings.
  • Added Custom Controller Package folder with an Android Studio project for building custom Android archives into the developer package.

# Changed

  • Host controller was moved out of Spaces Services and into the Unreal Engine plugin as an Android archive.
  • Updated Spaces Services included in the developer package.

# Fixed

  • Jitter issue for head locked content.
  • Samples fixes:
    • Floating UI panels correctly keep their distance, when moving towards them.
    • Refined GazeInteractor calculation to get the horizontal half independent of platform.
[0.4.1] - 2022-04-28

# Unity

# Fixed

  • Updated Spaces Services included in the developer package, which fixed reading wrong values from config for ThinkReality A3.

# Unreal Engine

# Fixed

  • Updated Spaces Services included in the developer package, which fixed reading wrong values from config for ThinkReality A3.
[0.4.0] - 2022-04-28

# Unity

# Added

  • Added support for motorola edge+, motorola edge 30 pro.
  • Plane Detection Subsystem support and new sample scene.
  • Added a dialog before starting the app to give camera permissions (for plane detection and future tracking types).
  • A quit button was added to the main menu to quit the application.

# Changed

  • Host controller updated with new UI.
  • Former SM8450 QRD device not supported anymore.
  • Updated OpenXR runtime with plane detection tracking layer.
  • The UnityServicesHelper.aar was split into UnityServicesHelper.aar and UnityCustomLauncher.aar, with the option to disable the later one in the BaseRuntimeFeature options through the OpenXR project settings.

# Fixed

  • Converting from OpenXR pose data to Unity pose data applies the correct coordinate system modifications now.

# Unreal Engine

# Added

  • Added support for motorola edge+, motorola edge 30 pro.
  • A quit button was added to the main menu to quit the application.
  • The application correctly launches on the viewer device without the need for an adb launch command.

# Changed

  • Host controller updated with new UI.
  • Former SM8450 QRD device not supported anymore.
  • Updated OpenXR runtime with plane detection tracking layer.

# Fixed

  • Gaze pointer size was decreased.
[0.3.0] - 2022-03-15

# Unity

# Added

  • Anchor Subsystem support and new sample scene.
  • Host controller support.
  • Session Subsystem to retrieve tracking state and supported features.
  • Screen timeout is disabled through the SampleController in the sample scenes and all controllers deriving from it.
  • The AR Session Origin is reset on every scene change. There is a value that can be set to control that in the SampleController component.

# Changed

  • Updated OpenXR runtime with anchor layer.
  • XR Interaction Toolkit sample scene is enabled again.
  • The UnityServicesHelper.aar is removed from the final build, if the OpenXR plugin and the BaseRuntimeFeature are not set.
  • The Head Tracking Sample was renamed to Positional Tracking Sample.
  • The device and gaze pointer prefabs are decoupled from the AR Camera and don't need to be parented to it anymore.
  • Custom Snapdragon Spaces Controller Profile was removed in favor of the Khronos Simple Controller Profile as the new default profile.

# Fixed

  • The AR Camera's Editor movement (controlled by the EditorCameraController) is happening in local space under AR Session Origin now.
  • The BaseRuntimeFeature is not checking for the runtime and showing a dialog anymore if the feature is enabled, but the OpenXR plugin is disabled.

# Unreal Engine

# Added

  • ARPin support and new sample map.
  • Host controller support.
  • Screen timeout is disabled in the BP_Pawn through the ControlScreensaver node.
  • The Tracking Origin is reset on every map change. This is a value that can be set in the BP_Pawn component.

# Changed

  • Updated OpenXR runtime with anchor layer.
  • The Interaction sample map is enabled again.
  • The Head Tracking Sample was renamed to Positional Tracking Sample.

# Fixed

  • Player mesh used in Positional Tracking Sample was fixed.
  • Additional cosmetic improvements.
[0.2.0] - 2022-02-01

# Unity

# Added

  • The built application starts its context directly on the viewer now, removing the need for a custom adb launch command.

# Changed

  • Updated OpenXR runtime.
  • Interaction Sample is disabled, since there is no context shown on the host anymore to register UI input.

# Fixed

  • Floating UI size is smaller and can be interacted with easier.
  • Additional cosmetic improvements.

# Unreal Engine

# Added

  • The Snapdragon Spaces plugin (which requires the OpenXR plugin).
  • Main menu and sample map for demoing 6DoF head movement.
  • (Disabled) sample map for demoing interaction with 3D objects and 2D UI.
[0.1.3] - 2021-12-07

# Unity

# Changed

  • Updated OpenXR runtime. Start and stop issue is fixed now.
[0.1.2] - 2021-12-01

# Unity

# Added

  • NOTICE.txt file added to the archive.
  • Added a helper in the menu item under Window > Snapdragon Spaces > Add Scenes to Build Settings to automate putting the sample scenes to the build settings.

# Changed

  • Scenes and scripts got refined and streamlined.
  • UI refinements.

# Fixed

  • GyroOverride is not throwing an error in the Editor anymore.
  • Fixed missing long press action error.
[0.1.1] - 2021-11-15

# Unity

# Added

  • BaseRuntimeFeature gets new project validation rules to avoid having missing project settings.
  • OpenXR runtime got updated.
[0.1.0] - 2021-11-03

# Unity

# Added

  • BaseRuntimeFeature for the OpenXR plugin.
  • Sample scene for demoing 6DoF head movement.
  • Sample scene for how to work with the XR interaction toolkit.