You've added 3D models to your Shopify store, but when customers tap "View in your space," nothing happens. Or worse - the AR experience loads so slowly that they give up before seeing your product in their living room.
Shopify's AR feature is powerful, but it has strict requirements that most 3D models don't meet out of the box. Here's everything you need to know to get your products working smoothly in AR.
Shopify's 3D/AR Requirements
Shopify accepts two file formats for 3D models:
- GLB - For 3D viewer on product pages (all platforms)
- USDZ - For AR Quick Look on iOS devices
For the best experience, you need both. The GLB powers the interactive 3D viewer, while the USDZ enables the "View in AR" button on iPhones and iPads.
File Size Limits
Shopify's official limits are generous - up to 500MB per file. But those limits are for what Shopify will accept, not what will actually work well:
| Metric | Shopify Limit | Recommended |
|---|---|---|
| GLB file size | 500 MB | < 15 MB |
| USDZ file size | 500 MB | < 10 MB |
| Polygon count | No hard limit | < 100,000 |
| Texture size | No hard limit | < 2048px |
Why the gap? Because AR runs on phones. A 50MB model might upload fine but will take 30 seconds to load on a cellular connection - and your customer is long gone by then.
Apple AR Quick Look Requirements
The USDZ format powers AR on iOS, and Apple has its own recommendations:
- Polygon count: Under 100,000 triangles for smooth performance
- Texture size: 2048x2048 maximum per texture
- File size: Under 10MB for quick loading
- Materials: PBR (Physically Based Rendering) only
- Animations: Supported but add to file size
Exceed these and you'll see stuttering, crashes on older iPhones, or the AR experience simply refusing to load.
Common Problems (And How to Fix Them)
Problem: "View in AR" Button Does Nothing
This usually means your USDZ file is missing or corrupted. Check that:
- You've uploaded both GLB and USDZ versions
- The USDZ was created correctly (not just renamed from GLB)
- The file isn't corrupted - test it locally first
You can test USDZ files by AirDropping them to an iPhone or opening them in macOS Finder (which has built-in Quick Look support).
Problem: AR Loads But Looks Wrong
Materials often break during conversion. USDZ only supports PBR materials with specific texture types:
- Base Color (Diffuse/Albedo)
- Normal Map
- Roughness
- Metallic
- Ambient Occlusion
- Emissive
If your source model uses non-PBR materials (like Blender's Principled BSDF with unsupported nodes), they won't translate correctly.
Problem: AR is Slow or Stutters
Your model is too heavy. Use our GLB Inspector to check polygon count and texture sizes. If you're over the recommended limits, optimization is required.
The Manual Optimization Process
If you're comfortable with Blender, here's the workflow:
Step 1: Reduce Polygon Count
Import your model and apply a Decimate modifier. For e-commerce products, you can often reduce by 70-80% without visible quality loss - customers are viewing on phone screens, not 4K monitors.
# Target: 30,000-50,000 triangles for hero products
# Target: 10,000-20,000 triangles for secondary products
Step 2: Resize Textures
Open each texture and resize to 1024x1024 or 2048x2048 maximum. For most products, 1024px is sufficient - remember, it's being viewed on a 6-inch phone screen.
Step 3: Export GLB with Compression
When exporting to GLB, enable Draco compression for geometry. This can reduce file size by 80-90% with minimal quality impact.
Step 4: Convert to USDZ
This is where it gets tricky. Apple's Reality Converter is the official tool, but it only runs on macOS. Alternatives:
- Reality Converter (macOS only) - Apple's official tool, best compatibility
- Blender USDZ export - Works but can have material issues
- Online converters - Hit or miss quality
Total time for one product: 45-90 minutes if you know what you're doing. Multiply by your SKU count.
The Automated Approach
Here's the same process via API:
curl -X POST https://webdeliveryengine.com/optimize \
-H "Authorization: Bearer sk_your_key" \
-F "[email protected]" \
-F "mode=decimate" \
-F "ratio=0.5" \
-F "format=both" \
--output product-optimized.glb
That handles polygon reduction, texture optimization, and Draco compression in one call. The format=both parameter generates GLB and USDZ simultaneously. Processing typically takes seconds to a few minutes depending on file size.
The API response includes download URLs for both formats:
// Response includes:
// "glb_url": "/download/{job_id}/model_opt.glb"
// "usdz_url": "/download/{job_id}/model_opt.usdz"
Now you have both formats ready for Shopify upload.
Batch Processing for Catalogs
For stores with hundreds of products:
#!/bin/bash
for file in ./products/*.glb; do
name=$(basename "$file" .glb)
# Optimize and generate both GLB + USDZ in one call
curl -X POST https://webdeliveryengine.com/optimize \
-H "Authorization: Bearer sk_your_key" \
-F "file=@$file" \
-F "mode=decimate" \
-F "ratio=0.5" \
-F "format=both" \
--output "./output/${name}.json"
# Parse response to get download URLs, then fetch both files
# Response contains glb_url and usdz_url for downloading
echo "Processed: $name"
done
Quality Settings for Different Products
Not every product needs the same level of detail:
| Product Type | Target Polys | Texture Size | Quality Setting |
|---|---|---|---|
| Hero/Featured | 50-100K | 2048px | 70-80% |
| Standard Products | 20-50K | 1024px | 50-60% |
| Simple/Small Items | 5-20K | 512px | 30-40% |
| Furniture (Large) | 30-60K | 2048px | 50-60% |
Testing Your AR Experience
Before uploading to Shopify, test locally:
- GLB: Open in glTF Viewer or our GLB Inspector
- USDZ: AirDrop to an iPhone, or open in macOS Finder
- Performance: Test on an older device (iPhone 8 or similar) to catch performance issues
If it runs smoothly on older hardware, it'll work great for your customers.
Uploading to Shopify
Once your files are optimized:
- Go to Products in Shopify admin
- Select the product
- Scroll to 3D models section
- Upload both GLB and USDZ files
- Preview on mobile to verify AR works
Shopify will automatically show the 3D viewer on product pages and enable "View in AR" for iOS customers.
Summary
Shopify AR is a powerful sales tool - products with AR see significantly higher conversion rates. But the technology only works if your 3D models are properly optimized.
Key takeaways:
- Keep GLB files under 15MB, USDZ under 10MB
- Target under 100K polygons for smooth AR performance
- Use 1024-2048px textures maximum
- Test on real devices before uploading
- Automate the process if you have more than a handful of products
The difference between a 50MB model that crashes and a 3MB model that loads instantly is the difference between a frustrated customer and a sale.