Compiler Defines

realvirtual.io uses some compiler defines (also called Scripting Define Symbols) for managing different configurations. Compiler defines are switches which can be set to define which part of the C# source code are compiled or not. Sometimes it is necessary to use compiler defines to prevent unwanted compiler error messages. Which compiler defines needs to be set is depended on the Assets you purchased (realvirtual.io Starter, realvirtual.io Professional).

Most compiler defines are usually created automatically once you install the realvirtual.io Asset. You can reset the realvirtual.io settings, including the compiler defines, by selecting realvirtual > Apply standard settings:

You can find the current compiler defines under File > Build Settings > Player Settings > Other Settings > Scripting Define Symbols:

Some interfaces are needing special Complier Defines - this is mentioned on the Interface documentation page.

Here is a list and description of the used compiler defines. (before 2022 - GAME4AUTOMATION)

Compiler DefineDescription

REALVIRTUAL

Standard compiler define which needs to be set to enable realvirtual.io Standard and professional

REALVIRTUAL_PROFESSIONAL

Compiler define which needs to be set only for realvirtual.io Professional. The standard setting of the compiler defines for realvirtual.io Professional is GAME4AUTOMATION; GAME4AUTOMATION_PROFESSIONAL

REALVIRTUAL_PLAYMAKER

This compiler define needs to be set to be able to use the realvirtual.io Playmaker nodes. These nodes are only included in Professional version. You should set this define only if Playmaker is installed. See Playmaker Visual Scripting

OPCUA4UNITY

Compiler Define for OPCUA

REALVIRTUAL_VISCUALSCRIPTING

Compiler Define if Unity Visual Scripting package is installed and should be used by realvirtual.io. See Unity Visual Scripting

CINEMACHINE

Compiler Define if Unitys Cinemachine is installed and should be used.

REALVIRTUAL_AGX

Turns on AGX Phyisics simulation capabilites in realvirtual.io if AGX Unity Plugin is installed

REALVIRTUAL_BESTHTTP

Needed for BestHTTPV2 based interfaces like TwinCAT HMI or MQTT

REALVIRTUAL_BESTMQTT

Needed for BESTMQTT v1 base interfaces like MQTT

REALVIRTUAL_JSON

Needed for JSON based interfaces like TwinCAT HMI

REALVIRTUAL_BESTHTTP3

Needed for BestHTTP V3 based interfaces like TwinCAT HMI or MQTT

REALVIRTUAL_BESTMQTT3

Needed for BESTMQT V3 based interfaces like MQTT

Last updated