2D coordinate grid over a 3D scene?

Fairly new to Unity, having a hard time figuring this out. I have a 3D scene where users can drag objects from a menu onto that scene. I’d like to implement a grid (either invisible or visible) where these objects would stick on to, but I’m not sure how I would go about adding a 2D grid to a 3D scene.

I was thinking about using a separate orthographic camera but only making this gird “layer” visible to it, but I’m not sure how to best tackle this. I’ve only been working with Unity for about two weeks so I’m still in noob territory.

Just constantly round the coordinates of the objects you’re dragging. That’ll snap them to a 1x1x1 grid. If you’d like to overlay a visible grid on the screen you can either use a GUI texture or a separate orthographic camera.

My first thought was to create a plane collider and place it wherever you want it to be. Then, you could cast a ray from you mouse screen position and get the point where the ray hit the collider. You would assign your object Y-axis based on that point. That way you could freely move in 2D and your object would be snapped to the grid.

To find the 2d coordinates of an object on the current camera you can use this function Camera.WorldToScreenPoint