Большая ли разница между написанием на UNITY или чистом С++ C#?
Инструмент всегда выбирается от задачи.

Первым делом нужно строго сформулировать для себя задачу. Чего ты хочешь добиться?
Сделать игру? Это не задача. Заработать денег на игре? Это не задача.
Задачу надо детально формулировать. Например: сделать игру по уже имеющемуся ТЗ в конкретные сроки и с затратами не выше заданного бюджета.

Исходя из задачи выбирается инструмент.
Разные инструменты предъявляют разные требования к профессионализму разработчика, бюджету и времени разработки. Разные инструменты влекут разные риски для процесса разработки.
Выбор инструмента заключается в сведении проф. навыков, бюджета, времени и рисков в одном месте.

Unity позволяет вести быструю разработку при минимальной квалификации, но влечет риски быстрого изменения системных требований и непредвиденных сопутствующих расходов в местном "магазинчике радостей". Плюс, в определенный момент потребуется заплатить немалые деньги за лицензию.

Чистый C# требует профессионализма и большого времени на разработку. Профессионализм требуется сразу довольно высокий. Человек должен не только языком владеть, но и быть в состоянии выбрать подходящие сторонние библиотеки для помощи.

Чистый C++ требует экспертного уровня профессионализма и, буквально, огромного времени на разработку. Незначительного уменьшения времени на разработку можно добиться покупкой сторонних инструментов за довольно большие деньги. Более того, экспертный уровень требуется не только в знании C++, но и в знании сопутствующих разработке игры областей. Математику, звук, графику, сеть и каждую из целевых платформ требуется тоже знать на экспертном уровне. Иначе выбор чистого C++ будет проигрывать выбору чистого C#.
Современный C# после сборки по своей производительности ничем не отличается от результатов сборки C++, а разработку на C++ вести значительно сложнее.

Более того, использование чистого инструмента всегда требует от пользователя экспертного уровня знания архитектуры ПО.
Основное энергопотребление для игр занимает рендеринг графики. Поэтому для игры будет по большему счету безразлично вызываете вы графичесекий API  из С++ или из C#. Исключение пожалуй составят игры со сложным AI где именно важен основной CPU. Но в играх типа Марио нету никакого сложного AI поэтому можете игнорить это исключение.

C# более прозрачный для понимания язык свободный от UB и поэтому если вы планируете в будущем развивать и доделывать софт - то лучше всего этот софт делать на современном и однозначном языке. Для бизнеса это полезно. Всегда найдете другого разработчика который легко разберется в вашем коде и пофиксит все что надо.