Правильно ли я понимаю, что в Unity классы, написанные на разных языках, не могут напрямую обращаться друг к другу? Например, если есть MyJavascriptClass с методом DoJob(), то из C# это метод нельзя вызвать явно:
MyJavascriptClass x = gameObject.GetComponent<MyJavascriptClass>();
x.DoJob();
А можно только так:
Component x = gameObject.GetComponent("MyJavascriptClass");
x.SendMessage("DoJob");
Может быть, я что-то упустил, и в C# достаточно добавить какое-нибудь пространство имён, чтобы класс MyJavascriptClass стало видно?
PS
И сопутствующий вопрос: я до сих пор не понял, Javascript в Unity компилируется и работает сам по себе или относится к Mono, как C#?