Another Axiom's producer Derek Arabian explains how the studio ships Gorilla Tag updates every two weeks across VR platforms. The interview covers performance-first priorities (targeting a steady 90fps on Quest 2 standalone), a sandboxed and whitelisted user-generated content system with polygon and object caps, the move to Unity's Universal Render Pipeline with an uber shader setup, use of Addressables to manage a huge cosmetic catalog within Meta Quest APK size limits, reliance on Unity Cloud Build Automation for CI/CD, Unity Profiler workflows for tracking draw calls and memory, and lessons from building the gravity-bending space map update.
Questions this post answers
How does Gorilla Tag keep custom user-generated maps performant across VR headsets?
Another Axiom built a sandbox with hard limits: caps on the number of polygons in a custom map, limits on active objects, and constraints tied to performance impact. They also whitelist only a stable subset of the game's components for use in user-generated content, gradually expanding that pool as internal tools improve and more components prove safe and performant. Developers designing UGC systems can track how other studios balance creative freedom and performance limits on daily.dev.
What frame rate target does Gorilla Tag use for VR performance benchmarking?
Gorilla Tag targets a steady 90 fps on Quest 2 standalone, treating it as the primary performance benchmark since it represents a large share of the playerbase, with some allowance for dips during heavy on-screen action. The Unity Profiler runs on every release build and many intermediary builds to track draw calls, garbage collection, and memory usage against that target. VR developers chasing frame-time budgets can compare optimization approaches like this one on daily.dev.
How does Addressables help manage large cosmetic catalogs on Meta Quest?
Addressables package Gorilla Tag's growing cosmetic catalog into an Opaque Binary Blob (OBB), which is necessary because Meta Quest enforces APK size limits that force assets beyond a certain size out of the APK. Addressables split up the APK during Unity builds and ensure assets load from the correct location at the right time to preserve performance. Developers hitting platform size limits can follow Unity asset management strategies like this via daily.dev.