How do I make the cursor into a cross-hair in 3D?

Hello, I am working on making a 3D top-down shooter and I want the mouse to look like a cross-hair. I have a few 3D models from POLYGON Series Polygon Prototype Pack but I am unsure how to use them as the mouse. I am working in Unity 2019.3.0a2.

There are several methods how to render something under the mouse position. You can use builtin functions of camera to transform mouse position to world position, depends on whether you want to render your 3D cursor like 2D GUI, or in 3D space where your mouse ray hits a collider. The simplest would be to use `worldPos = camera.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, camera.nearClipPlane)); or something similar. BUT

I recommend you to stick to hardware cursor, simply because of its responsiveness. Hardware cursor is rendered by a separate GPU circuit, independent of your game rendering framerate. That means that no matter what your FPS is, the cursor will always respond to the mouse movement. Software cursor (the one rendered as a part of your game) can feel very sluggish and it’s a real pain for the player. Ever played a game where the cursor seems to be lagging behind your mouse movement? You don’t want that.
To set a hardware cursor, use Cursor.SetCursor(image).
The limitation is that the hardware cursor is always a 32x32 pixel bitmap. Not great, but for the sake of user experience I highly recommend that.