Skip to content

Releases: needle-mirror/com.unity.inputsystem

1.8.0-pre.2

10 Nov 15:10
Compare
Choose a tag to compare

[1.8.0-pre.2] - 2023-11-09

Changed

  • Removed icons from action map list as these were always the same and the icon was placeholder
  • Input asset editor now switched to use UI Toolkit which matches the project wide input actions editor interface.
  • Changed InputActionProperty property drawer to be more compact. Use the More menu () button to open a dropdown menu and select between Use Reference and Use Action.
  • Static analysis warnings regarding flag enums have been suppressed in order to avoid compile-time warnings or errors.
  • Action Map and Action Tree views of the UI Toolkit based Input Action Editor now prevents deselection in both views when Escape key is pressed.
  • Input Action Asset editors Auto-save feature has been modified to trigger on focus-lost when activated instead of triggering on every modification to the asset in order to reduce impact of processing required to handle modified assets.
  • Project-wide input actions template extension changed from .inputactions to .json. This avoids showing template actions in the action's selector UI that are not intended to be used.
  • Re-enabled some UI tests that were disabled on iOS.
  • Reorganized package Project Settings so that "Input System Package" setting node contains "Input Actions" and "Settings" becomes a child node when Project-wide Actions are available. For Unity versions where Project-wide Actions are not available, the settings structure remains unchanged.
  • Make Project-wide Actions the default actions for Player Input.

Added

  • Support for Game rotation vector sensor on Android
  • Duplicate Input Action Items in the new Input Action Asset Editor with Ctrl+D (Windows) or Cmd+D (Mac)
  • Selection of InputActionReferences from project-wide actions on fields that are of type InputActionReference. Uses a new advanced object picker that allows better searching and filtering of actions.
  • Reset project wide Input Settings to default via a new Kebab-menu in Input System Project Settings.

Fixed

  • Partially fixed case ISX-1357 (Investigate performance regressing over time). A sample showed that leaving an InputActionMap enabled could lead to an internal list of listeners growing. This leads to slow-down, so we now warn if we think this is happening.
  • UI fix for input fields in interactions: they are wider now and the width is fixed.
  • Fixed exiting empty input fields for actions, action maps and composites in the input action asset editor.
  • Fixed an issue where selecting an Action in the Input Action Asset Editor tree-view and then pressing ESC to unselect would throw an InvalidOperationException.
  • Fixed an issue where selecting an Action Map in the Input Action Asset Editor list and then pressing ESC to unselect would print an NullReferenceException to the Debug console.
  • Fixed case ISXB-251 (Action only calls started & performed callbacks when control type is set to Vector3Composite). EvaluateMagnitude wasn't overridden for Vector3Composite, also made some minor changes to Vector3Composite and Vector2Composite for consistency.
  • Fixed case ISXB-580 (UI Submit / Cancel not working with Switch Pro controller) by adding "Submit" & "Cancel" usages to the Switch Pro controller input controls.
  • Fixed an issue where undoing deletion of Action Maps did not restore Actions correctly.
  • Fixed case ISXB-628 (OnIMECompositionChange does not return an empty string on accept when using Microsoft IME) by clarifying expectations and intended usage for the IME composition change event.
  • Fixed issue where the expanded/collapsed state of items in the input action editor was not properly saved between rebuilds of the UI.
  • Fixed issue where The Profiler shows incorrect data and spams the console with "Missing Profiler.EndSample" errors when there is an Input System Component in Scene).
  • Fixed an issue where undoing duplications of action maps caused console errors.
  • Fix for BindingSyntax WithInteraction() which was incorrectly using processors.
  • Fix for UITK Input Action Editor binding 'Listen' button which wasn't working in the case for Control Type 'Any'.
  • Fixed issue of visual elements being null during editing project-wide actions in project settings which prompted console errors.
  • Fixed case ISX-1436 (UI TK Input Action Asset Editor - Error deleting Bindings with DeleteKey on Windows).
  • Fixed issue with UI Toolkit based Input Action Editor not restoring it's selected items after Domain Reload.
  • Fixed the GetHapticCapabilitiesCommand always failing to execute due to a mismatch in the size in bytes of the payload and the size expected by XR devices. Changed HapticCapabilities to include all properties returned by the XR input subsystem. This makes Input System match the functionality provided by the XR module's InputDevice.TryGetHapticCapabilities and HapticCapabilities.

1.8.0-pre.1

04 Sep 15:11
Compare
Choose a tag to compare

[1.8.0-pre.1] - 2023-08-14

Added

  • Initial version of Project Wide Actions for pre-release (InputSystem.actions). This feature is available only on Unity Editor versions 2022.3 and above and can be modified in the Project Settings.

Fixed

  • Fixed device selection menu not responding to mouse clicks when trying to add a device in a Control Scheme (case ISXB-622).

1.7.0

15 Aug 15:09
Compare
Choose a tag to compare

[1.7.0] - 2023-08-14

Added

  • Preliminary support for visionOS.
  • Show a list of Derived Bindings underneath the Binding Path editor to show all controls that matched.

Changed

  • Changed the InputAction constructors so it generates an ID for the action and the optional binding parameter. This is intended to improve the serialization of input actions on behaviors when created through API when the property drawer in the Inspector window does not have a chance to generate an ID.

Fixed

  • Fixed missing prefab errors in InputDeviceTester project (case ISXB-420).
  • Fixed serialization migration in the Tracked Pose Driver component causing bindings to clear when prefabs are used in some cases (case ISXB-512, case ISXB-521).
  • Fixed Tracked Pose Driver to use Transform.SetLocalPositionAndRotation when available to improve performance. Based on the user contribution from DevDunk in a forum post.
  • Fixed the Clone methods of InputAction and InputActionMap so it copies the Initial State Check flag (InputAction.wantsInitialStateCheck) of input actions.
  • Fixed the "Release tests throws exception in InputSystem" bug (case ISXB-581).
  • Fixed issues with generating Precompiled Layouts for devices which are not defined in a namespace
  • Fixed an issue where some controls like QuaternionControl could not be included in a Precompiled Layout because the generated code could not access a setter on child control properties.

1.6.3

20 Jul 09:19
Compare
Choose a tag to compare

[1.6.3] - 2023-07-11

Fixed

  • Fixed warning in USS file

[1.6.2] - 2023-07-10

Added

  • Enabled displayIndex support for Unity 2022.3.

Fixed

  • Fixed UI clicks not registering when OS provides multiple input sources for the same event, e.g. on Samsung Dex (case ISX-1416, ISXB-342).
  • Fixed unstable integration test Integration_CanSendAndReceiveEvents by ignoring application focus on integration tests. (case ISX-1381)
  • Fixed broken "Listen" button in Input actions editor window with Unity dark skin (case ISXB-536).

1.6.1

27 May 01:08
Compare
Choose a tag to compare

[1.6.1] - 2023-05-26

Fixed

  • Fixed issue with compiling in Unity 2022.1 and with XR Toolkit by guarding the experimental UITK Asset Editor code completely.

[1.6.0] - 2023-05-25

Added

  • Added internal InputSystemProvider class for the new InputForUI internal module. InputForUI allows the UIToolkit to have a single dependency for input events, regardless of using the new input system or the legacy input system.
  • Added InputSystem.customBindingPathValidators interface to allow showing warnings in the InputAsset Editor for specific InputBindings and draw custom UI in the properties panel.
  • Added InputSystem.runInBackground to be used internally by specific platforms packages. Allows telling the input system that a specific platform runs in background. It allows fixing of case UUM-6744.
  • Added new UIToolkit version of the InputActionsAsset editor. Currently this is incomplete (view-only) and the existing editor is still used by default.
  • Added displayIndex field to the Touch struct to expose the index of the display that was touched.

Changed

  • Changed XR Layout build behavior to create Axis2D control devices with StickControl type instead of Vector2Control.

Fixed

  • Fixed BindingPath String-Comparison to be culture and case insensitive (case ISXB-449).
  • Fixed custom processor display in the input action asset UI after entering/exiting play mode (previously they got hidden) (case ISXB-445).

1.5.1

24 Mar 14:11
Compare
Choose a tag to compare

[1.5.1] - 2023-03-15

Fixed

  • Fixed unclosed profiler marker in InvokeCallbacksSafe_AnyCallbackReturnsTrue which would lead to eventually broken profiler traces in some cases like using PlayerInput (case ISXB-393).
  • Fixed InputAction.bindings.count not getting correctly updated after removing bindings with Erase().
  • Fixed an issue where connecting a gamepad in the editor with certain settings will cause memory and performance to degrade (case UUM-19480).
  • Fixed issue leading to a stack overflow crash during device initialization in InsertControlBitRangeNode (case ISXB-405).
  • Fixed the issue where saving and loading override bindings to JSON would set unassigned overrides (that were null) to assigned overrides (as an empty string "").

1.5.0

25 Jan 10:11
Compare
Choose a tag to compare

[1.5.0] - 2023-01-24

Added

  • Added support for reading Tracking State in TrackedPoseDriver to constrain whether the input pose is applied to the Transform. This should be used when the device supports valid flags for the position and rotation values, which is the case for XR poses.
  • Added InputSettings.shortcutKeysConsumeInput. This allows programmatic access to opt-in to the enhanced shortcut key behaviour (case ISXB-254)).
  • Significantly optimized cost of ReadValue/ReadUnprocessedValueFromState/WriteValueIntoState for some control types. Optimization is opt-in for now, please call InputSystem.settings.SetInternalFeatureFlag("USE_OPTIMIZED_CONTROLS", true); in your project to enable it. You can observe which controls are optimized by looking at new optimized column in device debugger. You will need to call a new InputControl.ApplyParameterChanges() method if the code is changing AxisControl fields after initial setup is done.
  • Added the ability to change the origin positioning and movement behaviour of the OnScreenStick (OnScreenStick.cs) via the new behaviour property. This currently supports three modes of operation, two of which are new in addition to the previous behaviour. Based on the user contribution from eblabs in #658.
  • Significantly optimized cost of InputAction.ReadValue and InputControl.ReadValue calls by introducing caching behaviour to input controls. Input controls now keep track of whether their underlying state has been changed and only read the value from the underlying state and apply processors when absolutely necessary. Optimization is opt-in for now, please call InputSystem.settings.SetInternalFeatureFlag("USE_READ_VALUE_CACHING", true); in your project to enable it. If there are issues try enabling InputSystem.settings.SetInternalFeatureFlag("PARANOID_READ_VALUE_CACHING_CHECKS", true); and check in the console if there are any errors regarding caching.
  • Added a note in the supported devices page about DualSense support for Android devices.
  • Exposed displayIndex property for Pointer, Touchscreen, TouchControl, TouchState, Mouse, MouseState which enables look up of the logical screen associated with a pointer event via (display documentation)[https://docs.unity3d.com/ScriptReference/Display.html]

Fixed

  • Fixed composite bindings incorrectly getting a control scheme assigned when pasting into input asset editor with a control scheme selected.
  • Fixed an issue on PS5 where device disconnected events that happen while the app is in the background are missed causing orphaned devices to hang around forever and exceptions when the same device is added again (case UUM-7842).
  • Fixed Switch Pro, DualShock 4, DualSense gamepads becoming current on PC/macOS when no controls are changing (case ISXB-223)).
  • Fixed an issue that made OnScreenStick unusable when used in conjunction with PlayerInput in Auto-Switch devices mode, or with any code that changes user/device pairing on unsued device activity being detected (case ISXB-48).
  • Fixed issue where input events were being suppressed during interactive action rebinding even when when their controls were excluded (case ISXB-367).
  • Removed unneeded check that could trigger a NotImplementedException when binding to a Usage (e.g. Submit) (case ISXB-373).
  • Display a warning instead of throwing a NotImplementedException when loading binding overrides from json when some of the entries have become outdated (case ISXB-375).

Actions

  • Extended input action code generator (InputActionCodeGenerator.cs) to support optional registration and unregistration of callbacks for multiple callback instances via AddCallbacks(...) and RemoveCallbacks(...) part of the generated code. Contribution by Ramobo in #889.

Changed

  • Changed define requirements of Unity.InputSystem.TestFramework, so that it can be used by other packages without setting the com.unity.inputsystem package to be testable in the project manifest.

1.4.4

03 Nov 10:15
Compare
Choose a tag to compare

[1.4.4] - 2022-11-01

Fixed

  • Fixed ArgumentNullException when opening the Prefab Overrides window and selecting a component with an InputAction.
  • Fixed {fileID: 0} getting appended to ProjectSettings.asset file when building a project (case ISXB-296).
  • Fixed Type of instance in array does not match expected type assertion when using PlayerInput in combination with Control Schemes and Interactions (case ISXB-282).
  • The InputActions consume their inputs behaviour for shortcut support introduced in v1.4 is opt-in now and can be enabled via the project settings (case ISXB-254)).
  • Fixed Memory alignment issue with deserialized InputEventTraces that could cause infinite loops when playing back replays (case ISXB-317).
  • Fixed an InvalidOperationException when using Hold interaction, and by extension any interaction that changes to performed state after a timeout (case ISXB-332).
  • Fixed Given object is neither an InputAction nor an InputActionMap when using InputActionTrace on input action from an input action asset (case ISXB-29).
  • Fixing devices not being removed if unplugged during domain reload (entering or exiting play mode) (case ISXB-232).

1.4.3

29 Sep 14:09
Compare
Choose a tag to compare

[1.4.3] - 2022-09-23

Fixed

  • Added missing script and gizmo icon for TrackedPoseDriver.cs component (case ISXB-262).
  • Fix for mitigating symptoms reported in (case UUM-10774 effectively avoiding reenabling mouse, pen or touch devices in InputSystemPlugin.OnDestroy() if currently quitting the editor. The fix avoids editor crashing if closed when Simulator Window is open. Note that the actual issue needs a separate fix in Unity and this package fix is only to avoid running into the issue.
  • Fixed an issue where Input Action name would not display correctly in Inspector if serialized as [SerializedProperty] within a class not derived from MonoBehavior (case ISXB-124.
  • Fix an issue where users could end up with the wrong device assignments when using the InputUser API directly and removing a user (case ISXB-274).
  • Fixed an issue where PlayerInput behavior description was not updated when changing action assset (case ISXB-286).

Changed

  • Improved performance of HID descriptor parsing by moving json parsing to a simple custom predicitve parser instead of relying on Unity's json parsing. This should improve domain reload times when there are many HID devices connected to a machine.

1.4.2

18 Aug 10:10
Compare
Choose a tag to compare

[1.4.2] - 2022-08-12

Changed

  • Hide XR legacy HMD and controllers layouts from Editor UI dropdown.

Fixed

  • Fix UI sometimes ignoring the first mouse click event after losing and regaining focus (case ISXB-127.
  • Fixed issue when using MultiplayerEventSystems where the visual state of UI controls would change due to constant toggling of CanvasGroup.interactable on and off (case ISXB-112).
  • Fixed an issue where the Input Action asset icon would not be visible during asset creation (case ISXB-6).
  • Fixed DualSense low frequency motor speed being always set to min value.
  • Fixed an issue where ReadUnprocessedValueFromState in PoseControl always returning default values.
  • Fix Player 1's UI controls stop working after second player joins (case ISXB-125))