U-DMX, is a robust and versatile yet easy-to-use solution to control DMX lights with your Unity application.
It relies on the Open DMX USB standard, and supports local and remote light changes.U-DMX is a tried and tested solution for Unity DMX light integration.This allows you to turn your light setup completely interactive. Rig.-up your escape room, gamify your theater, and haunt your peculiarly DMX light-ready house with this easy-to-use and easy-to-extend plugin.We developed this tool to help us realize our own interactive museum exhibition, and combined it with a networked server, to allow our users to walk through over 500 sqm of exhibition space while invoking lighting effects on over 50 DMX light fixtures.Long story short, we have tried and tested this tool, in a large-scale installation, and have optimized it to be usable by everyone, and easily customizable to your needs.Check out the play-through video here to see what might be possible with this tool: https://www.youtube.com/watch?v=TfY8lnxDMLEThis plugin uses the Open DMX USB protocol to send DMX light information to DMX-capable light fixtures.Note, the device interfacing with your DMX lights, using the Open DMX adapter, sadly needs to run Windows. That said, any device capable of running a Unity application (and sending Unity Web Requests) can send light information to your windows server.We are excited about what use cases you will come up with combining the power of real-world stage tech, with the interactivity of Unity. Please share your results with us at u-dmx@neoludic.games!Should you run into any bugs, please also send them to us at u-dmx@neoludic.games. We are happy to help.Industry Standard ProtocolU-DMX leverages the industry standard protocols: DMX for light fixture controling and Open DMX USB for outputting DMX to light fixtures. This allows for compatbility with almost all DMX capable deices, and a large variety of Open DMX USB capable USB to DMX interfaces.DMXDMX is the industry-standard method of controlling stage lights, concert lights, smoke machines, winches and pulleys, and much more. There is a massive ecosystem of devices you can integrate into your project.Find out more about the DMX protocol here: https://en.wikipedia.org/wiki/DMX512Open DMX USBRead more about Open DMX USB, and compatible devices here: https://www.enttec.com/product/lighting-communication-protocols/dmx512/open-dmx-usb/How does it work?The Unity SideThe goal with U-DMX is to integrate it as seamlessly into your existing workflows as possible. Simply treat your DMX light source like a regular Unity light source, make sure everything looks good in engine, and once you are ready, assign physical light fixtures to your virtual ones.Your Unity application will then send the DMX-Data to the USB-DMX server, a separate application you can run on any Windows device, including the one running your unity game.The Open DMX SideUpon receiving the DMX Data, the standalone server sends the DMX data via an Open-DMX capable USB interface to your light fixtures.CaveatsUnity will display an "Release of invalid GC handle. The handle is from a previous domain. The release operation is skipped." Error upon entering play mode when using this package and previewing lighting in the editor or when recompiling scripts. This is due to Unity's handling of how Webrequests are being disposed, and will not occur in built applications.U-DMX requires two applications to run.1. Your Unity application, and2. A lightweight windows only server to send DMX information via the Open DMX interface to your light sources.Your USB-DMX device needs to run Windows, while the Unity application can be run on any device able to send signals via web requests.Due to the way Unity handles web requests, there is a small amount of garbage creation happening when sending the data.To attempt to protect you and your clients from costly blackouts due to ramping up many high wattage stage lights, we have added a slight fade to the USB-Server when sending the data. This increases latency slightly, but believe me, from experience, a bit of latency is a lot more pleasant than causing a street-wide power outage (Especially older non-LED DMX lights are notorious for blowing fuses when being turned on from 0 to 512 in one millisecond).USB-DMX has not the same range as more potent DMX sending gear. After the first 15 lights, and a total of 50 meters of cables, we experienced some flickering during our test runs. This is easily preventable if you opt for a DMX repeater, signal booster, or signal splitter. Just be mindful of the limited initial signal strength that USB can offer.