C++ module VS GDExtension
Sota supports 2 types of build:
GDExtension. Build is managed by SConstruct file.
SOTA_GDEXTENSIONmacro is defined to preprocess C++ code.C++ module. Build is managed by SCsub file.
SOTA_MODULEmacro is used instead ofSOTA_GDEXTENSION.
Other macros:
SOTA_ENGINEmacro is set when Sota is going to be used in Godot editor. There are various methods e.g. to visualize and manipulate godot object while inside editor. Those methods are not present outside of editor and their usage will result in compilation error. To prevent it we explicitly setSOTA_ENGINEif editor will be used.
Related to topic:
Types abstraction layer - approach to localize module/gdextension differences.