minimap creation not using 2nd camera

hi there, im trying to make a minimap and not using the 2nd camera method. from what i’ve found from some other source im only able to print out the texture of the map using graphics.drawtexture function. how can i print out an object to indicate the player/enemy on the texture i’ve created?

thanks for the link. but i’ve found another minimap tutorial which is what i wanted, this is the link for those who have no clue about how to make one like me.

Do this


You can also use the popular KGFMapSystem.
Its fully customizeable, well documented, and well supported. If you have not already implemented you own minimap this will spare you a lot of time and trouble. :slight_smile:


Hi, you can use this method to make a mini map without a second camera. Take a screenshot of the map, place it inside a canvas. Then create 4 transform positions and place it in the game world edges. Then use this script and assign the values.

    public RectTransform marker; //player pointer image
    public RectTransform mapImage;//Map screenshot used in canvas
    public Transform playerReference;//player
    public Transform[] mapEdges;//4 edges, make sure its in rectangle.
    public Vector2 offset;//Adjust the value to match you map

    private Vector2 mapDimentions;
    private Vector2 areaDimentions;

    private void Start()
        for (int i = 0; i < mapEdges.Length; i++)
            for (int j = i + 1; j < mapEdges.Length; j++)
                if (mapEdges[j].position.x < mapEdges_.position.x || mapEdges[j].position.z < mapEdges*.position.z)*_

Transform temp = mapEdges[j];
mapEdges[j] = mapEdges*;*
mapEdges = temp;
mapDimentions = new Vector2(mapImage.sizeDelta.x, mapImage.sizeDelta.y);
areaDimentions.x = mapEdges[1].position.x - mapEdges[0].position.x;
areaDimentions.y = mapEdges[2].position.z - mapEdges[0].position.z;

private void Update()

private void SetMarketPosition()
Vector3 distance = playerReference.position - mapEdges[0].position;
Vector2 coordinates = new Vector2(distance.x / areaDimentions.x, distance.z / areaDimentions.y);
marker.anchoredPosition = new Vector2(coordinates.x * mapDimentions.x, coordinates.y * mapDimentions.y) + offset;
marker.rotation = Quaternion.Euler(new Vector3(0, 0, -playerReference.eulerAngles.y));