Testing an AR or VR idea usually means choosing a platform first and accepting its constraints second: build for headset, or build for mobile, or build for desktop, rarely all three from the same source. The goal here was simpler to state than to build: prototype once, inside Unity, and run the result everywhere, desktop, mobile, headset, from a single output.
Context
Unity was the natural starting point: a solid bridge between 3D production and AR/VR systems, with a 3D pipeline already built for that purpose.
Needle Engine was what made it actually fast. It runs directly against a live server, no build step between a change and seeing it work, cutting prototyping time down to something closer to real-time iteration.
The Bottleneck
The bridge had a gap underneath it. Unity's own visual scripting layer wasn't compatible with the TypeScript that Needle Engine runs on, so the moment an interaction needed more than the basics, rapid prototyping was over. Writing TypeScript by hand, without being a developer, became the real cost of every new idea.
The fastest way to test an interaction is to never have to write it.
The System
The response was a visual scripting system built inside Unity, closer to PlayMaker than to a node-based editor: no graphs, no wires to connect. Interactions are built by stacking blocks in a column, one after another, read top to bottom like a simple list of steps. No more opening a script to change one number: stack a few blocks, and the interaction is already running.
At its core, the system works through reusable variables and events, and behaviours that can be attached to any object. Each behaviour is built from the same four stacked blocks:
Triggers
Mouse input, custom events, start, tick.
Conditions
Logic gates that decide whether an action runs.
Loops
For and for-each, to repeat actions across a set.
Actions
Setting variables, running math, editing transform or object properties, driving material channels and animator parameters, spawning or destroying objects, delaying execution.
The interface itself stayed deliberately barebones, closer to a 90s utility panel than a polished design tool. What mattered was that it worked reliably, not that it looked finished.
Code That Writes Code
The system itself was built with AI-assisted development, since writing TypeScript by hand was exactly the bottleneck it was designed to remove for everyone else. The only code left to write was the code that writes the rest.
Output
The result ships as a Unity package: something a designer or a product team can drop into a project and start authoring interactions with, without writing code or waiting on a developer to validate every idea.
What I Learned
Most no-code tools are built by developers, for people who don't code. Building one without being a developer myself meant feeling every rough edge a non-technical user would feel, and fixing it from the inside rather than guessing at it from outside. The tool is still early, and still rough in places, but it never stopped being usable, which mattered more than making it look finished.