Skip to content

Releases: wabiverse/swift-usd

v26.5.1 | OpenUSD v26.05

19 Jun 23:59

Choose a tag to compare

SwiftUSD v26.5.1  |  🎧swift on.

OpenUSD v26.05

Changelog

Important

This repository was renamed to https://github.com/wabiverse/swift-usd.git. If you previously specified https://github.com/wabiverse/SwiftUSD.git in your own SwiftPM package dependency URLs, or used SwiftUSD to refer to this package in your own SwiftPM package, change it to swift-usd. This is because the apple/SwiftUsd package conflicted with our own package name, and we will be using apple/SwiftUsd to bring in precompiled binaries by default across all Apple Darwin platforms.

Commits

Changes

  • For a full list of changes from OpenUSD v24.08 - v26.05, see the OpenUSD changelog.
  • Starting with this release, we will be tracking all future upstream OpenUSD changes in our dev branch, and all current OpenUSD releases in our release branch, if you were previously tracking our now deprecated main branch, track our new dev branch instead. This is made possible by the new changes in the openusd update command (source code), usage:
    # update all swiftusd's openusd source with the latest v26.05 release
    swift package --disable-sandbox plugin openusd update v26.05
    
    # or update all swiftusd's openusd source with the latest changes from the openusd 'dev' branch
    swift package --disable-sandbox plugin openusd update
    
    # build swiftusd for android, linux, all apple platforms, or [windows (WIP)]
    swift build
  • Experimental Android support - build OpenUSD apps for Android:
    SWIFTUSD_ANDROID_SUPPORT_ENABLED=1 swift bundler run --simulator "Pixel_10_Pro" -c release UsdView

Thank you


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 6.0

dependencies: [
  .package(url: "https://github.com/wabiverse/swift-usd.git", from: "26.5.1")
]


Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Dependency CentOS Ubuntu
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.21 | Android & ARC

13 Jun 02:22
d22f954

Choose a tag to compare

SwiftUSD v24.8.21 | 🎧swift on.

Experimental Android Support, ARC-Managed Lifetimes, UsdView, & Safer Swift OpenUSD API.

Changelog

Commits

Changes

  • Experimental Android support - build OpenUSD apps for Android:
    SWIFTUSD_ANDROID_SUPPORT_ENABLED=1 swift bundler run --simulator "Pixel_10_Pro" -c release UsdView
  • Adopts parts of the apple/SwiftUsd overlay for a safer Swift OpenUSD API - client code should now hold UsdStage directly instead of UsdStageRefPtr; dereferencing and lifetime management are handled internally.
  • Extends the apple/SwiftUsd overlay to fix Swift/C++ interop bugs around std::stringString conversions and ambiguous Xformable operation overloads that previously caused Swift compiler crashes on Linux.

Breaking

  • UsdStage.createNew(...), UsdStage.open(...), and UsdStage.createInMemory() now return UsdStage directly with proper ARC-managed lifetimes, client code should now hold UsdStage directly instead of UsdStageRefPtr; dereferencing and lifetime management are handled internally.
  • HgiGL.createHgi(), HgiMetal.createHgi(), and UsdImagingGL.Engine.createEngine(...) now return the types directly with proper ARC-managed lifetimes, instead of a shared_ptr-backed ...Ptr/ ...SharedPtr wrapper. The HgiGLPtr, HgiMetalPtr, and UsdImagingGLEngineSharedPtr/EngineSharedPtr typealiases are removed.

Fixed

  • UsdStage and SdfLayer instances held by Swift now have correct reference-counted lifetimes. Their retain/release hooks were previously no-op stubs, so Swift's ARC calls didn't actually affect the underlying object's refcount; they now go through apple/SwiftUsd's Tf_RetainReleaseHelper and properly participate in TfRefBase refcounting.
  • HgiGL, HgiMetal, and UsdImagingGLEngine are now reference-counted Swift types (they now go through our own Tf_SharedPtrRetainReleaseHelper and properly participate in refcounting) - Swift automatically releases them when no longer referenced, so manual lifetime workarounds are no longer needed.

UsdView Developments

Screenshot_2026-06-06_at_8 44 04_PM
Simulator Screenshot - Apple Vision Pro - 2026-06-08 at 17 32 46
usdview_on_ios
untitled60-2.mov

Thank you


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 6.0

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.21")
]


Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Dependency CentOS Ubuntu
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.20 | Android Support

12 Jun 06:19
786239c

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.20

Experimental Android Support, and Safer Swift OpenUSD API.

Changelog

  • Experimental Android support - build OpenUSD apps for Android:
    SWIFTUSD_ANDROID_SUPPORT_ENABLED=1 swift bundler run --simulator "Pixel_10_Pro" -c release UsdView
  • Adopts parts of the apple/SwiftUsd overlay for a safer Swift OpenUSD API - client code should now hold UsdStage directly instead of UsdStageRefPtr; dereferencing and lifetime management are handled internally.
  • Extends the apple/SwiftUsd overlay to fix Swift/C++ interop bugs around std::stringString conversions and ambiguous Xformable operation overloads that previously caused Swift compiler crashes on Linux.

Thank you


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 6.0

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.20")
]


Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Dependency CentOS Ubuntu
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.14 | Subterranean

01 Mar 12:12
acfb297

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.14

Fedora stability, and ecosystem unification.

Changelog

  • Fedora and CentOS Swift compiler stability.
  • Centralizes dependencies on the swift collective for ecosystem unification.
  • Fixes some newly propagated Linux compiler errors from various Ubuntu updates.
  • Expands the Swift APIs of Hydra, UsdImaging Engines, and Gf types.
  • Brings all UsdImaging to iOS and visionOS.
  • Adds HdTask stability with Swift.
  • No more dependencies on Boost or Python.

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.14")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Dependency CentOS Ubuntu
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.13 | Seismic

12 Feb 23:40
fd92cdc

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.13

Bring all of UsdImaging to iOS and visionOS, expand on the Swift APIs of Hydra, Gf.

Changelog

  • Fixes some newly propagated Linux compiler errors from various Ubuntu updates.
  • Expands the Swift APIs of Hydra, UsdImaging Engines, and Gf types.
  • Brings all UsdImaging to iOS and visionOS.
  • Adds HdTask stability with Swift.
  • Additional build stability & update to Python 3.12 on Linux.

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.13")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.12

01 Dec 14:01
eccb3b2

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.12

Add the Usd.References API for more cleaner reference management in Swift.

Changelog

  • Added the Usd.References API for more cleaner reference management in swift.
  • Extended Usd.Stage in swift with setDefaultPrim(_:) and load(path:policy:).
  • Added Sdf.Reference, Sdf.LayerOffset, and Vt.Dictionary in swift.
  • Extended Usd.Prim in swift with getReferences().
  • Migrated Pixar.UsdListPosition and Pixar.UsdLoadPolicy to enum classes for syntactically cleaner swift cases.
  • Added new swift/c++ interop macros: SWIFT_UNCHECKED_SENDABLE and SWIFT_NONCOPYABLE.

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.12")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.11

01 Dec 09:44
9868326

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.11

Add support for creating instances of UsdImagingGL.Engine from Swift.

Changelog

  • Removed a dependency which may strangely break visionOS versions older than 2.

    • Note: the version of Xcode that GitHub actions is using is too old, but SwiftUSD successfully builds on visionOS v2 and later.
  • Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).

    • Adds an additional patch to ensure the MXResources/libraries directory is fully excluded in SwiftPM, else errors to compile the shaders may still occur in some instances.
  • Add Swift support for UsdImagingGL.Engine.

  • Add Swift support for Gf.Frustum.

  • Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with SWIFT_IMMORTAL_REFERENCE (also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting.

  • Bring over the main USD imaging libraries to Swift.

    • HdAr
    • HdMtlx
    • HdSi
    • HdSt
    • Hdx
    • UsdImaging
    • UsdImagingGL

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.11")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.10

29 Nov 15:27
2e3bc87

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.10

Add support for creating instances of UsdImagingGL.Engine from Swift.

Changelog

  • Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).

    • Adds an additional patch to ensure the MXResources/libraries directory is fully excluded in SwiftPM, else errors to compile the shaders may still occur in some instances.
  • Add Swift support for UsdImagingGL.Engine.

  • Add Swift support for Gf.Frustum.

  • Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with SWIFT_IMMORTAL_REFERENCE (also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting.

  • Bring over the main USD imaging libraries to Swift.

    • HdAr
    • HdMtlx
    • HdSi
    • HdSt
    • Hdx
    • UsdImaging
    • UsdImagingGL

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.10")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.9

29 Nov 15:07
3aa2ee7

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.9

Add support for creating instances of UsdImagingGL.Engine from Swift.

Changelog

  • Temporarily remove the bundled stdlib shader resources from MaterialX, due to the metal shader compilation in Swift Bundler not yet being able to compile metal shaders contextualized within their source code tree, currently it's limited to just compiling them one by one (without any source code context, so includes within metal shaders and things fail until we get around to supporting that in the bundler).

  • Add Swift support for UsdImagingGL.Engine.

  • Add Swift support for Gf.Frustum.

  • Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with SWIFT_IMMORTAL_REFERENCE (also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting.

  • Bring over the main USD imaging libraries to Swift.

    • HdAr
    • HdMtlx
    • HdSi
    • HdSt
    • Hdx
    • UsdImaging
    • UsdImagingGL

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.9")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev

v24.8.8

26 Nov 15:01
4ca2d4f

Choose a tag to compare

What's New

🎧swift on.

SwiftUSD v24.8.8

Add support for creating instances of UsdImagingGL.Engine from Swift.

Changelog

  • Add Swift support for UsdImagingGL.Engine.

  • Add Swift support for Gf.Frustum.

  • Fix various Microsoft Windows compilation errors, nearly bringing support for Microsoft Windows, all of the C/C++ side successfully builds, there's just a couple places where Swift/C++ interop on windows does not like the fact that smart pointers are used on types also marked with SWIFT_IMMORTAL_REFERENCE (also known as reference pointers), which allegedly "is not currently supported in C++ interop", however Swift currently supports this just fine on all other platforms (all Darwin platforms as well as on Linux), so this needs revisiting.

  • Bring over the main USD imaging libraries to Swift.

    • HdAr
    • HdMtlx
    • HdSi
    • HdSt
    • Hdx
    • UsdImaging
    • UsdImagingGL

Thank you, to those who make great things possible.


Usage

To use this release of Pixar's USD in your swift project, add the following to the dependencies section in your Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "24.8.8")
]

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.



Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev