Автор, ты будешь удивлён, но в Unity ты пишешь код напрямую относящийся к процессу игры. Тебя, умника, отгородили от миллионов строк инициализации графического движка, кроссплатформенных решений, работы с библиотеками OpenGL, DirectX и другими. От реализации ввода, звуковых решений и прочего прочего прочего. Тебе с таким вопросом должно быть стыдно, если ты считаешь себя разработчиком.
Писать код для игры с нуля это:
1. Реализовать методы для работы с OpenGL или DirectX.
1.1. Или ты хочешь и их не использовать (ведь они тоже не твой код), а сразу использовать работу с ГПУ? Рассчитывать геометрию, перспективу, вьюпорт и прочее?
2. Реализовать сотни классов для вывода спрайтов, 3д-моделей, теней, шейдеров, освещения.
3. Реализовать звуковой движок: положение звука в пространстве относительно источника/приёмника
4. Реализовать систему ввода, поддержку контроллеров, мыши и прочее
5. Реализовать физический движок. А ты думаешь, падение фигуры в Unity, которое делается в 5 кликов, сделано OpenGLом? А коллизии?
И то, что я описал выше даже ещё не затронуло твою игру, прикинь? Ты даже название ещё нигде не указал. Но потратишь ты на это несколько лет.
В общем-то глупо что-то ещё разводить.