Проблема с сохранением переменной в инспекторе Unity может возникать из-за нескольких возможных причин:
1. Переменная может быть объявлена как private или protected в скрипте, из-за чего она не будет отображаться в инспекторе. В этом случае нужно изменить модификатор доступа переменной на public.
2. Ваш скрипт может содержать ошибки или некорректные значения, из-за чего переменная не сохраняется. Проверьте скрипт на наличие ошибок и убедитесь, что правильно заданы условия сохранения переменной.
3. Проверьте, что вы правильно назначили эту переменную объекту в инспекторе Unity. Убедитесь, что переменная присваивается правильному компоненту или объекту.
Что касается проблемы с отрицательными значениями, Unity не сохраняет отрицательные значения для переменных типа unsigned int, unsigned float и прочих unsigned типов. В этом случае, стоит поменять тип данных переменной на int или float, чтобы значение сохранялось корректно.
Если проблема с сохранением переменной все еще остается, попробуйте использовать методы сериализации, такие как [SerializeField], чтобы указать, что переменная должна быть сериализована и сохранена в инспекторе.
Если ничего не помогло, возможно, проблема связана с другими аспектами вашего проекта, в таком случае, рекомендуется пройти обучающий курс по Unity или обратиться за помощью к сообществу Unity Developers.