UDP communication interface for exchanging data with external applications via UDP protocol. More...
Public Member Functions | |
| override void | OpenInterface () |
| override void | CloseInterface () |
| void | Connect () |
| void | Disconnect () |
| void | FixedUpdate () |
| void | Update () |
Public Member Functions inherited from realvirtual.InterfaceBaseClass | |
| void | UpdateInterfaceSignals (ref int inputs, ref int outputs) |
| Creates a new List of InterfaceSignals based on the Components under this Interface GameObject. | |
| Signal | CreateSignalObject (string name, SIGNALTYPE type, SIGNALDIRECTION direction) |
| Create a signal object as sub gameobject. | |
| Signal | AddSignal (InterfaceSignal interfacesignal) |
| void | RemoveSignal (InterfaceSignal interfacesignal) |
| virtual GameObject | GetSignal (string name) |
| Gets a signal with a name. | |
| void | SetAllSignalStatus (bool connected) |
| void | DestroyAllSignals () |
| void | DeleteSignals () |
| virtual void | PostAllScenesLoaded () |
Public Member Functions inherited from realvirtual.realvirtualBehavior | |
| virtual void | OnOwnershipChanged (bool isOwner) |
| Called when network ownership changes. | |
| void | SetNetworkOwner (bool isOwner) |
| Sets IsNetworkOwner and triggers OnOwnershipChanged callback. | |
| void | PreStartSim () |
| Is called by the realvirtualController before the component is started. | |
| void | StartSim () |
| Is called by the realvirtualController to start or stop the component. | |
| void | StopSim () |
| Vector3 | DirectionToVector (DIRECTION direction) |
| Transfers the direction enumeration to a vector. | |
| DIRECTION | VectorToDirection (bool torotatoin, Vector3 vector) |
| Transfers a vector to the direction enumeration. | |
| float | GetLocalScale (Transform thetransform, DIRECTION direction) |
| List< BehaviorInterfaceConnection > | UpdateConnectionInfo () |
| List< Signal > | GetConnectedSignals () |
| void | SetVisibility (bool visibility) |
| Sets the visibility of this object including all subobjects. | |
| List< BehaviorInterfaceConnection > | GetConnections () |
| List< Signal > | GetSignals () |
| GameObject | GetChildByName (string name) |
| Gets a child by name. | |
| List< GameObject > | GetChildsByName (string name) |
| Gets all child by name. | |
| GameObject | GetChildByNameAlsoHidden (string name) |
| List< GameObject > | GetAllMeshesWithGroup (string group) |
| List< GameObject > | GetAllWithGroup (string group) |
| List< GameObject > | GetAllWithGroups (List< string > groups) |
| List< GameObject > | GetAllMeshesWithGroups (List< string > groups) |
| List< string > | GetMyGroups () |
| List< GameObject > | GetMeshesWithSameGroups () |
| List< GameObject > | GetAllWithSameGroups () |
| MeshRenderer | GetMeshRenderer () |
| Gets the mesh renderers in the childrens. | |
| void | SetCollider (bool enabled, bool includeTriggers=true) |
| sets the collider in all child objects | |
| void | ErrorMessage (string message) |
| Displays an error message. | |
| void | ChangeConnectionMode (bool isconnected) |
| void | Log (string message) |
| Logs a message. | |
| void | Log (string message, object obj) |
| Logs a message with a relation to an object. | |
| void | Warning (string message, object obj) |
| Logs a warning with a relation to an object. | |
| void | Error (string message, object obj) |
| Logs an error with a relation to an object. | |
| void | Error (string message) |
| Logs an error. | |
| GameObject | DebugPosition (string debugname, Vector3 position, Quaternion quaternation, float scale) |
| Displays a gizmo for debugging positions. | |
| void | SetFreezePosition (bool enabled) |
| Freezes all child components to the current poosition. | |
| void | SetRbConstraints (RigidbodyConstraints constraints) |
| virtual void | AwakeAlsoDeactivated () |
Public Attributes | |
| int | RemoteListenPort |
| UDP port number on the remote machine where messages are sent. | |
| int | LocalListenPort |
| UDP port number on the local machine for receiving incoming messages. | |
| string | RemoteIPAdress |
| IP address of the remote machine to send UDP messages to. | |
| int | Inputs |
| Total number of INPUT signals configured (Unity to external application) | |
| int | Outputs |
| Total number of OUTPUT signals configured (external application to Unity) | |
| int | SendingMessageSize |
| Total size in bytes of the outgoing UDP message. | |
| int | ReceivingMessageSize |
| Total size in bytes of the incoming UDP message. | |
| bool | DebugMode |
| Enables detailed logging of sent and received UDP messages. | |
| string | SymbolTable |
| Path to the CSV symbol table file for automatic signal configuration. | |
| string | SplitChar |
| Character delimiter for separating CSV columns. | |
Public Attributes inherited from realvirtual.InterfaceThreadedBaseClass | |
| int | MinUpdateCycle |
| int | CommCycleMeasures |
| int | CommCycleNr |
| int | CommTimeMs |
| int | CommTimeMin |
| float | CommTimeMed |
| int | CommTimeMax |
| int | CommCycleMeasureNum |
| int | UpdateCycleMs |
| string | ThreadStatus |
| int | MinUpdateCycle2 |
| int | CommCycleNr2 |
| int | CommTimeMs2 |
| int | CommTimeMin2 |
| float | CommTimeMed2 |
| int | CommTimeMax2 |
| int | CommCycleMeasureNum2 |
| int | UpdateCycleMs2 |
| string | ThreadStatus2 |
| bool | NoThreading |
| bool | TwoThreads |
Public Attributes inherited from realvirtual.InterfaceBaseClass | |
| bool | IsConnected |
| List< InterfaceSignal > | InterfaceSignals |
| Hashtable | SignalNamesOutputs |
| Hashtable | SignalNamesInputs |
Public Attributes inherited from realvirtual.realvirtualBehavior | |
| string | Name |
| The name of the component if it should be different from the GameObject name. | |
| ActiveOnly | Active |
| GameObject | FromTemplate |
| realvirtualController | realvirtualController |
| bool | HideNonG44Components |
| bool | SceneIsAdditive |
| bool | ForceStop |
| bool | IsNetworkOwner |
| True when this component owns its simulation (local authority). Set to false by MultiplayerWEB on remote clients. | |
Protected Member Functions | |
| override void | CommunicationThreadUpdate () |
Protected Member Functions inherited from realvirtual.InterfaceThreadedBaseClass | |
| virtual void | CommunicationThreadClose () |
| virtual void | SecondCommunicationThreadUpdate () |
| virtual void | SecondCommunicationThreadClose () |
Protected Member Functions inherited from realvirtual.InterfaceBaseClass | |
| void | OnConnected () |
| void | OnDisconnected () |
| void | OnEnable () |
| void | OnDisable () |
Protected Member Functions inherited from realvirtual.realvirtualBehavior | |
| bool | hidename () |
| bool | hideactiveonly () |
| virtual void | OnStopSim () |
| virtual void | OnPreStartSim () |
| virtual void | OnStartSim () |
| MU | GetTopOfMu (GameObject obj) |
| Gets the top of an MU component (the first MU script going up in the hierarchy) | |
| void | InitGame4Automation () |
| Initialiates the components and gets the reference to the realvirtualController in the scene. | |
| virtual void | AfterAwake () |
| void | Awake () |
Additional Inherited Members | |
Public Types inherited from realvirtual.realvirtualBehavior | |
| enum | ActiveOnly { Always , Connected , Disconnected , Never , DontChange } |
Static Public Member Functions inherited from realvirtual.realvirtualBehavior | |
| static bool | DirectionIsLinear (DIRECTION direction) |
| Gets back if the direction is linear or a rotation. | |
Properties inherited from realvirtual.InterfaceBaseClass | |
| virtual string | InterfaceDisplayName [get] |
| Display name for interface in UI lists (removes "Interface" suffix by default, can be overridden for custom names) | |
| virtual bool | ShowIsConnectedField [get] |
Detailed Description
UDP communication interface for exchanging data with external applications via UDP protocol.
The UDPInterface enables bidirectional communication using UDP (User Datagram Protocol) for sending and receiving data between Unity and external applications like PLCs, SCADA systems, or custom tools. It supports automatic signal mapping from CSV symbol tables with byte-level data positioning.
Key Features:
- Bidirectional UDP communication with configurable ports
- CSV-based symbol table import for automatic signal configuration
- Supports BOOL, INT, REAL data types
- Automatic byte position calculation for signals
- Debug mode for message logging and troubleshooting
Signal Direction Mapping:
- INPUT signals: Unity → External application (sent on local port)
- OUTPUT signals: External application → Unity (received on remote port)
CSV Symbol Table Format:
- Column 1: Signal name
- Column 2: Data type (BOOL/INT/REAL/TEXT/STRING/WSTRING)
- Column 3: Direction (PLC_IN/PLC_OUT)
For detailed documentation see: https://doc.realvirtual.io/components-and-scripts/interfaces/udp-pro
Member Function Documentation
◆ CloseInterface()
|
virtual |
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
◆ CommunicationThreadUpdate()
|
protectedvirtual |
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
◆ OpenInterface()
|
virtual |
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
Member Data Documentation
◆ DebugMode
| bool realvirtual.UDPInterface.DebugMode |
Enables detailed logging of sent and received UDP messages.
◆ Inputs
| int realvirtual.UDPInterface.Inputs |
Total number of INPUT signals configured (Unity to external application)
◆ LocalListenPort
| int realvirtual.UDPInterface.LocalListenPort |
UDP port number on the local machine for receiving incoming messages.
◆ Outputs
| int realvirtual.UDPInterface.Outputs |
Total number of OUTPUT signals configured (external application to Unity)
◆ ReceivingMessageSize
| int realvirtual.UDPInterface.ReceivingMessageSize |
Total size in bytes of the incoming UDP message.
◆ RemoteIPAdress
| string realvirtual.UDPInterface.RemoteIPAdress |
IP address of the remote machine to send UDP messages to.
◆ RemoteListenPort
| int realvirtual.UDPInterface.RemoteListenPort |
UDP port number on the remote machine where messages are sent.
◆ SendingMessageSize
| int realvirtual.UDPInterface.SendingMessageSize |
Total size in bytes of the outgoing UDP message.
◆ SplitChar
| string realvirtual.UDPInterface.SplitChar |
Character delimiter for separating CSV columns.
◆ SymbolTable
| string realvirtual.UDPInterface.SymbolTable |
Path to the CSV symbol table file for automatic signal configuration.
Public Member Functions inherited from