Copyright © 2026 Unity Technologies
Steps to reproduce:
Actual results: Values entered in the settings window are stored exactly as typed:
| Field | Entered | Stored |
|---|---|---|
| Location Accuracy | -5 | -5 |
| Location Distance Threshold | -12.5 | -12.5 |
| Location Accuracy | NaN | NaN |
The same value assigned through the scripting API is corrected. Step 11 logs 0 after assigning -5, while step 9 logs -5 for the value typed into the window. So the same setting accepts a value on one path and rejects it on the other.
Expected results: The settings window applies the same correction as the scripting API: negative values and non-finite values are corrected to 0 before being stored.
Reproducible with versions: 6.7.0 (6000.7.0a6)
Can’t test with versions: All other streams as "Location Accuracy" and "Location Distance Threshold" are new in Input System 6.7.0. Neither the fields nor this part of the settings UI exist in 1.20.0.
Tested on (OS): MacBook Pro - Tahoe 26.6.2
Notes: Script for step 5
using UnityEditor; using UnityEngine; using UnityEngine.InputSystem;public static class LocationSettingsProbe { [MenuItem("Tools/Log Location Settings")] public static void LogLocationSettings() { var s = InputSystem.settings; Debug.Log($"locationAccuracy = {s.locationAccuracy:R}"); Debug.Log($"locationDistanceThreshold = {s.locationDistanceThreshold:R}"); } [MenuItem("Tools/Assign -5 Through The API")] public static void AssignNegativeThroughApi() { InputSystem.settings.locationAccuracy = -5f; Debug.Log($"after assigning -5 via the API, locationAccuracy = {InputSystem.settings.locationAccuracy:R}"); } }
Issues you vote on will appear here