Podwójny system budowania Unity 3D dla Web

Gra Unity 3D naszego klienta była kierowana zarówno na przeglądarki mobilne, jak i przeglądarki desktopowe. Te platformy różnią się znacząco pod względem wydajności i wymagań dotyczących zasobów. Wykorzystanie tego samego buildu dla obu środowisk powodowało dłuższe czasy ładowania, niepotrzebnie duże pliki zasobów oraz obniżoną wydajność na urządzeniach mobilnych.

Aby rozwiązać ten problem, stworzyliśmy w pełni zautomatyzowany system podwójnego builda, generujący zoptymalizowane wersje gry dla Mobile Web i Desktop Web.

Nasze działania

  • Zautomatyzowany pipeline buildów – Wdrożyliśmy system, który w ramach jednego procesu przygotowuje dwie odrębne wersje gry (mobilną i desktopową).
  • Optymalizacja zasobów – Dostosowaliśmy ustawienia w zależności od platformy, m.in.:
    • formaty kompresji tekstur
    • rozdzielczości tekstur
    • ustawienia kompresji plików audio
  • Dynamiczne AssetBundle – Generowaliśmy świeże zestawy AssetBundle dopasowane do każdej platformy, aby skrócić czas ładowania i zmniejszyć użycie pamięci.
  • Kompilacja warunkowa – Wykorzystaliśmy Scripting Define Symbols w Unity do automatycznego kontrolowania logiki i funkcji specyficznych dla platformy.
  • Ulepszona wydajność – Zapewniliśmy szybsze ładowanie na urządzeniach mobilnych przy jednoczesnym zachowaniu wysokiej jakości zasobów i wydajności na komputerach stacjonarnych.

Rezultaty

Nowy system budowania znacząco poprawił szybkość ładowania, efektywność wykorzystania zasobów oraz doświadczenie graczy na obu platformach webowych. Usprawnił także proces publikacji, redukując ręczną pracę i minimalizując ryzyko błędów podczas wdrożeń.

Wykorzystane technologie:
Unity 3D, C#