An experiment with Unity to see whether it'd support the features I needed.