KOZUNENKO@PORTFOLIO
← INDEX

Visual scripting framework (mixed-reality driving simulator)

Senior developer — designed and built it

2023

  • Unity
  • C#
  • UI Toolkit
  • ScriptableObjects
  • JSON
  • graph editor tooling
Architecture diagram, reconstructed from memory. Not a product screenshot.
ARCHITECTURE — RECONSTRUCTED FROM MEMORY. NOT A PRODUCT SCREENSHOT.
NOTES

A visual scripting framework for a mixed-reality driving simulator, designed and built at NXRT, an automotive mixed-reality company. It replaced a legacy pipeline built on Fungus, an unmaintained third-party tool. It is a Turing-complete scripting language, not a sequencer. That distinction is the point of the project.

Nodes are sequence nodes or branch nodes. Branching is parallel by default. Waiting is opt-in, used only when a later step depends on an earlier one. A stack-based singleton runtime executes asynchronous commands. Loops are not a language primitive. A loop is made by dependency-inverting an earlier stack command into a jump-back point, so the command points back into the stack.

Model, view and controller are split. The model is JSON plus ScriptableObjects that reference text assets. The view uses soft references by ID, and graph views exist in the editor and at runtime. The controller is the singleton runtime. Scenarios are JSON parsed at scenario start, which means a shipped build could be re-scripted and debugged at runtime without a rebuild. The authoring UI was migrated to UI Toolkit.

The core shipped in about three months. The full migration landed one to two months ahead of plan. Adoption went beyond my own department. The automotive team used it for per-manufacturer scenarios, and the rail-simulation team used it for train scenarios. It outlived my employment. There is no product screenshot. The diagram is a reconstruction.