There are two formats for AR – .USDZ and .GLB

.USDZ files are natively supported by Apple and iOS devices, whereas .GLB files are natively supported by Android devices.

Introduction to USDZ

The .USDZ file format is derived from Pixar’s .USD (Universal Scene Description) format, an open-source format that can be read by different content creation programs, with its key strengths being able to contain extensive collections of assets, and layering said assets such that multiple artists can work on the same file at one time. USD files can be either ASCII or binary format:

.USDA is the ASCII format, which is human-readable, but takes a long time to load
.USDC is the binary format, which loads faster and is the format that is saved into USDZ files

Most devices can autodetect whether a USD file is supposed to be USDA or USDC depending on the first few bytes of the file.

The .USDZ file is a kind of zip file (much like .zip, .7z, and .rar), that contains at least one USDC file and any textures, sounds, etc. that should be loaded into the scene, and is also uncompressed and unencrypted. The typical file structure for a USDZ file can be seen should one change its extension into .zip and open it:

root of the .usdz file
inside the “0” folder are the textures for the scene

Do note, however, that one cannot assemble a USDZ file from a .zip file. One will need to pack it with XCode or through the use of software. Modern Apple computers (>2011) support XCode, Reality Converter, and Reality Composer, and thus the pipeline is infinitely easier on Apple computers. We will be operating under Windows in this course, and the tools needed to produce AR products with it.

Introduction to GLB

.GLB files are much like USDZ files, except they are a derivative of the much more universal .glTF formats. glTF, much like USD, is an open-source, royalty-free format, but developed by the Khronos group, and are more widely-used outside of Apple infrastructure. The core of glTF is a JSON file that stores data on textures, cameras, models, etc., with some of these information stored outside of the file in the same folder as .bin and image files.

The .GLB file is a binary container that, like the relationship between .USD and .USDZ, stores all of these extra information into a single file. It cannot be unzipped, and must be viewed and unpacked properly using software.