Выбор между C# и C++ зависит от ваших конкретных потребностей и целей.
Если вы хотите создавать игры в Unity, то C# является основным языком программирования для этого движка, и вы сможете найти много ресурсов и поддержку сообщества для работы с ним. Однако, как вы упомянули, создание сложных игровых проектов с использованием C# может быть более затянутым и менее эффективным, чем при использовании C++.
Если вам необходимо создавать более сложные и оптимизированные программы, особенно в области разработки ПО или работы на заводах, то C++ может быть лучшим вариантом. C++ является более низкоуровневым языком программирования, что позволяет более тонко настраивать производительность и использовать его для работы с аппаратным обеспечением.
В целом, если вам необходимо создавать игры в Unity, то C# будет хорошим выбором. Если вам нужна более высокая производительность и более глубокое понимание работы программы на более низком уровне, то выбор стоит сделать в пользу C++.