# Environment variables

During the installation of Simplygon (either by using the installer or when performing a manual advanced installation), there are environment variables that are required to be set up on the computer for Simplygon to work properly and/or to customize where Simplygon stores and retrieves files from. These environment variables are explained in detail below.

IMPORTANT NOTE

Remember to restart any programs (including their parent processes) using Simplygon if changing any of the environment variables, since such changes are not picked up by already running processes.

Variable name Variable contents Default value Description
SIMPLYGON_9_PATH Absolute path %PROGRAMW6432%\Simplygon\9 Set SIMPLYGON_9_PATH to a path where all the binaries that make Simplygon run (like Simplygon.dll and SimplygonBatch.exe etc.) are located.
SIMPLYGON_9_TEMP Absolute path %LOCALAPPDATA%\Temp\Simplygon SIMPLYGON_9_TEMP should be set to a path that can be used by Simplygon to store temporary intermediate files during processings.
SIMPLYGON_9_SHARED Absolute path %USERPROFILE%\Documents\Simplygon\9 Simplygon will look for shared resources (like saved pipelines) in the directory that SIMPLYGON_9_SHARED is set to.
SIMPLYGON_9_FLAGS Feature flags Feature flags controlling behaviour of Simplygon without invoking the API directly. Semi-colon separated list of flag strings.
SIMPLYGON_9_GRID_HOSTS Grid hosts Semi-colon separated list of IP address or host names of machines running Grid agents that will act as bridges between subnets which will normally not be found during agent discovery (mDNS).

# Feature flags

  • NoLicenseFallback: Allow the API to starting up in unlicensed mode as a silent fallback if there is no valid license file on the machine. Normally this would generate an error indicating an invalid license.
  • MemoryTracker: Track all memory allocations and report any memory leaks on DLL unload (printed to stderr and debugger output window). This can have a major negative impact on performance, only enable if memory leaks are suspected. To get the report redirected to a file instead of stderr, add an assignment with a file path to the flag (for example MemoryTracker=D:/memory.log).
  • MemoryGuard: Place guard zones around all allocations to detect out-of-bounds writes. This can have a major negative impact on performance, only enable if memory errors are suspected. To also detect post-free reads/writes of memory blocks, add an assignment with a level indication set to 2 (MemoryGuard=2). This will map new memory pages for each allocation and cause access violations if the block is read/written after deallocation.