Overview

A UBF Execution Controller is an SDK/Plugin that acts as an orchestration layer on top of a UBF Interpreter. It is responsible for setting up the execution context that interpreters require to function effectively. While the interpreter is responsible for translating and running the blueprint logic itself, the execution controller is the component that determines what blueprint to run, with what data, in what order, and under what context.

Execution Controllers bridge the gap between high-level domain concepts and low-level blueprint execution. They abstract the complexity of managing inputs, resources, dependencies, and orchestration, leaving the interpreter to focus on what it does best: executing blueprints.

Core Responsibilities

Execution Controllers can serve a wide variety of scenarios, and their responsibilities depend on the particular use case. At a fundamental level, all controllers are responsible for ensuring that everything is properly prepared before blueprint execution begins. Think of the controller as the system that packages and resolves all dependencies, ensuring the interpreter has a complete and coherent context to operate within.

They can be tightly integrated with specific domain models—such as NFTs and asset profiles—or be designed to address project-specific requirements, such as character loadouts or item systems.

Futureverse has developed two execution controllers—one for Unity and one for Unreal Engine—designed specifically with Futureverse domain workflows in mind, including the handling of NFT metadata, complex asset trees (via the Asset Registry), and asset profiles.

Some of these responsibilities include, but are not limited to:

  • Resolving Asset Profiles: Retrieve, deserialize, and interpret asset profiles in order to resolve the correct version and variation of a given asset, including the parsing/render blueprints and artifact catalogs that accompany it.
  • Managing Asset Trees: Understand and resolve tree-structured relationships from Asset Registry, where one asset may have other assets equipped onto it.
  • Metadata Parsing & Blueprint Instantiation: Execute parsing blueprints to interpret raw metadata and feed the output into rendering blueprints as inputs. This chaining allows dynamic transformation of inputs prior to rendering.
  • Artifact Provision: Provide the ability to download external artifacts through HTTPS or Decentralized Identifiers (DIDs), enabling compatibility with systems like Futureverse’s Sylos.
  • Execution Ordering: Coordinate and sequence multiple blueprint executions across various entities to achieve a desired final result (e.g., rendering a full NFT asset with all attachments).

Example Use Case: NFT Rendering

Futureverse’s execution controllers for Unity and Unreal are designed primarily for rendering NFTs from metadata and leveraging other Futureverse technology. Here’s how a typical flow works:

  1. Receive Asset Tree from Experience:: The asset tree—representing the full hierarchy of a target NFT and any attached or equipped assets—is passed into the execution controller by the surrounding application or experience.
  2. Resolve Asset Profiles: For each asset in the tree, retrieve and load the corresponding asset profile to then evaluate the appropriate version, variant, blueprints, and catalogs.
  3. Download Blueprints and Catalogs: Download and cache all relevant blueprints and artifact catalogs needed to perform the rendering operation.
  4. Parse Metadata: Where applicable, take raw metadata or traits associated with the asset and pass it into the parsing blueprint.
  5. Feed Parsed Inputs into Render Blueprint: Collect the outputs from the parsing blueprint and feed them into the inputs of the rendering blueprint.
  6. Execute Render Blueprint: Initiate execution of the top-level asset’s render blueprint, now fully configured with its required inputs.
  7. Provide Artifacts at Runtime: During execution, fulfill any artifact requests from the blueprint(s) by retrieving them from cache or downloading them on demand.

Extensibility

While Futureverse provides execution controllers specifically catering for rendering NFTs and interfacing with other Futureverse technology, the architecture supports building custom controllers for entirely different purposes.

This flexibility allows studios or developers to tailor the UBF execution pipeline to meet their specific needs.


To request access to Futureverse’s official Execution Controllers for Unity or Unreal Engine, please contact the Customer Success team at customersuccess@futureverse.com.