Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

How to make the Full Game Map System! (METHOD 1) - A Tutorial for Baldi's Basics

Updates

Tweaks to the Tutorial 2y
  • Tweak Made sure where to put the variables at and added the same piece of code there
  • Addition Made each part a separate heading
  • Addition Table of Contents
  • Tweak Added how to make the Box Collider Triggerable
  • Tweak Made the pieces of code in a code block :P
  • Addition ADDED A DISCLAIMER!

The Reason why it's Intermediate is because you need to have at least some patience to duplicate the MapColliders and MapPieces

Disclaimer: If you want the Map Tiles to be built on the UI, this is not a place for you! Also I'm shocked that this didn't get overused!

Welcome to this Tutorial where I'll show you how I made the Minimap function that looks similar to how BB+ did it!

The first step is to ALWAYS open up the Open Source Baldi Project!

1. Part 1: The Minimap Script


Make a new script called "MinimapBringupScript", in the Update Tab, paste these lines of code:

if (Input.GetKeyDown(KeyCode.Tab))
{
if(this.mapUp == false)
{
this.Minimap.SetActive(true);
this.mapUp = true;
}
else
{
this.Minimap.SetActive(false);
this.mapUp = false;
}
}
Also, make sure that you add these 2 lines of code before the last bracket of the script,

public GameObject Minimap;
public bool mapUp;

2. Part 2: The Map Collider Script


Make another new script called "MapRevealScript", in the Start Tab, paste this line of code:
this.mapPiece.SetActive(false);

Make sure that you set mapPiece to a GameObject variable...

Then paste these lines of code:

//OnTriggerEnter is called when a GameObject hits the Collider
void OnTriggerEnter(Collider other)
{
if(other.tag == "Player")
{
this.mapPiece.SetActive(true);
}
}

3. Part 3: The placement of the MapColliders and MapPieces


This is going to be long, trust me!

3.1. Part A: Hallways


In the Editor, Create a cube, scale it to the size of the hallway, remove the Mesh Renderer component, then make sure the collider is triggerable! (To do that, go to Box Collider, then check the box "Is Trigger")

then make some sprites for the MapPieces using paint.net or whatever you use (not msPaint)

Then Drag and Drop the first MapPiece to the Scene, then scale it up to the Hallway Size, then set the mapPiece variable to said Sprite!

Then here comes the painfully long part, the Duplicating of the MapColliders and the MapPieces...

3.2. Part B: Rooms


Take a MapCollider, duplicate it, move it to a room, scale it to the size of the space provided, then duplicate each map piece for said room then put it under an empty GameObject then set it for the MapColliders so that you don't have to go around the room to fill the map...

4. Part 4: Minimap Camera!


Copy and paste the main camera, attach it to the Player, move it up, rotate it so that it faces down, remove the Camera Script, set its projection to Orthographic, and set its Clear Flags to "Depth Only"

Then in the GameController object, add the MinimapBringupScript, assign the Minimap variable, and you're done!

I hope you find this lengthy Tutorial helpful!

If you want your Map Tiles to be built on the UI, check this tutorial made by SplintaDinta HERE! (just click on the yellow text!)