How do i create a minimap?

I wanted to know how to make a minimap? So i started to think maybe a second camera held directly above the character? but how would i make it appear in the top right corner of the screen. Would it be a gui or something of somesort? Please consider in helping me...

You set the minimap camera to a higher depth than the main camera to get it to render over it.

You set the culling on the minimap cam to depth only so it doesn't render a sky box or anything to cover the rest of the screen.

You then set the viewport normal on the minimap to a corner of the screen.

http://unity3d.com/support/documentation/Components/class-Camera.html

The normalised rect is from 0-1 where 1 is the width of the screen so 0.5 would be half the screen.

You can also make the map extra special by creating a map icons layer and disabling it on the main camera and setting the map cam to only render the terrain layer and map icons layer so you'll see map icons in the minimap and not in the main view.

there are two ways to do this. 1 you can use normalized viewport as described by spinaljack in another answer. 2 you can render the camera to a render texture and use that texture in any 3d plane/GUI you want. this will require you to have unity pro.

you make a camera, go into “game” tab (next to “scene”) and set the position of the camera (i put it in the upper right corner). next, put it up REALLY high up on top of your player and set the projection to orthographic. now make a c# script that will make the camera follow your player. heres the script i used:

using UnityEngine;

public class CameraFollow : MonoBehaviour {

	public Transform Target;
	
void LateUpdate()
{
	transform.position = new Vector3(Target.position.x, transform.position.y, Target.position.z);	
}

}

then, set your player as the target. if you see any problems, reply back to me. hope it helps!

Hi there,

Making an minimap is not as simple as it appears when you first think about it. We spent about 3 month implementing a really good working minimap/map system. Its fully customizeable, well documented and super easy to integrate. Maybe this would save you some time?

KGFMapSystem Homepage checkout the screenshots!

KGFMapSystem Assetstore

Set the camera depth to 1 and change the x and y until it’s where you want

link text

link text

Hello!

the simplest way to make an mini map is add another camera, go to the “inspector” and set the viewport rect to “w 0.5” ,“h 0.5”.
then run, and in the down-left corner you wil see a minimap!

In case anyone is interested, I’ve written an in-depth tutorial about making a minimap in Unity.

It’s using a top-down camera and a render texture. These features are not pro-only anymore, so anybody can do it this way.

OH THANK YOU SO MUCH

Detailed Unity3D Minimap Tutorial here
http://techscenarios.com/2019/01/unity3d-simplest-circular-minimap-creation-from-scratch-short-tutorial-free-demo-project-included-part-1/

Or watch it on Youtube

Hi! I used Pro Radar Builder in Unity that can create

  • 2D & 3D radars and tracking systems.

  • Static minimaps, ideal for small static scenes.

  • Realtime Minimap , ideal for large scenes / Open worlds.

  • Advanced rotation re-targeting.

and also offers lots free templates to beautify your radars.
The System Uses Neither Unity UI nor IMGU, making it fast and no coding is needed. It’s awesome.