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.
- 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
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.
Installation
The official interpreters are available for Unity and Unreal Engine. Use these to execute UBF blueprints at runtime in your project. Consider checking out Execution Controllers for out of the box orchestration and asset/profile resolution.Unity
Unity
Github: UBF - Unity Interpreter
Install
- Unity 2022.3 LTS recommended
- Add via Package Manager → Add package from Git URL:
https://github.com/futureversecom/sdk-unity-ubf.git?path=Assets/Plugins/UBF
- Alternatively, download from Github Releases
Try it
- Register a Catalog, then execute a Blueprint ID:
Unreal Engine
Unreal Engine
Github: UBF - Unreal Engine Interpreter
Install
- Unreal Engine 5.3+
- Download latest release and extract into your project
Plugins/
folder - Enable the “UBF” plugin in the Unreal Editor
Try it
- Open the plugin content demo level (LocalBlueprintDemo) and run the UI that registers catalogs and executes blueprints