# What is grid in Unity and how can I implement it?

I'm a beginner. I need to place a grid on my map in Unity and would like to access it to place a simple object on mouse click. How can I achieve this ?

I am unable to understand the grid functionality, should I have to write code for a 2D array or is there something in Unity that I can access, and what is basically the grid like something when I click my background image ?

This could be achieved in many ways. Unity has a pretty advanced positioning system as it is.

For just regular positioning look here https://docs.unity3d.com/Manual/PositioningGameObjects.html

But without prior knowledge of whether you are looking to do this in code, it's hard to give a good answer. Try asking more specific, precise questions that you feel others could benefit from that can't be found out with a little bit of research

EDIT: ADDITION This shows how to place a tower, the towers positions are checked against in an arraylist is C#. Hopefully this should give you an idea of how to start.

public GameObject tower;
public GameObject tower2;
private ArrayList towerList = new ArrayList();
void Start()
{
Vector3 towerPosition = new Vector3(1.0F, .75F, 1.0F);
foreach (GameObject towerObject in towerList)
{
if (towerObject.transform.position == towerPosition)
{
// there is already a tower in that position
return;
}
}

tower = (GameObject)Instantiate(tower, new Vector3(1.0F, .75F, 1.0F), this.transform.rotation);

// for proof of concept you we're going to try to place the tower
// in the same position as the other one
Vector3 towerPosition2 = new Vector3(1.0F, .75F, 1.0F);
foreach (GameObject towerObject in towerList)
{
if (towerObject.transform.position == towerPosition2)
{
// there is already a tower in that position
return;
}
}
tower2 = (GameObject)Instantiate(tower2, new Vector3(1.0F, .75F, 1.0F), this.transform.rotation);