WorkInternal tooling for Unity
Lazulite / Mediapro · 2024—
The tools the rest of this work is built on, most of which cannot be shown.
This is the layer underneath most of the other pages on this site. Most of it is internal and under NDA, so the code is not mine to show, only to describe. The hardware libraries at the bottom are the exception, those are public.
A runtime debugger inside Unity. Technicians on site used to phone a developer whenever something needed adjusting mid event, usually at the worst possible moment. I watched what they actually changed and built them a panel that exposes those values live in the running build, so they can do it themselves without a rebuild and without me.
HAP support for transparent video. HAP decodes on the GPU rather than the CPU, which is what makes a large video playable at all on an installation machine, but getting an alpha channel through it inside Unity meant handling the codec directly instead of leaning on the built in player.
An alpha packing format for ordinary mp4. Rather than ship a codec that carries transparency, the colour goes in one half of the frame and the matte in the other, and a shader recombines them at draw time. What comes out is a plain h264 file that plays anywhere, at a fraction of the size a real alpha codec costs.
A paging and navigation system modelled on Flutter's navigator. Unity has no concept of a screen stack, so every project used to reinvent one out of scenes and booleans, badly. This gives you push, pop and a route table, and it removed most of what a new project used to have to write from scratch.
A drag and drop PNG sequence player. Playing a frame sequence used to mean building an animator by hand for every one of them. Now you drop the folder in and it plays, which took most of the animators out of our projects and most of the reason to open the animation window at all.
The hardware libraries are the public part. Unity-CSerial for talking to serial devices, Artnet-Unity for Artnet, and a small package for pushing hex values over Bluetooth serial. They sit on GitHub rather than inside any one project, so protocol handling gets written once instead of again every time somebody wires up a new bit of hardware.
StackUnity · HAP · Compute shaders · Serial
CodeUnity-CSerial · Artnet-Unity · hexbridge · uianim