Releases: wabiverse/MetaverseKit
v1.3.9 | Linux Support
What's New
Happy to announce that MetaverseKit is now officially a cross platform (Apple & Linux) SwiftPM package!
With support for Microsoft Windows soon...
- Linux Support 🎉 🎉 🎉 !
-
MetaverseKit v1.3.9 has been tested & works well on (arm64, aarch64) Ubuntu v23.04 Lunar Lobster, this
Swift package also includes the yum package manager as a provider to support all Red Hat Enterprise Linux,
CentOS, Fedora, and Oracle Linux distros, in addition to Ubuntu.For Linux, these are the only dependencies required, as MetaverseKit provides everything else:
Dependency CentOS Ubuntu Boost boost-devel libboost-all-dev Python python3-devel python3-dev BZ2 bzip2-devel libbz2-dev ZLib zlib-devel zlib1g-dev
-
Usage
To use MetaverseKit with Swift, add MetaverseKit as a Package dependency in your Package.swift file.
dependencies: [
.package(url: "https://github.com/wabiverse/MetaverseKit.git", from: "1.3.9"),
]
Now, onwards to support SwiftUSD on Linux as well 🌎.
v1.3.7
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
What's Fixed
- Embed Vulkan for apps that link with MetaverseKit.
- Provide workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.
- Provide workaround for a strange Xcode bug, which may otherwise cause Xcode to fail to build this Swift package.
- Temporarily removed shader resources in the MXResources target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
- Resolved unstable versions across some community packages, to make SwiftPM happy.
v1.3.6
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
What's Fixed
- Embed Vulkan for apps that link with MetaverseKit.
- Provide workaround for a strange Xcode bug, which may otherwise cause Xcode to fail to build this Swift package.
- Temporarily removed shader resources in the MXResources target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
- Resolved unstable versions across some community packages, to make SwiftPM happy.
v1.3.5
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
Embed Vulkan for apps that link with MetaverseKit.
Temporarily removed shader resources in the MXResources target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
Resolved unstable versions across some community packages, to make SwiftPM happy.
v1.3.4
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
Temporarily removed shader resources in the MXResources target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
Resolved unstable versions across some community packages, to make SwiftPM happy.
v1.3.3
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
Temporarily removed shader resources in the MXResources target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
v1.3.2
What's New
Swift Bundler Plugin
-
Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
Temporarily removed shader resources in the
MXResources
target, as some metal shader files are failing to compile when building an application bundle - and we don't want these errors to affect SwiftUSD.
v1.3.1
What's New
Swift Bundler Plugin
- Created a Swift package plugin for swift bundler, which means all Swift packages that have a dependency on MetaverseKit, (or transitively depend on MetaverseKit through SwiftUSD) are now automatically provided with a cross-platform command line utility to run and bundle apps directly from Swift packages, this includes Linux, macOS, visionOS, and iOS apps, without even having to use Xcode, so that users can conveniently bundle and run their own apps, plugins, and games through the following command:
// bundle and run apps on linux swift package --disable-sandbox plugin bundler run -p linux MyMetaverseApp // or bundle and run apps on macOS swift package --disable-sandbox plugin bundler run -p macOS MyMetaverseApp // or bundle and run apps on visionOS swift package --disable-sandbox plugin bundler run -p visionOS MyMetaverseApp // or bundle and run apps on visionOS Simulator swift package --disable-sandbox plugin bundler run -p visionOSSimulator MyMetaverseApp // or bundle and run apps on iOS swift package --disable-sandbox plugin bundler run -p iOS MyMetaverseApp // or bundle and run apps on iOS Simulator swift package --disable-sandbox plugin bundler run -p iOSSimulator MyMetaverseApp
v1.3.0
What's New
Embedded Python
- Successful embedding of the Python interpreter into Swift.
- Ability to import Python and call Python directly within the Swift programming language:
- Fix python headers incorrect includes of cpython headers within
extern "C" {
blocks, this was previously an error, at least when trying to use that same module (ex. import Python), from a target that was compiled with CXX interoperability enabled, you should now be free to import Python regardless of C/CXX interop. 🎉
ImGui for Swift

Toolkit (plus demo app)
- Create demo app, prep it for swift bundler which bundles macOS, visionOS, and iOS apps, without having to use Xcode, and runs them from the command line, will add it as a swift build plugin so that SwiftUSD and any package that depends on SwiftUSD will transitively receive the command line tool to build their own apps, plugins, and games through:
swift package plugin bundler -p (ex. visionOS, macOS, iOS)
v1.2.9
What's New
Embedded Python
- Successful embedding of the Python interpreter into Swift.
- Ability to import Python and call Python directly within the Swift programming language:
- Fix python headers incorrect includes of cpython headers within
extern "C" {
blocks, this was previously an error, at least when trying to use that same module (ex. import Python), from a target that was compiled with CXX interoperability enabled, you should now be free to import Python regardless of C/CXX interop. 🎉
ImGui for Swift

Toolkit (plus demo app)
- Create demo app, prep it for swift bundler which bundles macOS, visionOS, and iOS apps, without having to use Xcode, and runs them from the command line, will add it as a swift build plugin so that SwiftUSD and any package that depends on SwiftUSD will transitively receive the command line tool to build their own apps, plugins, and games through:
swift package plugin bundler -p (ex. visionOS, macOS, iOS)