Скриты Js в Unity можно рассматривать как классы.
Что касательно глобальности переменных:
1. Можно получить в коде ссылку на обьект, соответственно и к его компонетам и к скрипту тоже, а получив ссылку на скрипт - доступ ко всем его переменным.
2. Есть тип переменных static var, к таким переменным можно обращаться из любого участка кода с любого скрипта:
Используется javascript
// Имя скрипта.имя переменной = значение;
Weapon.active = false;
Где Weapon - имя скрипта, active - переменная обьявленная в скрипте Weapon, как static var active : boolean = true;
3. Есть также система messages которая умеет дистанционно запускать функции в других скриптах:
http://unity3d.com/support/documentatio ... endMessagePS. О програмировании на U_Js - простым языком:
http://gamecreatingcommunity.ru/forum/1 ... 1298807466