Differences in 2023
The difference between .dae
and .scn
formats is notable. Collada .dae
file (which stands for digital asset exchange
) is a cross-platform XML-based schema format used for graphics and visual effects in 3D authoring apps, like Maya or Blender. SceneKit's .scn
is Xcode's native file format, which works in iOS and macOS apps. Unfortunately, scene's complexity and hierarchical structure aren’t the .dae
and .scn
formats’ strong sides. So, the most robust and effective up-to-date 3D file format that you can use in SceneKit
and RealityKit
is a USDZ format.
USD family is Universal Scene Description formats, developed by Pixar. They are a cross-platform Python-based schema files that have the ability to create 3D scenes by composing many sources files together into successively larger aggregations.
SceneKit file formats
SceneKit
supports many popular 3D formats. Geometry kept in those formats is visible through ARSCNView, SCNView and SwiftUI's SceneView.
Collada's Digital Asset Exchange .dae
Pixar's Zipped Universal Scene Description .usdz
Pixar's ASCII Universal Scene Description .usda
Pixar's Binary Universal Scene Description .usd
, .usdc
Wavefront Object .obj
along with its material description .mtl
Alembic interchange file format .abc
Polygon file format .ply
Stereolithography file format .stl
Apple proprietary SceneKit Scene format .scn
To convert .fbx
and .glTF
files into .usdz
use command line.
RealityKit file formats
Since 2019, the RealityKit
framework has been gaining popularity in iOS, macOS and visionOS development. It works with the following 3D file formats, supporting realistic materials, physics, animation and spatial sound. Geometry kept in those formats is visible through ARView, RealityView and Model3D view.
Pixar's Zipped Universal Scene Description .usdz
(read about unzip process here)
Reality Composer's multi-scene hierarchy .rcproject
(Xcode 14–)
Reality Composer Pro's multi-scene hierarchy .realitycomposerpro
(Xcode 15+)
Apple proprietary format (has much faster uploading time) .reality
Read about Reality Composer's .rcproject
and .reality
formats here.