1. Introduction
1.1. What is UBF?
The Universal Blueprint Framework (UBF) is a comprehensive standard and framework that catalyzes and ultimately enables true interoperability in digital applications and interactive experiences. UBF has been designed to occupy a unique position in the industry—situating itself squarely between content creators/IP holders and experience developers—offering unprecedented value for both parties.
UBF describes both behavior (logic and execution flow) and resources (meshes or textures) in plain JSON files, which can be consumed by engine-specific SDKs and turned into executable code. Essentially, UBF provides a way to define runtime behavior in an engine-agnostic way, and then have that behavior carried the same way across any UBF-compatible experience.
1.2. Motivation
In conventional game development practices, every asset is controlled, managed, and locked into a specific application or codebase. The IP holder, who has a strong incentive to keep their assets up to date, is dependent on developers who are reluctant to spend endless cycles on non-core revisions. Multiply that by several IP holders and multiple experiences, and the sheer complexity becomes unworkable.
But by externalizing content and enabling runtime injection into any supported experience, UBF creates an ecosystem where IP holders can independently update and maintain their assets, while developers enjoy minimal disruption—and end-users benefit from consistent, up-to-date content without constant patches.
1.3. The Standard
At the core of UBF lies this specification, known as the UBF Standard. This standard clearly defines the two components of UBF - Blueprints and Catalogs - and lays out what data they should contain, and how they should be structured. As a result, any Blueprint or Catalog conforming to these guidelines can be accurately parsed and executed by interpreters, or modified by compatible tools that implement the same specification.
Because the UBF Standard is open and publicly accessible, it provides a foundation on which developers, creators, and other stakeholders can build. You are free to develop your own interpreters, editors, or pipelines as long as they adhere to the specification. This ensures that multiple engines and tools can reliably create, interpret, and execute blueprint data across the entire UBF ecosystem.
1.4. File Types
UBF Deals with 4 types of files:
- Blueprint files are in JSON format, with the extension
.ubp.json
. - Catalog files are in JSON format, with the extension
.json
. - Mesh resource files are only supported in glTF format, with the extensions
.gltf
or.glb
. - Texture resource files are only supported in PNG format, with the extension
.png
.
1.5. Versioning
The UBF Standard adheres to Semantic Versioning. Minor version updates to the specification must
be backwards compatible, so that any interpreter that supports 1.X
of the specification must also support 1.0
. If a
change were to break backwards compatibility, it requires a Major version bump.
All Blueprint files must contain the version of the standard they were created against.
1.6. Definitions
- Action: The runtime behavior in the Interpreter that corresponds to a given Node type.
- Engine: A program that makes it easier to develop games, by providing a set of tools that can be leveraged rather than creating everything from scratch. Examples are Unity, and Unreal Engine.
- Execution: Refers to a process being run or activated.
- Resource: An asset (Mesh, Texture, or other Blueprint) required by the Blueprint.
- Runtime: Refers to when the game or experience is being played.
- URI: Uniform Resource Identifier, a character sequence describing the location of a resource, whether on a local device, or on the internet.