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
- "No GUI Implemented" is displayed when using PhysicsMask with a CustomEditor
- "Report is from another project" popup warning is shown on domain reload when Project Auditor was previously ran in a different project
- Addressables Analyzer flags duplicate resource references from ScriptableObjects incorrectly when the corresponding field has been removed
- "IndexOutOfRangeException" and "NullReferenceException" are thrown and Element disappears from UI Builder when undoing rename of element in "Open Instance in Context" menu
- Select Scriptable Object window freezes and becomes unresponsive when currently opened UXML Template is selected for binding's Data Source
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.