📄 threejs/Addons/Exporters/USDZExporter

File: USDZExporter.md | Updated: 11/15/2025


title: USDZExporter category: Addons layout: docs

USDZExporter

An exporter for USDZ.

Code Example

const exporter = new USDZExporter();
const arraybuffer = await exporter.parseAsync( scene );

Import

USDZExporter is an addon, and must be imported explicitly, see Installation#Addons.

import { USDZExporter } from 'three/addons/exporters/USDZExporter.js';

Constructor

new USDZExporter()

Constructs a new USDZ exporter.

Properties

.textureUtils : WebGLTextureUtils | WebGPUTextureUtils

A reference to a texture utils module.

Default is null.

Methods

.parse( scene : Object3D, onDone : USDZExporter~OnDone, onError : USDZExporter~OnError, options : USDZExporter~Options )

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.

.parseAsync( scene : Object3D, options : USDZExporter~Options ) : Promise.<ArrayBuffer> (async)

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.

.setTextureUtils( utils : WebGLTextureUtils | WebGPUTextureUtils )

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.
---|---

Type Definitions

.OnDone( result : ArrayBuffer )

onDone callback of USDZExporter.

result | The generated USDZ.
---|---

.OnError( error : Error )

onError callback of USDZExporter.

error | The error object.
---|---

.Options

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.

Source

examples/jsm/exporters/USDZExporter.js