A few years ago, while working on the C++ version of the Untold Engine, I made a decision that came back to haunt me: I built my own asset format.
When I rewrote the engine in Swift, I promised myself I wouldn't make the same mistake again. Instead, I adopted industry-standard formats like USD and built the asset pipeline around them.
For a while, that worked great.
But once I started implementing asset streaming and testing larger scenes, I ran into a problem. Every streamed asset required parsing files, traversing scene hierarchies, creating runtime resources, and performing work that was becoming increasingly expensive at runtime.
In this video, I talk about why I eventually changed my mind, why USD wasn't the right solution for this particular problem, and why I ended up building a native runtime asset format for the Untold Engine after all.
This is the story of a decision I never wanted to make—and why it turned out to be the right one.
Untold Engine is a Swift + Metal renderer and engine focused on XR, streaming, and real-time rendering for Apple platforms.
Untold Engine: https://github.com/untoldengine/UntoldEngine
If you enjoy engine development, rendering architecture, XR rendering, or graphics programming, consider subscribing.
