Simple AMQP/RabbitMQ Unity integration for Windows, macOS, Android, and iOS

Hey everyone,

I wanted to share the results of my effort with the community, so I’ve setup an open source project here:

I’ve run into a need recently to get an AMQP/RabbitMQ client working with Unity. Unfortunately, no searches yielded a simple, out-of-the-box solution to achieve the integration. I found scattered posts across the web where people were talking about and it definitely seemed possible as well as lots of issues people were running into, and no one who said they had it working across a bunch of different operating systems/build targets.

So I followed the trail and started from scratch in creating an integration that removes a lot of effort and barriers to get it working. I’ve spent days with reverse engineering, trail and error, and testing. I wanted to solve the RabbitMQ/AMQP problem once and for all. This project is still pretty young/new but I plan on maintaining it and using it in several projects that I have that require it.

For those unfamiliar with it, RabbitMQ is an implementation of the AMQP protocol which is a popular message bus/message queuing system, used for a variety low latency/scalable messaging patterns with advanced routing and publish/subscribe capabilities. Both are open source technologies.

If you’d like to roll your own chat feature it’s a great technology to use to do publish/subscribe with sophisticated routing. It can also help you create and hook up scalable backend work queuing services that interact with Unity.

Ultimately it just seemed like a useful technology integration with Unity that turned out to be mostly missing. It took days and lots of slow progress getting to the point of a solid, reusable solution that works across multiple operating systems without any modification. I’m hoping anyone new attempting such an integration can start from where I’ve left off and focus more of their time and energy on what it is they actually want to create with the integration.

And I expect Linux Standalone builds to work too, I’ve just not been able to test them yet (any help welcome).

Cheers

2 Likes

alright but how would i use it to send a message back to the queue or exchange. you only show how to move objects in unity but not how to make an object that sends data back.