Skip to main content

Settings

The Settings view will allow you to change your main project's settings.

Cartridge

This section allows you to change some of the basic information placed into the ROM metadata.

  • Name - The game name.
  • Author - The developer's name.
  • Size - The target ROM size, you can check the Saving section to know more.
  • Save - The preferred save mode, you can check the Saving section to know more.
Cartridge

ROM Size Limits

The Mega Drive supports ROM sizes up to 4MB (32Mbit) by default. With the Two Black Cats custom PCB sizes up to 8MB are supported. Larger ROMs consume more space for assets (sprites, backgrounds, music, sound effects). You can monitor your ROM usage in the Build Log after building your project.

VDP

This section allows you to change the default VDP memory arrangement, you can also use the VDP Tiles Setup event on the scene OnStart, or OnEnd to change this during runtime.

  • Background & Foreground Tiles - The number of tiles reserved for Backgrounds & Maps.
  • Sprite Tiles - The number of tiles reserved for Sprites.
  • Font Tiles - The number of tiles reserved for Fonts.
  • Draw Background & Foreground Automatically - This allows you to disable the automatic rendering of Background & Foreground when a scene loads.
  • Plane Size - This changes the default plane size.
VDP

Maximum Elements

This section allows you to change the maximum amount of different module elements, some of these consume RAM if you have too many, so it is best to increase only if needed.

Maximum Elements

There is more information regarding what each of these are in the Modules section.

Dialogue & Text

This section allows you to change the text mode, the default font as well as the default Dialogue Cursor tileset and Dialogue Frame tileset.

Dialogue and Text

A detailed explanation of each Text Mode can be found below.

Simple Mode (English)

This mode is enabled by default due to it being the one that uses the least VDP space as well as allows for fast rendering. It only supports a small sub-set of the ASCII character set, you can check the entire list on the section regarding font asset. It will need 96 VDP tiles.

Simple Mode (EFIGSP)

This mode can be enabled if you want to include extra language support without much VDP compromise, it supports the lower case special letters of French, Italian, German, Spanish, and Portuguese. You can check the entire list on the section regarding font asset. It will need 118 VDP tiles.

Advanced Mode

This mode allows support for Asian languages as well as the full ASCII character set, it also allows for higher quality fonts since it supports 16px x 16px characters. As a trade-off, it's slower on rendering as they render the text to the VDP instead of loading the entire font into it like on the simple modes. You can check some extra information on the section regarding font asset. The total amount of needed tiles can be set on the VDP section outlined before.

Collisions

This section allows you to change settings related to the Collisions module.

  • Collision System - The game collision system.
  • Collision Mode - The game collision mode.
  • Collision Storage - How the scene collision information is stored.
  • Actor Overlap Behaviour - The overlap behaviour between actors.
  • Collision Bias - The collision simulation bias value.
Collisions

There is more information regarding what each of these are in the Collisions module docs.

Collision Group Names

This section allows you to change the collision group names, so they are easier to recognize while working on your game.

Collision Group Names

Collision Mask

This section allows you to change how the collision groups collide with each other.

Collision Mask

There is more information regarding what each of these are in the Collision Masking section.

Collision Check Frequency

This section allows you to change how frequently the collisions for each group are checked.

Collision Check Frequency

There is more information regarding what each of these are in the Collision Frequency section.

Engine Fields

This section allows you to change the engine fields, right now this only covers physics-related values.

Engine Fields

There is more information regarding what each of these are in the Engine Fields docs.

Audio

This section allows you to change the export Audio settings.

  • Sound Driver — Select the music driver: XGM2 (VGM files, 3 PCM channels with volume control), XGM (VGM/XGM files, no fade or volume control), or MDSDRV (MML files via mdslink).
  • Sound Format — Export sound quality for WAV files: Normal (13.3 kHz) or Half Rate (6.65 kHz). Only available with the XGM2 driver.
Audio

There is more information regarding what each of these are in the Sound Driver section.

Build Options

This section allows you to change the settings relating to building your project.

  • Open Build Log On Warnings Choose if the Build Log should be displayed automatically when warnings are displayed such as "too many unique tiles or palettes used in a scene". If you're choosing to ignore these warnings it can be helpful to disable them, otherwise you'll be taken to the Build Log every time your game runs. Please note that errors building your project will always open the Build Log regardless of this setting.

This section also includes experimental compiler optimization toggles — Script Inlining, CSE & LICM, and Parameterized Script Dedup. For details on what each pass does and when to use them, see Compiler Optimizations.

Controls

This section allows you to change the default keyboard and gamepad controls used when playing your game from a web build, desktop build, and the Play Window.

Controls Keyboard

To edit the keyboard controls for a button click on the input box and while the input is highlighted type the key you wish to assign. To remove all the assigned keys click the input and then press the Backspace key on your keyboard.

Controls Gamepad

To edit the gamepad controls for a button select the modern gamepad button that will be mapped to the MD button, several modern buttons can map to the same MD button.

To reset to the original controls you can use the Restore Default button.

Export Settings

The Export Settings section allows you to configure platform-specific metadata for each export target. The settings are organized by platform tabs.

Steam

  • Steam App Id — Your game's Steam application identifier. Required for the Windows/Linux Steam export to enable achievements and other Steam features.
Export settings Steam tab

Apple

macOS

  • Bundle ID — The macOS application bundle identifier (e.g. dev.mdengine.mygame). Required for distribution.
  • Version — The version string displayed in the app's info panel.
  • Signing Identity — Your Apple Developer signing identity for code signing and notarization (e.g. Developer ID Application: Your Name (TEAMID)). Optional but recommended for distribution.
warning

macOS exports have not yet gone through Apple certification (App Store review).

iOS

  • Bundle ID — The iOS application bundle identifier.
  • Version — The version string.
warning

iOS exports have not yet gone through Apple certification. Building requires macOS with Xcode.

Export settings Apple tab showing macOS and iOS configuration

Android

  • Package Name — Java-style package identifier (e.g. dev.mdengine.mygame).
  • Version Code — An integer that must increase with each release.
  • Version Name — A display version string (e.g. 1.0.0).
  • Keystore Path — Path to your .jks keystore file for APK signing.
  • Key Alias — The alias of the signing key within the keystore.
warning

Android exports have not yet gone through Google Play certification.

Export settings Android tab

Linux

  • Version — The package version string (e.g. 1.0.0). Used by DEB and RPM exports.
  • Description — A short description of the game. Used in DEB/RPM package metadata and desktop entries.
Export settings Linux tab

PortMaster

Experimental

PortMaster support is experimental. The packaging format may change.

  • Description — A short description included in the PortMaster package metadata.
  • Readme — The full README content bundled with the PortMaster package.
Export settings PortMaster tab

Web

  • Custom HTML Header — Custom content added to the HTML <head> section of the web build. You can use this to add CSS, JavaScript, or meta tags.
Export settings Web tab

Touch Controls

Available for Web, Android, and iOS exports. Allows you to configure on-screen touch controls for mobile and tablet play.

  • Layout Preset — Choose from Standard, Compact, Left-Handed, Diagonal Up, Diagonal Down, Six-Button, Minimal, or Custom.
  • Per-button configuration — Toggle visibility, adjust scale and position for each button.
  • Phone Preview — A live mockup showing the current button arrangement.
  • Enable/Disable — Toggle touch controls entirely.
Touch layout editor with standard preset