Zunächst einmal würde ich C # über JavaScript für die Programmierung in Unity aus zwei Hauptgründen empfehlen. Der erste Grund ist der starke / schwache Tippunterschied, den Sie sozusagen abgewiesen haben. Ich denke, starkes Tippen funktioniert auf konzeptioneller Ebene besser als schwaches Tippen, aber ehrlich gesagt ist das ein großes Argument, das die Leute haben, und deshalb werde ich mich mehr auf ein spezifisches praktisches Thema konzentrieren: Bereitstellen auf iOS (und möglicherweise auch auf anderen Plattformen, aber das ist das Nur eines, das ich mit Sicherheit kenne, erfordert statische Eingabe. Unity hat sogar eine Direktive "#pragma strict", die aus diesem Grund die statische Eingabe in JavaScript erzwingen kann, aber das bringt mich nur zu meinem zweiten Grund ...
Zweitens ist das JavaScript in Unity nicht ganz dasselbe wie JavaScript in einem Browser. Dies führt zu Problemen, wenn Sie versuchen, Kenntnisse von außerhalb von Unity (dh die meisten Ressourcen zu JavaScript) auf die Programmierung in Unity anzuwenden. Aus diesem Grund bezeichnen viele Unity-Entwickler die Sprache als UnityScript.
Um nun Ihre spezifischen Fragen zu beantworten:
Gibt es einen merklichen Leistungsunterschied?
Nicht wirklich, nein ( einige Details )
Ist der Javascript-Code so verpackt, wie er ist? Und wenn ja, hilft das der Modifizierbarkeit des Spiels?
Hängt von der Plattform ab und nein, das hilft nicht wirklich bei der Modifizierbarkeit
Ist es möglich, Bibliotheken zu verwenden, die für eine Sprache entwickelt wurden, während in der anderen entwickelt wurde?
Ich denke schon (obwohl ich das noch nie gemacht habe, weil alle Bibliotheken, die ich verwende, in C # programmiert wurden)
Ist es möglich, die beiden Sprachen im selben Unity-Projekt zu mischen, indem einige Teile in C # und andere in Javascript codiert werden?
Ja (obwohl ich aus Konsistenzgründen versuche, dies zu vermeiden)