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

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 ?

Solutions/Answers:

Answer 1:

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);
    towerList.Add(tower);

    // 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);
    towerList.Add(tower2);
}

References