DLL (Dynamic-Link Library — динамически подключаемая библиотека) — это файл, содержащий код и данные, которые могут быть использованы несколькими программами одновременно. DLL позволяет разделять код и ресурсы, что обеспечивает модульность, возможность повторного использования и эффективного использования памяти. Также стоит упомянуть, что в контексте производительности, расположение и организация DLL-файлов непосредственного влияния на процесс выполнения вашей программы не оказывают. Это больше вопрос удобства организации вашего проекта и его структуры. <br> ### Подключение сторонних DLL-библиотек Танцы с бубном начинается когда мы хотим поставить либы для iOS/android. Есть готовые assets из asset store, которые позволяют не возиться несколько дней, чтобы подключить firebase или Facebook SDK. Например [этот asset](https://assetstore.unity.com/packages/tools/integration/mobile-tools-complete-game-132284) позволяет быстро подключить в том числе AdMob. <br> DLL библиотеки от сторонних разработчиков, какой код там внутри? Как сторонняя DLL библиотека работает с Unity проектом? <br> ### Если в проекте нужно использовать DLL разных версий Может быть такая ситуация, что разные либы (Library1, Library2) используют в качестве зависимости одну либу (Library3 V.1 и Library3 V.2), но разных версий. Такая ситуация применима, если все библиотеки являются DLL. ![DLL](images/DLL.png) Решением будет использовать ilmerge библиотеку (они разные и от разных авторов) Олег в свое время пользовался [таким](https://github.com/gluck/il-repack) решением. Запускал виртуалку на Windows и запустил там exe файл библиотеки. Есть отдельная заметка как достать исполняемый файл из GitHub-репозитория. **"Ад DLL" (DLL Hell):** Этот термин относится к ситуациям, когда одна программа требует одной версии DLL, а другая - другой. Это может привести к конфликтам и ошибкам. Microsoft внедрил систему "бок о бок" (side-by-side) в Windows для смягчения этой проблемы.