Skip to main content

Event Types

Each event has a type that decides what data the callback receives. Every type has its own Register and Invoke nodes, in an identifier version and a Name version.

TypeRegister nodeInvoke nodeData sentCallback receives
SimpleRegister Simple EventInvoke Simple Eventnothingnothing
PayloadRegister Payload EventInvoke Payload EventPayload (Object)Payload (Object)
StringRegister String EventInvoke String EventStringString
IntRegister Int EventInvoke Int EventValue (Integer)Value (Integer)
FloatRegister Float EventInvoke Float EventValue (Float)Value (Float)
BoolRegister Bool EventInvoke Bool EventValue (Boolean)Value (Boolean)
VectorRegister Vector EventInvoke Vector EventData (Vector)Data (Vector)
String + FloatRegister String Float EventInvoke String Float EventData (StringFloat struct)Data with String and Float
String + IntRegister String Int EventInvoke String Int EventData (StringInt struct)Data with String and Value

Use Make StringFloat / Make StringInt to build the struct when invoking, and Break to read it in the callback.

The type must match​

A listener is only called when the event is invoked with the same type it was registered with. If you register MyEvent as an Int event and invoke it with Invoke Float Event, nothing is called, and this warning is written to the log:

Event (MyEvent) was invoked as Float but no listener is registered with that type

Registering the same identifier with two different types also logs a warning. Use one type per event.

Need more data?​

If none of the built-in types fit, send an object with a Payload event. The object can hold any variables you need.