For more info see Example 7 - 3D UI
Instructions
Import your canvas into the scene and set the render mode to "Screen Space - Camera"
Add a "Graphic Raycaster" component to your canvas if it does not have one.
In the asset browser go to "Assets->IglooToolkit->Resources->Prefabs->3D GUI"
Add "UICamera" prefab to your scene and add the camera to the canvas "Render Camera"
Add "Virtual Input Cursor" as the top child of your canvas.
Add "Virtual input Event System" to your scene.
Open the event system in the inspector. On the "Virtual Input Module" script add the cursor object to "Virtual Cursor" input, and add the "UICamera" to the "Canvas Camera" input.
If the UICamera does not have a "Target Texture", create a renderTexture and apply.
In the asset browser go to "Assets->IglooToolkit->Materials" and apply "3D_UI_Display" to the object that you want to display the UI. (If the render texture is not applied, apply it as the shader input)
Notes
The Cursor object does not get movement data from the windows cursor. You'll have to use your own method of input to translate the cursor on the canvas. In the example scene, we use the script "Player Pointer" attached to the main camera object, and the "Draw UI" script on the "6m_Screen" object to alter it's position.
It's recommended to add a new render layer for your 3D GUI, and go to the "Graphic Raycaster" on the canvas to set the "Blocking Mask" to your 3D GUI layer. Apply the layer to all the UI elements you want to be interactable.