Jump to content

User guide for Focus 3 Unity Development?


Recommended Posts

Is there a guide for building VR for the Focus 3?  I have spent the last few years making PC VR with VIV, Pro, Eye and Valve Index headsets but I find all I get with the focus 3 is errors.

I have tried to follow https://insights.virti.com/how-to-setup-a-vive-focus-project-in-unity/  as its the best documentation I can find but even it fails.



Running Unity 2019.4.26 as I have an old PC Open VR Steam VR build I am trying to move over to the wireless headset.  I get errors as soon as I try to add any Vive tools like:

  • Assets\HTC.UnityPlugin\ViveInputUtility\Scripts\VIUSyntheticDevice.cs(24,16): error CS0246: The type or namespace name 'PoseState' could not be found (are you missing a using directive or an assembly reference?)

I also tried making a fresh 2019.4.26 build with no steam VR and started with Open XR.

  • XR Plugin Management 4.0.7
  • Vive Input Utility  1.14.1
  • Vive Wave SDK 3.2.0
  • Android modules 

However Wave VR wont actually activate in the build platforms as I get errors about Wave VR Settings not existing.

  • Library\PackageCache\com.htc.upm.wave.xrsdk@4.3.0-r.5\Runtime\WaveXRHand.cs(23,30): error CS0103: The name 'WaveXRSettings' does not exist in the current context
  • Library\PackageCache\com.htc.upm.wave.xrsdk@4.3.0-r.5\Runtime\WaveXRSettingsHelper.cs(16,13): error CS0246: The type or namespace name 'WaveXRSettings' could not be found (are you missing a using directive or an assembly reference?)
  • GUID [9216d372fe0de4086af31dce05526406] for asset 'Packages/com.htc.upm.wave.xrsdk/Editor/WaveXRBuildProcessor.cs' conflicts with:
      'Assets/Samples/XR Plugin Management/4.0.7/Example XR Management implementation/Editor/SampleBuildProcessor.cs' (current owner)
    We can't assign a new GUID because the asset is in an immutable folder. The asset will be ignored.

  • and 19 other similar errors.

I also tried using Vive Business Streaming and while the headset says its connected and has a good signal showing on the VBS, I can not get any software to run on the Focus 3 testing my own apps and multiple steam apps.

Is there any official documentation on developing for this headset?  @Alex_HTC @Dario @chengnay


Link to comment
Share on other sites

The Wave documentation and SDK is what developers use for Focus 3 development. 

It's all there at http://developer.vive.com , select Develop then pick VIVE Wave SDK or go directly to:


For documentation, release notes, tutorial blog posts and more to come (videos).

Looking ahead this year in 2022 there will also be OpenXR which is already in early access, to apply: https://forms.office.com/r/CR8R32T7xD

I would recommend using either Unity's XRI or our VIU cross platform toolkit for targeting most devices with the same code base (even Oculus) on both PC and Android platforms.  You can target Wave or OpenXR using XR Management in Unity.

Please use the latest VIU 1.14.2 which fixes the build issue in 1.14.1:  https://github.com/ViveSoftware/ViveInputUtility-Unity/releases

Also please use the latest Wave SDK 4.3  (3.2 is legacy for 2018 and earlier).


Link to comment
Share on other sites

@Alex_HTC I have downloaded your VBS-Example project and am trying to run the SampleScene from the Unity editor (2019.4.34f1) but am getting a bunch of "Screen position out of view frustum" errors and the screen is all pink (in Game view of editor and in the Vive Focus 3 headset).  I think I have VBS installed and running properly (see attached image) and I am using a standing mode boundary that was setup before running the scene.  Any ideas what might be causing the problem?

Does this sample project depend on your early access OpenXR plugin and ROM update to run?  I have submitted the NDA for that but haven't received access to the private forum or the OTA OpenXR ROM update yet so my Focus 3 is not configured for your OpenXR implementation yet.

Any suggestions would be greatly appreciated!

Unity test - Error - Screen position out of view frustum - 2022-01-19 - p3.JPG

Link to comment
Share on other sites

I have a few theories and made some progress, that I'll verify later tonight. I have an idea what sort of bit-rot is at work, and have the camera position coming through but not yet rendering anything other than the skybox, but both the headset and controller postions are updated in-editor.

In the meantime, what version of the focus 3 ROM are you on, as I suspect I may need to change the sample for some versions.

Link to comment
Share on other sites

Here are the details about the system software currently on my Focus 3:

System Version:    3.0.999.302
Kernal Version:    4.19.81-perf-dirty
Build Number:    QKQ1.210528.001 release-keys
Wave SDK Version:    4.2.1-u03

It says there is a system update to version 3.0.999.316 but it gets stuck at 0% when I try to do it from the headset or the Vive Manager app so I haven't been able to update to the absolute latest system version yet.

Link to comment
Share on other sites

  • 3 weeks later...

Reading through these links the learning path is still quite terrible. The web pages don't flow well together, selecting next at the bottom of a page doesn't take you to the next step in a development process but jumps out of tutorials strait to videos and even if you follow the tutorials and read it all the content leaves you with many questions. I have made more than a dozen applications with VR on multiple PC headsets but developing for this wireless headset is driving me nuts as every bit of knowledge loops in circles rather then showing from start to finish how I can start an app in Unity and then test/play it on the Focus 3.  I updated to Unity 2020.3.24 installed Wave XR Plugin and followed steps HERE and HERE  watched a couple hours of videos and spent even more time reading plenty of other articles.

I have an application I can run on a Vive corded PC HMDs or Index and I can build for PC but the Wave settings want me to build for Android which it fails to do. Basics are not shown in any of the content I have found, for example, what settings should I have in Unity  for Android build settings? I'm trying to follow the steps to port over a build but so far the lack of clear documentation is a major hindrance as I seem to assume I know things from my past VR experience and the tutorials seem to assume I should know other things but a solid set of steps from beginning development to end product are no where to be found.  

  • Like 3
Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...