Introduction
We're giving artists & developers the tools they need to build the Metaverse.
Our open source work is on GitHub including all the underlying frameworks and libraries we are building to deliver on this initiative.
Our current focus is empowering artists, developers, and motion picture film and video game studios with the full potential of Pixar's USD to build massively collaborative apps, plugins, libraries, and games within their existing animation production pipelines.
We are rapidly evolving to meet both the demands of the industry, and to host the core Swift on Server infrastructure for the future of web 3.0. Paving the way with the resources necessary to build stunning new experiences all across this rapidly evolving digital landscape.
Together, we will architect these strange new worlds as a community founded upon universal interoperability of open standards and protocols, decentralized away from individual corporate gatekeepers and governmental regulations.
Some Pixar
code blocks
Here's an example of creating a USD stage in swift.
import PixarUSD
/* create a new stage, containing a transform and a sphere. */
let stage = Usd.Stage.createNew("Example", ext: .usda)
var xform = UsdGeom.Xform.define(stage, "/hello")
var sphere = UsdGeom.Sphere.define(stage, "/hello/world")
stage.save()
Not swifty enough for you? Then let's get declarative...
import PixarUSD
/* declare a new stage, containing a transform and a sphere. */
UsdStage("Example", ext: .usda)
{
UsdPrim("Hello", type: .xform)
{
UsdPrim("World", type: .sphere)
}
}
.set(doc: "Stay Swifty.")
.save()
Now, Build
your Universe
We begin by creating a new SwiftPM package. The purpose of this package is to create a new executable target, which will be our app.
// swift-tools-version: 5.9
import PackageDescription
let package = Package(
name: "MyMetaverseUniverse",
platforms: [
.macOS(.v14),
.visionOS(.v1),
.iOS(.v17),
.tvOS(.v17),
.watchOS(.v10)
],
// --- 📦 Package Products. ---
products: [
.executable(
name: "MyMetaverseApp",
targets: ["MyMetaverseApp"]
)
],
// --- 🦄 Package Dependencies. ---
dependencies: [
/* add pixar usd as a package dependency. */
.package(url: "https://github.com/wabiverse/SwiftUSD.git", from: "23.11.31")
],
// --- 🎯 Package Targets. ---
targets: [
.executableTarget(
name: "MyMetaverseApp",
dependencies: [
/* add the PixarUSD target as an app dependency. */
.product(name: "PixarUSD", package: "SwiftUSD")
],
swiftSettings: [
/* needed for SwiftUSD. */
.interoperabilityMode(.Cxx)
]
)
],
cxxLanguageStandard: .cxx17
)
At Wabi we believe that swift is great, and that: let usdIsAwesome = true
A message to our readers:
Swiftly embark on the Metaversal Frontier, and empower open source software through the utilization of highly modular plugins and libraries. Create epic games, powerful digital content creation apps, and strange new worlds. The future is now, and it's time to build it.
Some metaversal resources:
The SwiftUSD swift package, providing USD natively to swift.
MetaverseKit, monolithic dependency encapsulating the ASWF landscape.
The free and open source metaversal creation suite, Kraken.