DESCRIPTION
Wiggle Room was an interactive installation developed in Unity for Belfast's 2024 cultural celebrations. Exhibited at the MAC (Metropolitan Arts Centre) for 15 weeks, it allowed visitors to control animated objects and interact with a virtual environment using their body movements.
The installation used four body-tracking cameras to detect participants and translate their movements into on-screen actions. Visitors could interact with objects, trigger environmental effects and encounter animated characters, with the experience designed to accommodate several people at once.
ROLE
I was the main Unity developer, working with the team to turn early interaction designs into a functioning installation. My responsibilities covered interaction programming, body-tracking integration, object and NPC behaviour, and configuring the hardware and software needed to run the experience.
I was also involved in deployment, maintenance and troubleshooting throughout the exhibition.
KEY CONTRIBUTIONS
-Developed an initial feasibility prototype using standard Unity objects to test interaction ideas before integrating the body-tracking hardware.
-Integrated four ZED 2i body-tracking cameras into Unity, working with the hardware supplier to get their Unity bridge functioning and modifying the supplied SDK to manage tracked participants.
-Built user-tracking and management systems to handle multiple participants simultaneously, including detecting when visitors entered or left the tracking area and managing their virtual representations.
-Mapped body-tracking data to interactions such as raising arms, crouching and spinning. Implemented interactive floor zones that altered object properties, including size, gravity and spawning behaviour.
-Programmed object interactions and NPC behaviours, including objects reacting to participants, characters appearing at timed intervals and interactions between NPCs and the environment.
-Integrated Wwise audio to respond to tracking data and interactions, allowing sounds and music to change based on what visitors were doing.
-Helped configure the networked hardware setup, including assigning static IP addresses to the Linux machines and setting up a Windows NTP time server to synchronise tracking data.
-Implemented an automatic reset system that reloaded the installation after several minutes without detecting participants, preparing it for the next visitors.
-Provided on-site maintenance and troubleshooting during the exhibition, investigating issues and helping keep the installation running throughout its public opening.
CHALLENGES
Wiggle Room was quite different from the other projects I'd worked on, particularly because of the amount of external hardware involved.
One of the biggest challenges came when we switched from Orbbec cameras to ZED 2i hardware partway through development. This meant learning a new SDK, configuring the replacement machines and adapting the tracking and interaction systems to work with the new setup.
I also had to work with the camera supplier to get their Unity integration functioning properly before modifying it to suit our requirements. Getting multiple cameras to work together introduced additional challenges involving networking, time synchronisation and managing participants as they moved around the installation.
Unlike a conventional game, Wiggle Room also had to operate in a public exhibition where people could enter and leave at any time. That meant accounting for unexpected interactions, tracking interruptions and periods of inactivity.
It was a challenging project, but I enjoyed the process of working with unfamiliar technology and figuring out how to make all the different components work together. Seeing visitors interact with something we'd spent so much time developing was particularly rewarding.
TECHNICAL
Engine & Language:- Unity, C#
Body Tracking:- ZED 2i stereo cameras, SDK integration and modification, real-time body tracking
Interaction Systems:- Participant management, gesture recognition, object pooling, NPC behaviour and event-driven interactions
Audio:- Wwise middleware, interaction-driven audio events and dynamic sound behaviour
Hardware & Networking:- Linux machine configuration, static IP addressing, Windows NTP time synchronisation
Deployment & Maintenance:- Multi-machine installation, automated scene reset, live troubleshooting and exhibition support
VIDEO