unity - easy to learn. Hard to master. Научиться на нем писать - легко. Научиться на нем писать хорошо-тяжело. как и в JS
1) gc который работает в рандомные моменты (точнее в моменты когда у нас заканчиваются ресурсы) может(и провоцирует) пролаги. Вроде бы надо написании кода (вроде прожектайлы которые могут копироваться и генериться в бесконечном колличестве)(спойлеры - обычно о таком моменте даже не задумываются)
2) monobehaviour-как основа плохо с точки зрения ООП - очень плохо. Им нужно пользоваться аккуратно ибо и учиться жить и не пихать куда угодно(но опять же никто этого не делает)

А вообще ну в целом есть целый раздел https://learn.microsoft.com/ru-ru/wi...ions-for-unity