Generated action wrappers now won’t Destroy the generated Asset in a finalizer, but instead implement IDisposable.
Added back XR layouts (except for Magic Leap) that were removed for 1.0-preview.
We removed these layouts under the assumption that they would almost concurrently become available in the respective device-specific XR packages. However, this did not work out as expected and the gap here turned out to be more than what we anticipated.
To deal with this gap, we have moved the bulk of the XR layouts back and will transition things gradually as support in device-specific packages becomes publicly available.
Fixed
Fixed a bug where the Input Settings Window might throw exceptions after assembly reload.
Correctly implemented IsPointerOverGameObject method for InputSystemUIInputModule.
Several bugs with layout overrides registered with (InputSystem.RegisterLayoutOverrides).
In 1.0-preview, layout overrides could lead to corruption of the layout state and would also not be handled correctly by the various editor UIs.
Selecting a layout in the input debugger no longer selects its first child item, too.
Fixed XR devices reporting noise as valid user input (should fix problem of control schemes involving VR devices always activating when using PlayerInput).
Fixed tap/swipe gesture detection in touch samples.
Actions
Fixed a bug where multiple composite bindings for the same controls but on different action maps would throw exceptions.
Fixed anyKey not appearing in control picker for Keyboard.
The text on the “Listen” button is no longer clipped off on 2019.3.
Controls bound to actions through composites no longer show up as duplicates in the input debugger.
Fixed “Create Actions…” on PlayerInput creating an asset with an incorrect binding for taps on Touchscreens.
NOTE: If you have already created an .inputactions asset with this mechanism, update “tap [Touchscreen]” to “Primary Touch/Tap” to fix the problem manually.
Fixed Invoke CSharp Events when selected in PlayerInput not triggering PlayerInput.onActionTriggered.
Fixed duplicating multiple items at the same time in the action editor duplicating them repeatedly.
Added
Will now recognize Xbox One and PS4 controllers connected to iOS devices correctly as Xbox One and PS4 controllers.
Added a new sample called “Custom Device Usages” that shows how to use a layout override on Gamepad to allow distinguishing two gamepads in bindings based on which player the gamepad is assigned to.
Added abstract TrackedDevice input device class as the basis for various kinds of tracked devices.
Note that it’ll get called corresponding to when InputAction.started/performed/canceled get triggered. So e.g. when an action performs, you will first see a “started” and then a “performed”. The call sequence should be the same as when using “Invoke Unity Events”.
Which version of Unity are you using? The package samples mechanism had a bug where samples would get installed read-only which can then trigger that error because the system can’t re-generate the given C# file. IIRC this is actually present on all released 2019.1 and 2019.2 versions. It’s fixed in 2019.3.
I was initially testing the upgrade on 2019.1.0f2. On newer versions I deleted samples first to avoid issue. So, yes, I would have run into this problem on 2019.1.
There is but it seems to not be working. There’s an open bug ATM.
In principle, this is supposed to be handled automatically by Unity’s import pipeline. We bump the importer version, Unity realizes the asset needs to be reimported, it does so and as a side-effect the .cs file gets re-generated and recompiled.
In practice, something is making this not work. My assumption is that our code-generation-as-a-side-effect is throwing a wrench into this mechanism but haven’t taken a closer look yet.
But yeah, unfortunately, right now if we make a change that breaks existing generated code, everyone using the feature then runs into manually having to trick the pipeline into updating its inputs. Not ideal…
Unfortunately, not as of today. The current asset pipeline simply isn’t set up for this. Could be that it becomes possible at some point with the new asset pipeline.
Thank you for filing the issues. We’ll have a look. (and yup, just a moment ago had 1187163 in front of me)
I have updated Input System to latest version 1.0.0-1
SimpleDemo_UsingPlayerInput is not working with gamepads in preview update 1.0.0-1. while it was working in the previous version.
Do you happen to have the “CustomDeviceUsages” sample installed in your project? Looking into this one, I found that a very specific bug was surfaced from that combination (which is likely why our QA didn’t catch it). Fix is pending here. Expected to be in 1.0.0-preview.2.
Passivation is a chemical process where you coat a material with another, please try and break the Unity tradition of sloppy naming and rename PassivateInput to DeactivateInput
Disable domain/scene reload, enter and leave play mode, enter play mode again, provide some input, and you’ll get tons of exceptions