UBF Interpreters
Overview
A UBF Interpreter is an engine‑specific plugin or SDK that converts a blueprint’s engine‑agnostic instructions—defined in compliance with the UBF Open Standard—into the native API calls, commands, and data formats required by a particular run‑time engine (Unity, Unreal Engine 5, etc.). Interpreters sit on the execution side of the UBF stack. They are completely decoupled from authoring (UBF Studio) and orchestration (Execution Controller).
Interpreters are intentionally narrow in responsibility: they take a compiled UBF Blueprint as input and simply execute it within the target engine, without any awareness of the blueprint’s intent or the broader system context. They are entirely blind to external concerns—such as equipment trees, blockchain concepts, or orchestration logic—which are handled elsewhere. This isolation makes interpreters highly generic, allowing them to stand alone and serve an open-ended range of use cases across various engines and applications.
Core Responsibilities
While interpreters operate within a narrow and clearly defined scope, their role in the UBF framework is both foundational and critical. An interpreter must fulfill several core responsibilities, including but not limited to:
- Deserializing UBF Artifacts: Ensuring that the data structures are well-formed, valid, and ready for use.
- Implementing Node Translations: Providing engine or domain-specific behavior for each UBF node, in accordance with the standard specification.
- Managing Execution Flow: Handling the logical progression from one node to the next within a blueprint’s execution, ensuring that dependencies and sequence are respected.
- Managing Data Flow Between Nodes: Coordinating how data is passed and transformed from one node to another.
Instead, Interpreters are not responsible for:
- Resolving or downloading referenced artifacts
- Deciding when or where a blueprint should execute
- Determining what inputs are fed into a blueprint
- Mapping blueprints or catalogs to specific assets or their variants
These concerns fall outside the interpreter’s scope and are handled by the Execution Controller Plugin/SDK.
There are many additional responsibilities and nuanced behaviors that interpreters need to perform in order to function correctly and integrate seamlessly within different execution environments. However, these advanced topics are beyond the scope of this document and will be covered separately.
Extensibility
Futureverse currently maintains two official UBF interpreter implementations: one for Unity and one for Unreal Engine. These are kept up-to-date in lockstep with changes to the UBF Standard, ensuring they remain compliant, consistent, and fully interoperable with other components in the UBF ecosystem.
Because the UBF Standard is publicly accessible and designed with modularity in mind, it is possible for any external party to create their own versions of interpreters targeting existing or new runtimes.
To be considered conformant with the standard, a custom interpreter must:
- Faithfully implement the UBF specification, including all required nodes, data types, and behaviors.
- Declare a version and capability profile to enable compatibility checks by external systems.
This open and extensible architecture allows the UBF ecosystem to grow organically, adapting to new domains, platforms, and rendering environments.
To request access to Futureverse’s official Core Interpreters for Unity or Unreal Engine, please contact the Customer Success team at customersuccess@futureverse.com.