Движки которые используют Статические языки (требуют компиляции, C++, C#, Java), практически всегда используют уже готовые решения (не являются самодостаточными):
Unreal Engine - C++ - На Windows использует C# для генерации проекта и компилятор MSVC (Visual Studio); На Linux - cmake, clang
Unity - С# - Использует mono
CryEngine - C++ - MSVC (Visual Studio)
Torque 3D - C++ - MSVC (Visual Studio)
WaveEngine - C#, F#, VB - csc (Visual Studio), mono
В таких случаях всегда указаны "Prerequisites"
Для удобства, во многие среды разработки уже внедрены инструменты для автоматизации процессов компиляции. К примеру, UE4 может динамически обновлять библиотеки dll (Hot Reload).
Движки с динамическими языками (не компилируются или компилируются "на лету", Python, JS, AS3, Lua), по сути, не собирают никаких exe/dll:
Unity - JS (только упакует ресурсы)
Phaser.io - JS
CryEngine - Lua (только упакует ресурсы)
pyGame - Python
Ren'Py - Python
Существуют движки, SDK которых представлена на многих языках - Live2D Cubism (C++, C#, AS3, JS, Java), Box2D (C++, Python, Java, AS3). Соответственно подход в каждом случае будет разный.