ValveSoftware / steamvr_unreal_plugin

SteamVR Input Unreal Plugin - Documentation at: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki Sample project (UE4.15-4.23): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin.zip Sample Project (UE.424+): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z
Other
167 stars 29 forks source link

trying to find out why toolbar won't show up in 4.25 #154

Closed 1runeberg closed 4 years ago

1runeberg commented 4 years ago

Looks like we have similar issues. I'm in the middle of trying to find out why my toolbar won't show up in 4.25 we previously had this working in 4.23 but since the merge happening with SteamVR plugin, we can't seem to work our way through the random bugs that show up on various machines. Unfortunately we have not found a solve yet. Was hoping there's still some open conversation in this thread...

Changing the priorities for the HMDPluginPriority within the DefaultEngine.ini for the project resolve the issue of SteamVR being able to recognize UE4 for the controller bindings.

As mentioned above in this thread, there are no errors within the steamVR console that i can see. I do have the Null driver enabled and that seems to be loaded fine within the console. Unreal has generated the bindings, but i can't see the steamVR input tool within the UE4 editor. Any idea where i can look to find out what's causing this not to show up?

_Originally posted by @cwarns in https://github.com/ValveSoftware/steamvr_unreal_plugin/issues/112#issuecomment-652693784_

1runeberg commented 4 years ago

Hi @cwarns - in 4.25, the toolbar icon needs to be manually enabled. Go to Project Settings > Plugins > SteamVR to enable it there.

If you still cant see it, have a look at your logs and check LogHMD entries and see which plugin/vr platform is actually enabled.

cwarns commented 4 years ago

Hey @1runeberg - LogHMD: SteamVR initialized. In 4.25 i have the plugin enabled, the one thing i find interesting is that every other plugin that has their bool value set to "true" shows up in the .uproject under "Plugins" but SteamVR does not. I had to manually add it in and set the HMDPluginPriority for SteamVR to be above the rest before it generated the action manifest for steamVR.

"Name": "SteamVR",
"Enabled": true,
"SupportedTargetPlatforms": [
    "Win32",
    "Win64",
    "Linux",
    "Mac"
]

Maybe there's something i'm missing? If i take a look at the SteamVR.uplugin it shows that it should be enabled by default anyway. SteamVR.uplugin | "EnabledByDefault": true

I was able to access my bindings for the project earlier today, but now it's showing an error in the console that it can't locate the action manifest... odd. every time i get one thing working, another breaks... I've been down for a week now trying to get a simple virtual camera setup in UE4 but I'm not sure why this is proving to be so unstable right now.

With SteamVR open, i launch ue4 and one of the first errors that pop up is: vrwebhelper_controllerbinding Thu Jul 02 2020 17:50:51.917 - CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.ue4editor.exe&version=1.13.8 -> 404 (Not Found) vrwebhelper_systemui Thu Jul 02 2020 17:50:53.913 - CEF Local Resource Load Error: http://localhost:27062/dashboard/css/images/appimage_default.png -> 404 (Not Found) vrwebhelper_controllerbinding Thu Jul 02 2020 17:51:00.074 - CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=application.generated.ue.vive_test005-13594126.ue4editor.exe&version=1.13.8 -> 404 (Not Found)

Not sure what is now causing the new controller binding error since i just had this part working earlier today. Been down on this all week.

cwarns commented 4 years ago

Not sure if the toolbar is causing this issue in some way. but, the action manifest is being generated SteamVR is enabled SteamVR console finds the generated manifest, assigns ID and shows no error. Tracker has it's role set to Vive Tracker On Camera binding for the editor is set to special1 UE4 has axis/action mappings (currently left to the default option, just added 1 mapping for each and left them as is) Pawn is setup with a default scene root, with a motion controller set underneath, motion controller set to special1 and display device model is enabled.

I can't get the tracker to move inside of UE4... Not sure what i'm missing but it sounds like this should be working... I can print out the 6dofs within a console and get the data from OpenVR. so everything else seems to be working.

1runeberg commented 4 years ago

Hi @cwarns - I think we maybe mixing a couple of issues here.

(1) Can you check if you can see the SteamVR Dashboard (when UE is up): image

image

(2) Can you try deleting any of your ue project folders appearing in %AppData%\Local?

(3) Does the issue happen with Controllers or is it limited to Trackers?

(4) Does our test project (compatible with 4.25), also having issues: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z

cwarns commented 4 years ago

Hey @1runeberg sorry for the late reply, vacation days :P

I've done the steps that you have suggested. No such luck. Fortunately, I was able to get the data into Unreal engine coming from the Vive Tracker so that part doesn't seem to be an issue.

I've opened up the "SteamVRInputPlugin_UEIntegrated.7z" to see if i can work within that, and the tool bar shows up.

But in 4.25 I have almost everything working again, but can't seem to find out why the toolbar is not wanting to show up. Since i manually had to place the plugin within the .uproject before anything worked, can you think of another location that might not have the "SteamVR" plugin injected into that file?

Thank you for your time, -c

1runeberg commented 4 years ago

Hey @1runeberg sorry for the late reply, vacation days :P

I've done the steps that you have suggested. No such luck. Fortunately, I was able to get the data into Unreal engine coming from the Vive Tracker so that part doesn't seem to be an issue.

I've opened up the "SteamVRInputPlugin_UEIntegrated.7z" to see if i can work within that, and the tool bar shows up.

But in 4.25 I have almost everything working again, but can't seem to find out why the toolbar is not wanting to show up. Since i manually had to place the plugin within the .uproject before anything worked, can you think of another location that might not have the "SteamVR" plugin injected into that file?

Thank you for your time, -c

There shouldnt be a need to add it in manually in the uproject file as its integrated in the engine and its one of hte plugins that's automatically turned on by default. the engine will add an entry only when you decide to disable it - adding a setting of "false" in the uproject file, this is the same for the Oculus plugin.

For the toolbar, can you confirm that the "Show SteamVR Input Toolbar Button" is enabled in the project settings for 4.25?

image

cwarns commented 4 years ago

Hey @1runeberg, that was it. had no idea that existed. SteamVR doesn't show up under project settings in 4.24.

Yeah I'm not sure why, but it wasn't generating the bindings until i placed that into the .uproject...

cwarns commented 4 years ago

@1runeberg no need to keep this open bruv, had no idea that bool value existed to toggle the toolbar visibility.

Thanks for the help on this! is there any plans to further develop the setup for the vive trackers? it seems like there's a bit of tribal knowledge around the internet that's a bit hard to find.

it also looks like the bindings need to be set every time UE4 is started, is there an option somewhere to set defaults if the appropriate objects are found instead of setting it manually each time?

1runeberg commented 4 years ago

Hi @cwarns - sorry missed this. thanks for the confirmation. will close the issue. the tickbox to enable the toolbar icon was introduced by Epic from v4.25. All the functionality should still be enabled, just slightly more difficult to determine if SteamVR is the active plugin if you have an Oculus or WMR headset plugged in.

However, if you press Preview in VR in 4.25, on the toolbar title, it will now say which VR Platform is running (e.g. SteamVR, Oculus).

As for the Vive trackers, there's a Pull Request for 4.26 that should help make it easier via additional MotionSources that corresponds to a Tracker Role and ensures the action manifest is regenerated properly with the bindings. The Marketplace version and UE4.24 as well as 4.25, you shouldn't need to re-bind, but you need to ensure the Action Manifest doesn't get stomped on by the Editor (e.g. making it read-only) or heeding the pop-up warning when you try to change bindings from the UE Input mappings.

You can test the latest Marketplace version (4.23) here with the new motion sources or if you need to have a look at the json/binding files it generates for the trackers: https://github.com/ValveSoftware/steamvr_unreal_plugin

If you continue to have issues with the trackers, please open a new issue so we can track it separately from this one.