Creature Console

The Creature Console is the front end for the Creature Server! It is the main interface I use for controlling my creatures. The same app runs on macOS and iOS, and looks very similar on both platforms.

It speaks to the Creature Server over gRPC, and is unaware of the database in use. It only talks to the Creature Server. It’s written in Swift using Swift UI. This is the first macOS application I’ve ever written, so I’m sure there’s lots of things that could be better, but I’m proud of what I made!

The Creature Console can create and edit animations, playlists, and creature details.

For live use, it has a “streaming mode” where frames from a joystick are transmitted to the Creature Server in real time. I use that for playing around with things and for fun. 😍

I decided to write my app control app because I couldn’t find one that I liked that worked on macOS. (Getting iOS is also great!) There’s not a lot out there for animatronics on macOS, so I decided to go it alone. I’m glad I did, it’s been awesome having an app I wrote myself and can change as I wish.

Control Device

A group of various controllers. Two PlayStation 5 and two Xbox.
A group of various controllers. Two PlayStation 5 and two Xbox.

I use any joystick that works on macOS and iOS for programming and real time control. My favorite is the PS5 joysticks, because they have status lights! I use that to my advantage. Blue means the app is idle, green means it’s streaming, yellow means it’s about to record, and red means it actually is recording.

Apple has really good support for joysticks in macOS and iOS, so I figured it would be good to leverage the work they’ve already done.


Here’s some screenshots of the app in action!