convert unproject to take a z, and simplify mouse to vec2