x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Identify what model of HMD is attached to SteamVR

Hi all!

I'm developing a game which will run into the SteamVR platform. I need to detect what model of HMD is the user using (Rift, VIVE, Windows MR device), so that I can change for example the Motion Controller models, and even their behavior depending on it. I can see that there is a method 'GEngine->XRSystem->GetSystemName()' which returns the platform I'm running on (SteamVR), but I can't see any way for obtaining the underlying HMD model or even the underlying motion controller types.

Does anyone know how I can solve this?

Thanks in advance,

Inaki.

Product Version: UE 4.19
Tags:
more ▼

asked May 30 '18 at 01:00 PM in VR

avatar image

DonOstias
31 1 2 5

avatar image BladeMaster May 30 '18 at 06:33 PM

"Get HMDDevice Name" node should do it.

avatar image DonOstias May 30 '18 at 07:10 PM

Hi BladeMaster!

Thanks for the response. I thought the same thing, but unfortunately after observing unexpected behavior, I searched for the implementation of that node and I saw the following:

alt text

So internally it ends up returning the 'VR system name' which, when using steamVR plugin, always returns the "SteamVR" string regardless the HMD you are using.

Any other ideas?

avatar image BladeMaster Jun 05 '18 at 02:37 PM

It should return the HMD name even if you are using SteamVR. I published a VR game on Steam which had different settings for Vive and Rift. I was using switch on the Node output and it was working without any issues.

avatar image JonathanLambert Jun 08 '18 at 07:16 PM

I also get "SteamVR" regardless of the HMD type from IXRSystemIdentifier::GetSytemName();

avatar image Vjsou-Pro Oct 24 '18 at 09:37 AM

Hi, Did you ever find a solution ? Thx.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

The Get HMD Device Name node will return the name of the VR system currently used. If you've enabled both Steam VR and Oculus plugins in your build, the engine will use the Oculus plugin if it detects an Oculus and Steam VR if it detects Vive. So in that case it will properly differentiate between Oculus and Vive. However, if the Oculus plugin is not enabled it will always return Steam VR.

There is a VR Expansion plugin available that has a function that returns the HMD manufacturer regardless of which plugin is running. If I'm not mistaken, it can also return strings for manufacturer and model if you want to have different settings for Vive and Vive pro for example.

more ▼

answered Feb 06 '19 at 01:57 AM

avatar image

Hejden
141 6 12 22

avatar image joey.pla May 30 '19 at 03:55 PM

This should be the correct answer.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I found a work around that's adequate for my situation, maybe it'll help someone else. It's not ideal, but the IHeadMountedDisplay::MonitorInfo struct has a property for the MonitorName and you can switch or parse that name to determine which device you're running. I tried it on a few Vives, a Vive Pro, and a Samsung Odyssey. I get a name starting with "LHR-" for the Vives and "WindowsHolographic" for the Samsung.

 IHeadMountedDisplay::MonitorInfo YourMonitorInfo;
 GEngine->XRSystem->GetHMDDevice()->GetHMDMonitorInfo(YourMonitorInfo);

 
more ▼

answered Jun 08 '18 at 09:32 PM

avatar image

JonathanLambert
56 4 7 13

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question