{"id":23736728,"url":"https://github.com/rimurudev/unity_webgl_build_size_only_draft","last_synced_at":"2026-02-04T05:35:21.688Z","repository":{"id":269955878,"uuid":"908960556","full_name":"RimuruDev/UNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT","owner":"RimuruDev","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-27T12:18:23.000Z","size":1632,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-24T06:37:23.988Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RimuruDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-27T11:54:01.000Z","updated_at":"2024-12-27T12:18:26.000Z","dependencies_parsed_at":"2024-12-27T12:38:25.034Z","dependency_job_id":null,"html_url":"https://github.com/RimuruDev/UNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT","commit_stats":null,"previous_names":["rimurudev/unity_webgl_build_size_only_draft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RimuruDev/UNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimuruDev%2FUNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimuruDev%2FUNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimuruDev%2FUNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimuruDev%2FUNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RimuruDev","download_url":"https://codeload.github.com/RimuruDev/UNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimuruDev%2FUNITY_WEBGL_BUILD_SIZE_ONLY_DRAFT/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263942275,"owners_count":23533351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T07:36:58.593Z","updated_at":"2026-02-04T05:35:16.654Z","avatar_url":"https://github.com/RimuruDev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Настройки проекта\n\n### * Вкратце и поверхностно, на коленке написано :3 Обязательно пройдись по всем ссылкам — в каждой есть информация, которая может помочь именно в твоём кейсе.\n\n### Специальные зарезервированные папки проекта Unity\n\nУ Unity есть много специальных зарезервированных папок, две из них напрямую могут влиять на размер сборки.\nЧто бы ни лежало в папках StreamingAssets и Resources, оно попадёт в билд. Поэтому:\n- [ ] Папка **StreamingAssets** (если есть) — нужно убрать из неё всё лишнее.\n- [ ] Папки **Resources** (если есть) — нужно убрать из них всё лишнее.\n\n### Ограничение размера спрайтов и текстур в редакторе\n- [ ] Ограничить все ресурсы проекта, включая readonly плагины, до 512х512 или 1024х1024.\n  \u003cimg width=\"684\" alt=\"Pasted image 20241227150757\" src=\"https://github.com/user-attachments/assets/2bafd128-4844-4f88-86fc-efc70c6fcb1d\" /\u003e\n\n### Build Settings\n- [ ] Режим упаковки кода (Code Optimization) ставь **Disk Size** или **Disk Size LTO**.\n  \u003cimg width=\"689\" alt=\"Pasted image 20241227150936\" src=\"https://github.com/user-attachments/assets/d5d0f7d4-d9c2-4563-bb22-f568b39ff29a\" /\u003e\n\n- [ ] Удали лишние или неиспользуемые сцены из **Scenes in Build**, так как они добавляются в билд.\n  \u003cimg width=\"683\" alt=\"Pasted image 20241227151104\" src=\"https://github.com/user-attachments/assets/4acafb9e-087b-400b-99ef-39b3a9392b46\" /\u003e\n\n- [ ] В **IL2Cpp Code Generation** выбери режим **Faster (smaller) builds**.\n  \u003cimg width=\"681\" alt=\"Pasted image 20241227151231\" src=\"https://github.com/user-attachments/assets/3cc22881-514d-4b70-bf1c-fa129be1324a\" /\u003e\n\n- [ ] Протестируй режим GZip для своего проекта. Если размер сборки уменьшился, оставь его, если увеличился — выбери Brotli. Это зависит от проекта.\n  \u003cimg width=\"668\" alt=\"Pasted image 20241227151548\" src=\"https://github.com/user-attachments/assets/f96902b4-785f-44dd-bc03-9692325b501e\" /\u003e\n\n- [ ] Удаление или отключение лишних пакетов значительно уменьшит вес игры.\n  \u003cimg width=\"692\" alt=\"Pasted image 20241227153331\" src=\"https://github.com/user-attachments/assets/90ffb13b-80a9-4c40-bf84-4e604c7d01dc\" /\u003e\n\n- [ ] В папке **Packages** есть файл `manifest.json`. Удали из него лишние строки.\n  Вот пример, выделенные строки можно удалить. Однако это только пример — нужно удалить вообще всё лишнее.\n  \u003cimg width=\"848\" alt=\"Pasted image 20241227153549\" src=\"https://github.com/user-attachments/assets/5ec67380-a43b-499a-9c85-54c9b0738514\" /\u003e\n\n- [ ] Для релизной сборки или минимального размера рекомендуется собирать проект как clean build, пример ниже.\n  \u003cimg width=\"824\" alt=\"Pasted image 20241227153751\" src=\"https://github.com/user-attachments/assets/4dea149d-981a-4893-b2a8-cae13b125592\" /\u003e\n\n---\n\n## Assets (Ассеты)\n\n### **Audio**\nДля WebGL параметр **Load Type** должен быть установлен на **Decompression On Load**, иначе работа на WebGL не гарантируется. Остальные настройки на твоё усмотрение. Видео ниже покажет, как именно можно оптимизировать аудио.\n- [ ] Вот пример оптимизации аудио [ссылка](https://www.youtube.com/watch?v=r19FVjZYMAM)\n\n### **Sprites**\nВажно, чтобы все изображения:\n- [ ] Оптимизировались через атласы и правильные настройки. Пример [видео](https://youtu.be/ex9Ie8KcIEM).\n- [ ] Видео на YouTube от Яковлева, часть 1 [ссылка](https://www.youtube.com/watch?v=uJaMrKX0DZg).\n- [ ] Видео на YouTube от Яковлева, часть 2 [ссылка](https://www.youtube.com/watch?v=3DBufWKuHeo).\n\n### **Fonts**\nЕсли используешь **TMP Pro**, можно удалить все лишние шрифты из папок плагина, включая те, которые не используются. Они находятся в папке **Resources** плагина, поэтому будут попадать в билд, даже если ты используешь свои. Это сразу сэкономит до 2 мегабайт.\n- [ ] Шрифты весят много, вот статья по оптимизации [ссылка](https://vk.com/@-210544836-optimizaciya-proekta-unity).\n- [ ] Дополнительная документация от Unity [ссылка](https://docs.unity3d.com/ru/530/Manual/ReducingFilesize.html).\n\n### **External Compress**\n- [ ] Все изображения для фонов нужно прогнать через сервисы для уменьшения веса фото.\n- [ ] Все видео для фонов нужно прогнать через сервисы для уменьшения веса видео.\n- [ ] Все аудио для фонов нужно прогнать через сервисы для уменьшения веса аудио.\n\n### **Environment**\n- [ ] Оптимизация моделей: [ссылка](https://www.youtube.com/watch?v=W1JxCJRVjdo).\n- [ ] Настройка 3D-моделей (их FBX-файлов): [ссылка](https://www.youtube.com/watch?v=uJaMrKX0DZg) и [ссылка](https://www.youtube.com/watch?v=3DBufWKuHeo).\n\n### **Scene**\n- [ ] Все объекты на сцене должны быть префабами или композициями префабов. Иначе Unity будет воспринимать каждый объект как уникальный, что увеличивает размер игры.\n- [ ] Если возможно, генерируй окружение через код. Это значительно уменьшит вес сборки, так как объекты не будут заранее созданы и добавлены в сцену.\n- [ ] Минимизируй использование сложных физических коллайдеров. Избегай **MeshCollider** и **Tilemap Collider** без **Composite Collider**. Чем больше сложных коллайдеров, тем больше вес сборки. Например, сравни сцену с Tilemap и коллайдером и без него, чтобы увидеть разницу.\n\n---\n\n## Ссылки на статьи по теме\n0. [Инструкция по уменьшению веса сборки](https://vk.com/@-210544836-optimizaciya-proekta-unity)\n1. Гайд от Кабанчика [ссылка](https://t.me/archivekaban/7)\n2. Видео на YouTube от Alex Sosnovskiy [ссылка](https://www.youtube.com/watch?v=oj7-ge_Oi0k)\n3. \"100 и 1 проблема Unity в WebGL\" [ссылка](https://maksimsazanovich.github.io/roundedbox/#100_and_1_problem_of_unity_in_webgl)\n4. Видео на YouTube от \"Unity без воды\" [ссылка](https://www.youtube.com/@Unity3dWithoutWater)\n5. Видео на YouTube от Яковлева, часть 1 [ссылка](https://www.youtube.com/watch?v=uJaMrKX0DZg)\n6. Видео на YouTube от Яковлева, часть 2 [ссылка](https://www.youtube.com/watch?v=3DBufWKuHeo)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frimurudev%2Funity_webgl_build_size_only_draft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frimurudev%2Funity_webgl_build_size_only_draft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frimurudev%2Funity_webgl_build_size_only_draft/lists"}