Runtime Object Placement (like Rust)

I am fairly new to Unity, but getting along pretty quickly. I am already able to make a terrain similar to that of Rust. For those of you that are not familiar with Rust, just think Minecraft but more 3D for now.

Essentially, I want to know how to allow the player to place objects such as workbenches, furniture, even whole buildings during runtime, and the object should also snap to the terrain. I am sure something like this already exists in the Asset Store, but I cannot seem to find it. I tried googling it as well but I keep finding stuff that is for easy object placement or procedural object placement. Which is not what I need.

Anybody know what I am talking about and what I need? Have a link?

  • Instantiate object, as per usual.
  • Give your object a sexy semi-transparent green shader.
  • Adjust the position according to the player’s view/cursor/however you want to make placement.
  • Create a collider that stops the object from clipping through terrain/other objects and which changes your sexy green shade to sexier red.
  • Shoot ray(s) down from the object’s corners and/or centre that detects the ground and adjusts the height accordingly.
  • Lock object position and change the shader back to normal after the user “places” it.
  • Do all the fun stuff like transferring client-side placements to the server, checking if the placements are valid, and so forth.

Should be the gist of it.

Sounds appropriately difficult for a newbie then. We will see I suppose, thanks for the help!

Check my Asset http://goo.gl/kPmcXF