DMX Blueprint Extension

Information about the custom DMX Blueprint extension.

Windows
MacOS
Linux
Prerequisite Topics

In order to understand and use the content on this page, make sure you are familiar with the following topics:

Included in the DMX plugin is a range of custom Blueprint nodes for simplifying DMX sending and receiving outside of C++. Additionally, contained in the plugin is a range of getter and setter functions mirroring common Unreal Engine architecture and logic, enabling a shallow learning curve to get into DMX programming. These functions provide access to parameters like attribute names, tag names, the active universe, channels, fixture references, and more.

All Blueprints are globally accessible and can be entirely implemented in UMG. There is no need for an actor in the scene. For organizational purposes, nodes have been built under a custom DMX subsystem providing clear organizational structure and easy searching for DMX specific nodes.

DMX Subsystem

The DMX Subsystem acts as a targeting system for organizing Blueprint attributes in both a code and user experience context. For each node contained within the subsystem, users are required to have the DMXSubsystem node as the target input.

dmxblueprintextension1.png

Send DMX BP

This Blueprint sends out DMX on the specified protocol for the given fixture patch and the given attribute names and values defined in the input map. For this blueprint, the user must have a valid DMX Library asset with at least one registered controller, fixture type, and fixture patch. The protocol is defined by the input fixture patch.

Pin

Description

Target

The DMX Subsystem reference.

Fixture Patch

The fixture patch reference to send.

Address

The map of attribute names and the values to send for each (Key = Attribute Name, Value = Value to Send).

Return

EDMXSendResult

dmxblueprintextension2.png

DMX Send Raw BP

This Blueprint sends DMX to a protocol universe given a protocol specification and an address/value map. This Blueprint is independent of the DMX Library and sends raw DMX data for a particular protocol and universe. SendDMX is the typical Blueprint while SendDMXRaw is mostly used for quick debugging and prototyping when no fixture patch is present nor available.

This Blueprint does not require a DMX Library.

Pin

Description

Target

The DMX Subsystem Reference.

Selected Protocol

The protocol you would like to send on.

Universe

The remote universe to send to.

Address

The map of addresses and values to send (Key = Address, Value = Value to Send).

The key must be greater than 0.

Return

EDMXSendResult

dmxblueprintextension3.png

Receive DMX

On Protocol Received (DEPRECATED in 4.26)

With the Bind Event to On Protocol Received node, users are able to bind a custom event inside their event graph that will listen for any incoming DMX. If successfully received, the event will execute and provide information about the received packet including the protocol, the universe, and byte array.

This event can fire faster than tick depending on the number of received calls so be aware of what you execute to ensure efficient CPU usage. It is recommended to check your incoming data before running logic execution.

To use this node, simply bind the node to a custom event.

dmxblueprintextension4.png

Pin

Description

Protocol

The protocol received.

Remote Universe

The remote universe received.

DMXBuffer

The full byte array for the universe received.

On Fixture Patch Received

With the On Fixture Patch Received node, users are able to listen for any incoming DMX for a particular fixture patch assigned in the DMX component. If successfully received, the event will execute and provide information about the received packet including the fixture patch receiving and all channel values of the fixture patch. This event is only executed when new values are received for the fixture patch assigned in the DMX component.

dmxblueprintextension5.png

Pin

Description

Fixture Patch

The patch that is receiving DMX.

Value Per Attribute

All normalized values for attributes in the fixture patch assigned in the DMX component.

In order to receive incoming DMX in Unreal Engine, the sender must be transmitted to the proper IP address. This IP should be the IP that is being used for the project. This IP is set inside Project Settings > Plugins > DMX Plugin > Interface IP Address. By default, this will be set to 0.0.0.0 which selects the primary network interface card as determined by the operating system.

If you would like to receive from an alternate source find your IP address and make sure your DMX sending source is broadcasting on your network card's IP subnet.

For example, if your network IP address was 192.168.1.100 your sender should broadcast out on 192.168.1.255 in order for Unreal Engine to receive. Notice the 255 on the end, indicating to broadcast on your network interface card IP subnet.

Get DMX Attribute Values

The Get DMX Attribute Values Blueprint returns a map with the attribute names and their current values for the input fixture type. Here is an example of existing Blueprint attributes that allow getting current DMX values from a given DMX fixture patch.

Using GetDMXFixturePatch and GetDMXAttributeValues in combination, the user is able to expose the attributes for the selected patch using the Expose Attributes button in the details panel. This will list all available attributes for the specified fixture patch and output their current values.

dmxblueprintextension6.png

Alternatively, if the user wants to input a dynamically-set fixture patch, they will not be able to expose the attributes as before but will be able to specify the attribute values they would like to get by calling the Find attribute on the Out Attributes Map. See the example below.

dmxblueprintextension7.png

Tags
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss