Get World Position of Screen Coordinate Using Depth Buffer

Using the depth buffer, how do I compute the world position of a screen coordinate (UV) in a fragment shader?

You don’t need to do anything with the depth buffer to get world space position of a vertex - you can use the _Object2World macro:

output.position_in_world_space = 
           mul(_Object2World, input.vertex);