Tout d'abord, je recommanderais C # sur JavaScript pour la programmation dans Unity pour deux raisons principales. La première raison se résume à la différence de frappe forte / faible que vous avez en quelque sorte écartée. Je pense que le typage fort fonctionne mieux que le typage faible au niveau conceptuel, mais franchement, c'est un gros argument que les gens ont et je vais donc me concentrer davantage sur un problème pratique spécifique: le déploiement sur iOS (et peut-être d'autres plates-formes aussi, mais c'est la je n'en connais qu'un seul) nécessite une saisie statique. Unity a même une directive "#pragma strict" qui peut forcer la saisie statique en JavaScript pour cette raison, mais cela m'amène à ma deuxième raison ...
Deuxièmement, le JavaScript dans Unity n'est pas entièrement identique à JavaScript dans un navigateur. Cela crée des problèmes lorsque vous essayez d'appliquer des connaissances extérieures à Unity (c'est-à-dire la majorité des ressources sur JavaScript) à la programmation dans Unity. C'est pourquoi de nombreux développeurs Unity appellent le langage UnityScript.
Maintenant, pour répondre à vos questions spécifiques:
Y a-t-il une différence de performance notable?
Pas vraiment, non ( quelques détails )
Le code javascript est-il conditionné tel quel? Et si oui, cela améliore-t-il la modabilité du jeu?
Cela dépend de la plate-forme, et non, cela n'aide pas vraiment la modabilité
Est-il possible d'utiliser des bibliothèques développées pour une langue tout en développant dans l'autre?
Je pense que oui (même si je n'ai jamais eu besoin de le faire, car toutes les bibliothèques que j'utilise ont été programmées en C #)
Est-il possible de mélanger les deux langages dans le même projet Unity en codant certaines parties en C # et d'autres en Javascript?
Oui (bien que j'essaye de l'éviter, pour des raisons de cohérence)