Search Issue Tracker
Fixed
Fixed in 1.16.0
Votes
0
Found in [Package]
1.14.0
1.14.1
1.14.2
1.15.0
Issue ID
ISXB-1584
Regression
No
InputActionReference.Set() does not reset the cached action field when reference is changed in Play mode
How to reproduce:
1. Open the “IN-105971_TestInputActionReference“ project
2. Open the “SampleScene”
3. In the Hierarchy window select the “InputActionRefTest” GameObject
4. In the Inspector set the “Action Reference” field to “Player/Action_A”
5. Enter Play Mode
6. Exit Play Mode
7. Observe the “Action Reference” field
Expected result: The value is reset to the original reference
Actual result: the value stays changed
Reproducible with: 1.8.2(6000.0.10f1), 1.11.2 (6000.0.35f1), 1.14.0 (2022.3.63f1, 6000.0.51f1, 6000.1.9f1, 6000.2.0b7)
Reproducible on: macOS 15.5 (M1 Max)
Not reproducible on: no other environments tested
Note: If you set the “Action Reference” value to “None” and enter Play Mode, the reference is reset and “Action_A” is available again
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Entering “NaN” or “Infinity” values in Game Object Brush Orientation value fields spams Quaternion-related errors in the Console and persists unless value is undone in Tile Palette window
- An InvalidOperationException is thrown in the Editor when using On-Tile Rendering with the Mock HMD plug-in
- Unity UI does not trigger "OnFocusLost" and doesn't refresh when focusing on other Windows in the Editor
- Project Auditor's settings cannot be searched in the Preferences window
- Crash on SerializableManagedRef::CallMethod when performing various Unity operations
Resolution Note (fix version 1.16.0):
The issue has been resolved by making sure InputActionReferences are consistently reevaluated when updated. In addition, attempting to invoke Set on an action reference that is stored inside a .inputactions asset now results in exception since such a modification would corrupt in asset.
In order to set references in run-time, instead create a new InputActionReference instance via its static Create method. InputActionReferences created in run-time can always be modified during run-time.