File: USDZExporter.md | Updated: 11/15/2025
An exporter for USDZ.
const exporter = new USDZExporter();
const arraybuffer = await exporter.parseAsync( scene );
USDZExporter is an addon, and must be imported explicitly, see Installation#Addons.
import { USDZExporter } from 'three/addons/exporters/USDZExporter.js';
Constructs a new USDZ exporter.
A reference to a texture utils module.
Default is null.
Parse the given 3D object and generates the USDZ output.
scene | The 3D object to export.
---|---
onDone | A callback function that is executed when the export has finished.
onError | A callback function that is executed when an error happens.
options | The export options.
Async version of USDZExporter#parse.
scene | The 3D object to export.
---|---
options | The export options.
Returns: A Promise that resolved with the exported USDZ data.
Sets the texture utils for this exporter. Only relevant when compressed textures have to be exported.
Depending on whether you use WebGLRenderer or WebGPURenderer, you must inject the corresponding texture utils WebGLTextureUtils or WebGPUTextureUtils.
utils | The texture utils.
---|---
onDone callback of USDZExporter.
result | The generated USDZ.
---|---
onError callback of USDZExporter.
error | The error object.
---|---
Export options of USDZExporter.
maxTextureSize
number | The maximum texture size that is going to be exported. Default is 1024.
---|---
includeAnchoringProperties
boolean | Whether to include anchoring properties or not. Default is true.
onlyVisible
boolean | Export only visible 3D objects. Default is true.
ar
Object | If includeAnchoringProperties is set to true, the anchoring type and alignment can be configured via ar.anchoring.type and ar.planeAnchoring.alignment.
quickLookCompatible
boolean | Whether to make the exported USDZ compatible to QuickLook which means the asset is modified to accommodate the bugs FB10036297 and FB11442287 (Apple Feedback). Default is false.