AR budgets are tighter than the web's
AR runs on a phone's GPU while the camera, tracking, and lighting estimation also compete for resources, often over a cellular connection. That makes the budget strict: low face counts, few draw calls, GPU-compressed textures, and a small file that downloads fast.
Texture memory is the usual culprit for AR crashes — a couple of uncompressed 2K textures can exhaust mobile VRAM. KTX2 is what keeps an AR model stable.
How Zlim makes a model AR-ready
Zlim decimates and quantizes geometry, merges meshes to minimize draw calls, and transcodes textures to KTX2 with mipmaps — emitting a GLB for Android Scene Viewer and WebAR. For Apple AR Quick Look, keep a USDZ; Zlim reads USD/USDZ and writes the optimized GLB for everything else.
zlim optimize product.glb -o product-ar.glb -p maximum # AR-ready GLBFAQ
What format does AR need?
Android Scene Viewer and WebAR use GLB; iOS AR Quick Look uses USDZ. Zlim outputs optimized GLB and also reads USD/USDZ, so you can cover all three platforms.
Why does my AR model crash on phones?
Almost always texture memory. Transcoding textures to KTX2 (which Zlim does) keeps them compressed in VRAM and resolves most mobile AR stability issues.
Optimize 3D for AR
Start free — 25 optimizations a month. No card required.