Po pierwsze, polecam C # zamiast JavaScript do programowania w Unity z dwóch głównych powodów. Pierwszy powód sprowadza się do silnej / słabej różnicy w pisaniu, którą w pewnym sensie odrzuciłeś. Myślę, że mocne pisanie działa lepiej niż słabe pisanie na poziomie pojęciowym, ale szczerze mówiąc, jest to cały wielki argument, który ludzie mają, dlatego skupię się bardziej na konkretnym praktycznym problemie: wdrażanie na iOS (i ewentualnie także innych platformach, ale to jest tylko jeden, który znam na pewno) wymaga pisania statycznego. Unity faktycznie ma nawet dyrektywę „#pragma strict”, która z tego powodu może wymusić pisanie statyczne w JavaScript, ale to tylko prowadzi do mojego drugiego powodu ...
Po drugie, JavaScript w Unity nie jest całkowicie taki sam jak JavaScript w przeglądarce. Stwarza to problemy, gdy próbujesz zastosować wiedzę spoza Unity (tj. Większość zasobów o JavaScript) do programowania w Unity. Dlatego wielu programistów Unity nazywa ten język UnityScript.
Teraz, aby odpowiedzieć na twoje konkretne pytania:
Czy jest zauważalna różnica w wydajności?
Nie bardzo, nie ( niektóre szczegóły )
Czy kod javascript jest spakowany w stanie, w jakim się znajduje? A jeśli tak, to czy pomaga to w modyfikacji gry?
Zależy od platformy i nie, tak naprawdę nie pomaga modyfikowalność
Czy można korzystać z bibliotek opracowanych dla jednego języka, a rozwijających się w drugim?
Myślę, że tak (chociaż nigdy nie musiałem tego robić, ponieważ wszystkie biblioteki, których używam, zostały zaprogramowane w języku C #)
Czy można mieszać dwa języki w tym samym projekcie Unity, kodując niektóre części w języku C #, a inne w JavaScript?
Tak (chociaż staram się tego unikać, ze względu na spójność)