Прежде всего, я бы порекомендовал C # поверх JavaScript для программирования в Unity по двум основным причинам. Первая причина сводится к сильной / слабой разнице в типизации, которую вы как бы отклонили. Я думаю, что строгая типизация работает лучше, чем слабая типизация на концептуальном уровне, но, честно говоря, это большой аргумент, который есть у людей, и поэтому я сосредоточусь больше на конкретной практической проблеме: развертывании на iOS (и, возможно, на других платформах, но это только один я знаю точно) требует статической типизации. На самом деле Unity даже имеет директиву "#pragma strict", которая может заставить статическую типизацию в JavaScript по этой причине, но это только подводит меня ко второй причине ...
Во-вторых, JavaScript в Unity не совсем такой же, как JavaScript в браузере. Это создает проблемы, когда вы пытаетесь применить знания извне Unity (т.е. большинство ресурсов о JavaScript) для программирования в Unity. Вот почему многие разработчики Unity называют этот язык UnityScript.
Теперь, чтобы ответить на ваши конкретные вопросы:
Есть ли заметная разница в производительности?
Не совсем, нет ( некоторые детали )
Код javascript упакован как есть? И если да, то помогает ли это модальности игры?
Зависит от платформы, и нет, это не помогает модальности
Можно ли использовать библиотеки, разработанные для одного языка, при разработке на другом?
Я так думаю (хотя мне никогда не нужно было этого делать, потому что все библиотеки, которые я использую, были запрограммированы на C #)
Можно ли смешивать два языка в одном проекте Unity, кодируя некоторые части в C #, а другие в Javascript?
Да (хотя я стараюсь избегать этого по соображениям согласованности)