Compiler Defines
Last updated
Last updated
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)
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
REALVIRTUAL_CUTTER
For the use of Cutter component
REALVIRTUAL_TEST
Needs to be set if Test automation should be used and Unity Test Framework is installed.
REALVIRTUAL_BURST
Needs to be set if Contact Detection should be used in the Kinematic Tool and if Unity Burst Compiler package is installed.