Skip to content

Creating a new map (v2.0)

Foxyyy edited this page Sep 1, 2025 · 2 revisions

Heavily adapted from @Joris

Create a new map scene

You can start creating a new map by clicking the "MvLO > Create New Map" button in the top menu bar in Unity. This will open a window prompting you to name the new map. Once done, click Create, and Unity will automatically create a new map for you based on the level template, as well as adding it to the main menu.

It is NOT recommended to create a new map by copying an existing one. There are multiple ScriptableObject assets (and references to those assets) that would need to be copied over as well, and the Create New Map button does all that for you.

Modifying the map

Tiles

The available set of tiles can be found in "Window > 2D > Tile Palette" . There are two small dropdowns where you can then select a tile palette and the tilemap to modify. The "Grid" GameObject typically has two available tilemaps: Tilemap-Ground and Tilemap-Background. Select your tileset, use the brush and tile away!

VersusStageData

Configurable options for the maps used to be located within a "GameManager" object in older versions. Starting in v2.0, all configuration is stored within the VersusStageData asset for your stage that was automatically generated when using the "Create new Map" button. To quickly find this asset, use the click "MvLO > Find VersusStageData Asset" menu item.

Map Dimensions

By default, the map will automatically resize to fit all tiles within the "Tilemap-Ground" tilemap once you save.

To manually change these automatic values, within the VersusStageData asset, look for the "--Tilemap" section in the Inspector tab (right side). Enable the "Override Automatic Tilemap Settings", then you can safely set the Tile Dimensions / Tile Origin to whatever values you want. The red outline around your stage in the Unity Editor shows the valid play area.

If you want to make sure players or Big Stars can't get stuck above the tiles in a level, enable the "Extend Ceiling Hitboxes" option to extend the top layer of tile hitboxes infinitely upwards. You can also disable the looping mechanic from the same object through the "Looping Level" checkbox.

  • Note: Maps should always be an even number of tiles wide, making the map an odd width causes camera issues.
  • Note: Make sure that you put the level height to cover all tiles players can reach, to ensure that the map will properly be reset when collecting Big Stars / Star coins, and that tile collision will work.

Camera settings

By default, the map will automatically resize the camera boundaries (gray box around your stage in Unity) to fit all tiles within the "Tilemap-Ground" tilemap once you save, excluding the lowest 3 tiles (for off-screen pits).

To manually change these automatic values, within the VersusStageData asset, look for the "-- Camera" section. Enable the "Override Automatic Tilemap Settings", and then you can change the min/max camera positions. There are also variables for the minimum and maximum horizontal scroll positions, typically used for stages that do not loop (such as Pipes from the original game).

Player spawnpoints

To change the player spawnpoint, simply edit the values under the "-- Spawnpoint" section.

Enabling/disabling Mega Mushroom and Propeller Mushroom

You can disable the Mega Mushroom and Propeller Mushroom using the "Spawn Big Powerups" and "Spawn Vertical Powerups" checkboxes, under the "---Powerups" section.

  • Checking Spawn Big Powerups will allow Mega Mushrooms to spawn. It should be disabled on maps with as few as one areas where a player with a Mega Mushroom can get stuck. It is enabled on most vanilla stages, excluding Fortress, Pipes, Jungle, and Volcano.
  • Checking Spawn Vertical Powerups will allow Propeller Mushrooms to spawn. It should be disabled on maps with no areas where a Propeller Mushroom would be useful, usually because of low ceilings. It is enabled on every vanilla stage besides Fortress.

I recommend not touching anything else, unless you know what you're doing.

Saving

You MUST save whenever you make a change to the map, even if you are testing within the editor. Visually the map will use the new map's design, but all gameplay functionality will use the old map's.

Adding to the Main Menu

Stage preview

Once you create your stage, you need to add a mockup of it on the main menu. Before going back to the "Main Menu" scene, select the "Eyedropper" tool within the "Tile Picker" window and select a sizeable chunk of your level (at least 26x15). Change back to the Main Menu scene, find some open space off to the left, select the "brush" mode in the Tile Picker, and click to paint your selected area of level. Add an empty GameObject to the scene, position this empty GameObject in the center of your recreation (where you want the center of the camera to be), and add it to the array within the "Main Menu > Stage Backgrounds", alongside your map asset.

Clone this wiki locally