You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## [2.1.1] - 2022-07-29
### Added
- Added `enableBuiltInActionsAsFallback` property on `XRUIInputModule` to provide a fallback default behavior out of the box when using the new Input System as the Active Input Handling.
- Added missing documentation for `UI Setup` that specifies how to perform object occlusion for UI objects when using the Tracked Device Graphics Raycaster component.
- Added a warning message to the Inspector of XR Interactor Line Visual and XR Interactor Reticle Visual when the Reticle has a Collider which may disrupt the ray cast. This added an `XRInteractorReticleVisualEditor` class.
### Changed
- Changed the dynamic attach behavior of XR Grab Interactable so it only ignores the Match Position property when being grabbed by an XR Ray Interactor with Force Grab enabled instead of ignoring both Match Position and Match Rotation. This lets you bring the object to your hand while keeping the rotation if configured. To make it easier to override the dynamic attach properties for a selecting interactor, the `protected` methods `ShouldMatchAttachPosition`, `ShouldMatchAttachRotation`, and `ShouldSnapToColliderVolume` were added to [`XRGrabInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRGrabInteractable).
- Updated Editor tooltip and documentation to clarify how the **Stop Line At First Raycast Hit** property works on the XR Interactor Line Visual component. ([XRIT-4](https://issuetracker.unity3d.com/product/unity/issues/guid/XRIT-4))
### Fixed
- Fixed rendering of the Tunneling Vignette causing issues like the Line Renderer cutting short by setting `ZWrite Off` in the shader. If the sample has already been imported into your project, you will need to import again to get the update.
- Fixed so the `TunnelingVignette` material asset does not get modified by the `TunnelingVignetteController`.
- Fixed `GetValidTargets` performance when there are several Interactors in the scene hovering one or no Interactables.
- Fixed missing input binding for the `Move` action in the `XRI RightHand Locomotion` Action Map in the XRI Default Input Actions asset inside the `Starter Assets` sample.
- Fixed the Rotate Anchor and Translate Anchor input bindings in the XRI Default Input Actions asset to be simpler by not using composite bindings.
- Fixed `CharacterControllerDriver` so it will try to find the `ContinuousMoveProviderBase` on other active GameObjects if it isn't on the same GameObject.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,39 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
7
7
<!-- Headers should be listed in this order: Added, Changed, Deprecated, Removed, Fixed, Security -->
8
+
## [2.1.1] - 2022-07-29
9
+
10
+
### Added
11
+
- Added `enableBuiltInActionsAsFallback` property on `XRUIInputModule` to provide a fallback default behavior out of the box when using the new Input System as the Active Input Handling.
12
+
- Added missing documentation for `UI Setup` that specifies how to perform object occlusion for UI objects when using the Tracked Device Graphics Raycaster component.
13
+
- Added a warning message to the Inspector of XR Interactor Line Visual and XR Interactor Reticle Visual when the Reticle has a Collider which may disrupt the ray cast. This added an `XRInteractorReticleVisualEditor` class.
14
+
15
+
### Changed
16
+
- Changed the dynamic attach behavior of XR Grab Interactable so it only ignores the Match Position property when being grabbed by an XR Ray Interactor with Force Grab enabled instead of ignoring both Match Position and Match Rotation. This lets you bring the object to your hand while keeping the rotation if configured. To make it easier to override the dynamic attach properties for a selecting interactor, the `protected` methods `ShouldMatchAttachPosition`, `ShouldMatchAttachRotation`, and `ShouldSnapToColliderVolume` were added to [`XRGrabInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRGrabInteractable).
17
+
- Updated Editor tooltip and documentation to clarify how the **Stop Line At First Raycast Hit** property works on the XR Interactor Line Visual component. ([XRIT-4](https://issuetracker.unity3d.com/product/unity/issues/guid/XRIT-4))
18
+
19
+
### Fixed
20
+
- Fixed rendering of the Tunneling Vignette causing issues like the Line Renderer cutting short by setting `ZWrite Off` in the shader. If the sample has already been imported into your project, you will need to import again to get the update.
21
+
- Fixed so the `TunnelingVignette` material asset does not get modified by the `TunnelingVignetteController`.
22
+
- Fixed `GetValidTargets` performance when there are several Interactors in the scene hovering one or no Interactables.
23
+
- Fixed missing input binding for the `Move` action in the `XRI RightHand Locomotion` Action Map in the XRI Default Input Actions asset inside the `Starter Assets` sample.
24
+
- Fixed the Rotate Anchor and Translate Anchor input bindings in the XRI Default Input Actions asset to be simpler by not using composite bindings.
25
+
- Fixed `CharacterControllerDriver` so it will try to find the `ContinuousMoveProviderBase` on other active GameObjects if it isn't on the same GameObject.
26
+
- Fixed regression introduced with version [2.1.0-pre.1](#210-pre1---2022-05-02) so Anchor Control on XR Ray Interactor does not base logic on an XR UI Input Module property.
27
+
- Fixed the **GameObject**>**XR** create menu items which find existing components sometimes using invalid or deleted GameObjects.
28
+
- Fixed the **GameObject**>**XR**>**UI Event System** create menu item destroying the existing GameObject upon Undo when it already existed in the scene.
29
+
- Fixed `CreateUtilsTests` to be `internal` instead of `public`.
30
+
31
+
## [2.0.3] - 2022-07-26
32
+
33
+
### Fixed
34
+
- Fixed the simulated HMD and controllers so they no longer reset to origin after switching focus away and back to the Unity Editor. ([1409417](https://issuetracker.unity3d.com/product/unity/issues/guid/1409417))
35
+
- Fixed warnings about setting velocities of a kinematic body when updating an XR Grab Interactable with Movement Type set to Kinematic.
36
+
- Fixed `UIInputModule` so it will use the new Main Camera if the previous one is disabled when `UIInputModule.uiCamera` is not set.
37
+
- Fixed warning in the Inspector window for interactors missing the XR Controller component when the GameObject is deactivated by changing the find method to include inactive GameObjects.
38
+
- Fixed XR Interactor Line Visual so it will instantiate the Reticle GameObject when it is a Prefab asset so it does not modify the asset on disk.
39
+
- Fixed `UIInputModule` to support EventSystem `IPointerMoveHandler` for Unity 2021.1 and newer. Also added the corresponding `pointerMove` event to `UIInputModule` to allow the pointer move events to be globally handled.
Copy file name to clipboardExpand all lines: Documentation~/installation.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,16 +4,22 @@ To install this package, refer to the instructions that match your Unity Editor
4
4
5
5
## Version 2022.1 and later
6
6
7
-
To install this package, follow the [installation instructions in the Unity User Manual](https://docs.unity3d.com/Documentation/Manual/upm-ui-install.html).
7
+
To install this package, follow the [installation instructions in the Unity User Manual](https://docs.unity3d.com/2022.1/Documentation/Manual/upm-ui-install.html).
8
8
9
9
## Version 2021.3
10
10
11
+
### 2021.3.9f1 and later
12
+
13
+
To install this package, follow the [installation instructions in the Unity User Manual](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-ui-install.html).
14
+
15
+
### 2021.3.8f1 and earlier
16
+
11
17
To install this package, follow the instructions for [adding a package by name](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-ui-quick.html) in the Unity Editor.
Copy file name to clipboardExpand all lines: Documentation~/samples.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,7 +102,7 @@ This sample is installed into the default location for package samples, in the `
102
102
103
103
|Date|Reason|
104
104
|---|---|
105
-
|**April 29, 2022**|Added documentation for the Tunneling Vignette sample. Updated Starter Assets with XRI UI action map. Updated preset images with new XR UI Input Module preset to match 2.1.0-pre.1.|
105
+
|**April 29, 2022**|Added documentation for the Tunneling Vignette sample. Updated Starter Assets with XRI UI action map. Updated preset images with new XR UI Input Module preset to match 2.1.0.|
106
106
|**March 4, 2022**|Updated Starter Assets for reorganized actions into new action maps. Matches package version 2.0.1.|
107
107
|**February 15, 2022**|Renamed the Default Input Actions sample to Starter Assets. Matches package version 2.0.0.|
108
108
|**October 20, 2020**|Document created. Matches package version 0.10.0.|
Copy file name to clipboardExpand all lines: Documentation~/ui-setup.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ The [Event System](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/E
17
17
18
18
## XR UI Input Module
19
19
20
-
The **XR UI Input Module** is the component that XRI requires to properly interface with the Event System. It works in concert with the [XR Ray Interactor](xr-ray-interactor.md) to ensure XRI interactions with the UI are processed correctly. It also handles input from other non-XR sources (such as gamepad or mouse) if configured to do so. In the component configuration pictured below, the **Input System UI Actions** and **Input Manager** options are displayed. Depending on the **Active Input Handling** setting in **Edit > Project Settings > Player**, one or both of these configuration options may be visible. If you are using the Input System package for handling input you have the option of manually entering the Input Action References for each of the fields or you can use the preset provided with the [Starter Assets](samples.md#starter-assets) sample.
20
+
The **XR UI Input Module** is the component that XRI requires to properly interface with the Event System. It works in concert with the [XR Ray Interactor](xr-ray-interactor.md) to ensure XRI interactions with the UI are processed correctly. It also handles input from other non-XR sources (such as gamepad or mouse) if configured to do so. In the component configuration pictured below, the **Input System UI Actions** and **Input Manager** options are displayed. Depending on the **Active Input Handling** setting in **Edit > Project Settings > Player**, one or both of these configuration options may be visible. If you are using the Input System package for handling input you have a few options for setup. We recommend using the `XRI Default Input Actions.inputactions` and `XRI Default XR UI Input Module.preset` file provided with the [Starter Assets](samples.md#starter-assets) sample, which allows for the greatest control and flexibility. Alternatively, you can create an Input Action asset with associated Action Map and Actions and manually assign the **Input System UI Actions** for each of the fields. Finally, you can leave all the **Input System UI Actions** unset (`None`) and turn on the **Enable Builtin Actions As Fallback** checkbox, which will let the default mouse, gamepad, or joystick actions drive the UI with the current Input System devices configured.
21
21
22
22
> [!NOTE]
23
23
> If you have **Active Input Handling** set to **Both**, you will need to make sure to set the **Active Input Mode** on the **XR UI Input Module** to your desired source of input. Keep in mind that there may be minor performance impacts by setting this option to Both.
@@ -28,6 +28,12 @@ The **XR UI Input Module** is the component that XRI requires to properly interf
All UI elements exist in the canvas. In the XR Interaction Toolkit, a user can only interact with canvases that have their **Render Mode** set to **World Space**. The XR Interaction Toolkit package contains a new component (pictured below) called the Tracked Device Graphic Raycaster. This component lets you use 3D tracked devices to highlight and select UI elements in that canvas.
31
+
All UI elements exist in the canvas. In the XR Interaction Toolkit, a user can only interact with canvases that have their **Render Mode** set to **World Space**. The XR Interaction Toolkit package contains a new component (pictured below) called the **Tracked Device Graphic Raycaster**. This component lets you use 3D tracked devices to highlight and select UI elements in that canvas.
32
32
33
33

34
+
35
+
## Checking for UI Occlusion
36
+
When using the **Tracked Device Graphic Raycaster** with the canvas components, you may run into situations where non-UI objects exist in front of the UI elements. The natural behavior would be for the non-UI object to block access to the UI. To support this behavior, enable **Check For 3D Occlusion** for 3D objects to block the ray from UI behind it. Enable **Check For 2D Occlusion** if you make use of 2D physics and those 2D objects should block the ray in a similar way.
37
+
38
+
> [!IMPORTANT]
39
+
> These occlusion options are turned off by default to save on performance. Be aware that each of these checkboxes performs additional ray casts to find 3D and 2D occlusion objects.
Summary of changes in XR Interaction Toolkit package version 2.1.0:
4
+
5
+
With the XR Interaction Toolkit version 2.1.0 comes a few new highly-requested features and updates. The main features in this release include Dynamic Attachment for XR Grab Interactables, Intention Filtering, and Comfort Mode Vignette components and sample.
6
+
7
+
## Added
8
+
9
+
### Dynamic attachment feature
10
+
This allows users to grab (via Direct or Ray Interactor) an XR Grab Interactable so it pivots at the point of contact rather than a predetermined attachment point (typically the middle of the object). This makes the interactions feel much more natural and realistic when compared to their real-world counterparts. When using the Ray Interactor with Force Grab disabled, the object attaches at the point of the ray intersection rather than snapping to the middle of the object. Information for this setting can be found in the [XR Grab Interactable](xr-grab-interactable.md) documentation.
11
+
12
+
### Intention filtering
13
+
This feature allows users to configure interaction filters based on certain criteria. This makes it so that selection of interactables is determined by a weighted score against other interactables nearby or within the same selection path (sphere collider or ray cast hit). There are 3 evaluators that are included in this release that can be used with the XR Target Filter: a Last Selected evaluator, a Distance evaluator, and an Angle evaluator (mostly used with head rotation to determine intent based on gaze). The user can also create and extend evaluators to create their own custom filtering as well. For more information, read the documentation on [Target filters](target-filters.md).
14
+
15
+
### Comfort mode vignette
16
+
This feature wires up to the Main Camera and the locomotion system to provide a visual tunneling effect when the user is locomoting in order to mitigate motion sickness in VR. Each [locomotion provider component](components.md#locomotion) can be set up to provide a custom visual effect depending on the type of locomotion. There are many parameters that can be adjusted to fully customize the vignette experience including aperture size, feathering/blending size, ease in/out timing, and the colors used to fade in/out of the vignette. Please review the [Tunneling Vignette Controller](tunneling-vignette-controller.md) documentation for more information on installation and configuration.
17
+
18
+
## Updated
19
+
20
+
### XR UI Input Module updates
21
+
These updates allow users to customize how XRI interacts with the standard Unity UI (UGUI) system. The user is now able to set each UI Action on the XR UI Input Module to suit their needs, similar to how the Input System UI Input Module allows customization of these input types. Legacy input is also supported by this Input Module. Additionally, the `XRI Default Input Actions` asset in the `Starter Assets` sample package now includes an `XRI UI` Action Map for UI-specific Input Actions. Also included is a Preset asset to quickly map the actions onto the XR UI Input Module component. Check out the [UI setup](ui-setup.md) documentation for more information.
22
+
23
+
For a full list of changes and updates in this version, see the [XR Interaction Toolkit package changelog](../changelog/CHANGELOG.html).
Copy file name to clipboardExpand all lines: Documentation~/xr-grab-interactable.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Interactable component that hooks into the interaction system (via [XRInteractio
34
34
|**Tighten Rotation**| Reduces the maximum follow rotation difference when using smoothing.<br />Fractional amount of how close the smoothed rotation should remain to the rotation of the Interactor when using smoothing. The value ranges from 0 meaning no bias in the smoothed follow rotation, to 1 meaning effectively no smoothing at all. |
35
35
|**Angular Velocity Damping**| Scale factor of how much Unity dampens the existing angular velocity when tracking the rotation of the Interactor. The smaller the value, the longer it takes for the angular velocity to decay.<br />Only applies when **Movement Type** is in _VelocityTracking_ mode. |
36
36
|**Angular Velocity Scale**| Scale factor Unity applies to the tracked angular velocity while updating the `Rigidbody` when tracking the rotation of the Interactor.<br />Only applies when **Movement Type** is in Velocity Tracking mode. |
37
-
|**Throw On Detach**| Enable to have this object inherit the velocity of the Interactor when released. |
37
+
|**Throw On Detach**| Enable to have this object inherit the velocity of the Interactor when released. This is not supported for a kinematic Rigidbody. |
38
38
|**Throw Smoothing Duration**| Time period to average thrown velocity over. |
39
39
|**Throw Smoothing Curve**| The curve to use to weight thrown velocity smoothing (most recent frames to the right). |
40
40
|**Throw Velocity Scale**| Scale factor Unity applies to this object's velocity inherited from the Interactor when released. |
Copy file name to clipboardExpand all lines: Documentation~/xr-interactor-line-visual.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,6 @@ Interactor helper object aligns a `LineRenderer` with the Interactor.
12
12
|**Invalid Color Gradient**| Controls the color of the line as a gradient from start to end to indicate an invalid state. |
13
13
|**Override Line Length**| A boolean value that controls which source Unity uses to determine the length of the line.<br />Set to `true` to use the Line Length set by this behavior.<br />Set to `false` to have the length of the line determined by the Interactor. |
14
14
|**Line Length**| Controls the length of the line when overriding (the above checkbox must be enabled for this to be used). |
15
-
|**Stop Line At First Raycast Hit**| Controls whether this behavior always cuts the line short at the first ray cast hit, even when invalid.<br />The line will always be cut short by this behavior when pointing at a valid target.<br />- `true` means to do the same even when pointing at an invalid target.<br />- `false` means the line will continue to the configured line length. |
15
+
|**Stop Line At First Raycast Hit**| Controls whether this behavior always cuts the line short at the first ray cast hit, even when invalid.<br />The line will always be cut short by this behavior when pointing at a valid target. If you wish this line to pass through valid targets, they must be placed on a different layer.<br />- `true` means to do the same even when pointing at an invalid target.<br />- `false` means the line will continue to the configured line length. |
16
16
|**Smooth Movement**| Controls whether the rendered segments will be delayed from and smoothly follow the target segments. |
17
17
|**Reticle**| Stores the reticle that appears at the end of the line when it is valid. |
0 commit comments