It can be tricky getting Unity and the Rift to work together the first time. Below are the steps that worked for me.
Step 1. Downloads you’ll need:
- Download / Upgrade to Unity 4.5. (I have 4.5.2f1)
Oculus Unity SDK documentation: 1.1 Requirements
You must have Unity Pro 4.5 or later installed on your system to build the Unity demo.
- Download the Oculus Runtime
- Download the Oculus Unity SDK
Much of these instructions can be found within the Oculus Unity Integration Guide (part of the Oculus Unity SDK download).
Step 2. Install and Configure the Oculus Runtime:
After installation, it will ask you to reboot (presumably this is for the new Direct HMD driver). Do that.
Then run it START – Oculus Runtime – OculusConfigTool
Note: If a firmware update is available you should install that now.
Note 2: If you want to set your height in a profile you can do that now also.
To work within the Unity Editor you have to use Extended Desktop (not Direct HMD Access):
Tools – Rift Display Mode…
Click Apply to save that.
Step 3: Check the Rift resolution is correct:
Now your Rift will appear as a normal monitor to Windows. For me, that also meant the Windows guessed the incorrect resolution.
So open Screen Resolution, and set it to 1280×800 (DK1) or 1920×1080 (DK2):
Step 4: DK2 Low Persistence needs 75Hz Refresh Rate
Low persistence reduces pixel ‘smear’ and motion blur.
If you have a DK2, when running in extended desktop mode there is a good chance the refresh rate has defaulted to 60Hz – it needs to be 75Hz.
A discussion about this is here and here.
- Option 1: Windows Screen Resolution control panel:
Open the Screen Resolution, right click on the Rift display, open properties. Under the Monitor tab, Set Screen Refresh rate to 75Hz.
- Option 2: NVidia Control Panel:
Right click desktop, open NVidia control panel, and under display you can select resolution and refresh rate. If 75Hz is not available you can click the customise button and enter 75Hz.
(from this post)
- Option 3: AMD Catalyst Control Center:
Right click desktop, open Catalyst Control center, and under Desktop Management tab, choose Desktop Properties. Choose your Rift Display (Desktop 2) and set the Refresh Rate to 75Hz.
Step 5: Installing the Oculus Unity SDK:
Unzip the SDK.
I recommend copying both Unity packages to your Unity Standard Packages folder, that way they will both appear in the New Project Wizard.
Copy OculusUnityIntegration.unitypackage and OculusUnityIntegrationTuscanyDemo.unitypackage to the Standard Packages folder which is in your Unity Editor folder.
Typically here: C:\Program Files (x86)\Unity\Editor\Standard Packages
Note: If you don’t see it, make sure the folder is correct, view the properties on your Unity shortcut and verify the folder path.
Step 6: Creating the Tuscany Demo:
Launch Unity, and name your project (eg: Hello Tuscany) and checkmark the Oculus Tuscany Demo package.
Step 7: Disable Direct3d 11:
You need to make sure Direct3d 11 is disabled, otherwise you will see a black screen.
Oculus Unity SDK documentation: 4.4.3 Editor Work
If you plan to run your application in the Unity editor, you must use extended mode. A black
screen will appear if you run it in direct mode.
(And discussed here)
Edit – Project Settings – Player Settings:
Make sure “Use Direct3d 11″ is unchecked:
Also make sure Time Warp is check marked in the OVRCameraController (a child of the OVRPlayerController)
Step 8: Setup a Game view on your Rift screen:
When you hit RUN you won’t see anything on your Rift, only in the main monitor within Unity.
What you need to do is move the Game view to the Rift monitor in full screen mode.
What I do is have 2 Game views, one for the main monitor and one for the Rift:
- First, I recommend reseting your view back to default to make sure you have no rogue windows hanging around:
Window – Layouts – Default
- Add a new Game View beside the current one:
Tabs Menu – Add Tab – Game
- Now full screen on Rift view can be tricky, so follow these steps:
– Make sure your Rift is powered on and looking through it you see the desktop
– Drag the Game view tab OUTSIDE of Unity, but NOT onto the Rift display
(Optionally make resize is smaller if you prefer)
– Position your mouse just to the left of the maximise button (to the left of the close button).
– Tap down (to drag), Hold your Rift to your eyes, and drag the game view onto your Rift until you see the mouse pointer.
– Release the drag, move the mouse to tap on maximise and your set
There are some other bugs in SDK 0.40 that can cause a black view:
Only use “Free Aspect” with the Game View. Setting 16×10 (DK1) or 16×9 (DK2), or a specific resolution (eg: 1280×800) will result in a black screen.
(as discussed here)
Finally, Exit Unity to double check the window position was saved for next time
Step 9: Play Tuscany:
Re-open Unity, press PLAY button and put on your Rift.
Enjoy Tuscany! And enjoy being able to see the Game view in the editor as well:
July 30, 2014 at 7:34 am
Let me know if I missed anything
July 31, 2014 at 12:44 am
A couple of us have found that the Windows theme, Aero, forces the extended monitor to be 60hz for some odd reason. So switching your theme to “classic” or something else gave us back our 75hz DK2.
August 1, 2014 at 12:06 pm
>not Direct HMD Access
Are you building turning OFF the check of “Use Direct3d 11″?
It seems that Direct HMD Access does not run in Unity Player at least if it does not build with DirectX 11.
My game is built with DX11.
This run also with Direct HMD Access.
August 2, 2014 at 4:08 am
We have the extended desktop mode working in Unity but it really stutters.
Aero disabled – done
Refresh on rate on the Rift set to 75Hz – done
Game window dragged to the RIFT – done
We have a Core i7 + GTX 780Ti + 16GB so it can handle a lot.
Is there any way to reduce the stutter we are experiencing?
August 3, 2014 at 12:39 am
Lesley.. I have almost the same rig and had lots of judder. Check out this thread over on the Oculus Forum. We go through a bunch of steps to fix it. I would try them all. I think this issue is temporary though. There is something wrong with the driver on the Oculus side and when that is fixed, I have a feeling all this will go away.