The MDK project configuration is managed through .ini files, which handle various settings related to script generation, minification, and output paths. These files enable flexibility by distinguishing between project-specific configurations and machine-specific overrides.

Tip

MDK Hub users: You can edit most configuration settings visually through the Hub's configuration editor instead of manually editing .ini files.

File Overview

  1. [projectname].mdk.ini
    This file contains project-specific settings and should be checked into source control to maintain consistent configurations across different environments.

  2. [projectname].mdk.local.ini
    This file is specific to the local machine and is not meant to be checked into version control. It allows developers to apply local customizations (e.g., output paths) without affecting the project-wide settings.

Configuration Settings

[mdk]

This section applies to both .ini files. All settings can be defined in either file, with the local file (.mdk.local.ini) taking precedence over the project file for overrides.

type=programmableblock|mod

log=[file path]

trace=on|off

interactive=OpenHub|ShowNotification|DoNothing

namespaces=[comma-separated list]

minify=none|trim|stripcomments|lite|full

minifyextraoptions=none|nomembertrimming

ignores=[glob patterns]

donotclean=[glob patterns]

macros=[comma-separated list]

Local-Specific Settings

The following settings are typically defined in the .mdk.local.ini file to apply machine-specific configurations. These are not required to be shared across developers or environments, providing flexibility in setup.

output=auto|[specific path]

Note

Global path configuration: Instead of setting output per-project, you can configure a global default in MDK Hub's settings. This is especially useful on Linux where auto-detection isn't available.

binarypath=auto|[specific path]

Note

Command-line users: The command-line interface uses -gamebin as the parameter name, but in INI files, use binarypath. Both refer to the same setting (the Space Engineers Bin64 folder).


How the Files Work Together

Both .mdk.ini and .mdk.local.ini can contain the same settings, but they serve different purposes. Settings in .mdk.local.ini will always override those in .mdk.ini if both are defined.

Recommended organization (as used by MDK Hub):

mdk.ini (project settings - commit to source control):

mdk.local.ini (machine-specific settings - do NOT commit):


Footnotes:
1: %AppData% is a Windows macro that will resolve to a special folder on your computer. If you wish to find it, open a Windows Explorer and type it into the address bar and press enter.