@YuriNK I am in the same boat. Is the pogo input broken using your patch with the latest stable SteamVR right now? I assume 4.21 is set to fix this and give us events for those pins?
Hi,
@halfsane
I can’t test 4.21 now. You can download it and check in an empty project.
>Is the pogo input broken using your patch with the latest stable SteamVR right now?
Yes.
Hey Yuri,
I’m still a beginner at C++ but I’ve decided I’m going try and solve for this issue myself on top of your patch because I care enough about it making it into 4.21,and realize they might not get around to testing it due to the 4 lighthouses setup being uncommon. I think this issue should just be a simple order of serialization thing since it is only crashing when the 3rd and 4th lighthouses are turned on before the trackers. Of course to even have more than 5 devices working without crash I am starting with your patch so I’ll need to make the edits on top of the patch. I’m not sure where to start with modifying a plugin since I’ve really only worked within the project classes so far with C++. If you have any high level, overview steps for me getting started with plugin dev, making edits on top of your patch, or any tips on things to try to narrow down the issue it’d be a huge help.
Hey YuriNK,
Hey everyuone,
Thanks for the patch and all the information. Very usefull and very interesting.
There is something I just dont understand, as long as I have a single tracker set as a valid tracked device (controller), I get the steam generic trigger to work.
As soon as I add multiple trackers I dont understand how to get various steam generic trigger to fire independently.
My goal is to have both vive controller triggers and a vive tracker pogo pins to work at the same time.
Am I missing something?
Hi,
In 4.20 input from trackers didn’t work because UE4 didn’t support current version of OpenVR (1.0.15, released in May 2018, updated to 1.0.16 in September and to 1.0.17 in October). In 1.0.15 a whole input system was reworked, and, since that time, motion controllers in UE4 worked via legacy functions.
Since 4.21, UE4 supports OpenVR 1.0.16. But my patch - doesn’t! So you can’t just take my patch and fix it a but. You need to take the lastest version of SteamVRController.cpp file (in Program Files\Epic Games\UE_4.21\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVRController\Private) and edit it to implement input from trackers. Moreover, at first, you need to make sure that input from trackers is mapped in UE4 actions manifest (see OpenVR wiki: Action manifest · ValveSoftware/openvr Wiki · GitHub). Good luck!
I’ll take a look at this problem in a future, but not in the next few weeks.
Thanks for the reply. Well that bit about editing SteamVRController.cpp to impliment input from trackers might be a little too much for my beginner c++ level. If you’ll be taking a look at that in a few weeks, i may just wait until you’ve done that, and then jump in to try solve the four way lighthouse crash.
So I have this additional problem with trackers. I’m using your patch, and it’s working on one machine, but on another machine, whenever I enable the third tracker it steals input from the left controller. I have all trackers properly set to ‘Disable Input’ under manage trackers. controller profiles for the controllers are set correctly for the application for steam input binding. Can’t for the life of me sort out why it’s working on one machine and not the other. I tried completely removing steam, steamvr, and all vive setup, including removing all of the windows 10 appdata hidden files. reinstalled everything. can’t think of anything else to try. Just wondering if anyone else has seen this one.
Well this is really getting to be too much… The issue turns out to be that my vive wireless kit adds an “Unknown tracked Device” which then causes manage trackers setting of ‘Disabled’ for all the trackers (which you need to do in order for them to not consume input by default) to no longer work. So basically anyone with a wireless kit wanting to use 3 or more trackers will hit this issue.
I put in a help request on steam, and added a thread for the community there:
Hi all,
Not sure if it is the right place to ask this but is there a trick to use the power button of the vive tracker in game ? I can modify its behaviour in steam but I can’t receive any input in UE.
Hi!
My name is Andrey.
Unreal engine 4.18.3
SteamVR
5 HTC truckers + hmd + 2 controllers.
I have a problem: the controller triggers spontaneously shut down. when debugging I get, sometimes, that there are more than two controllers attached (however there are only two controllers). who worked with openVR, gettrackeddeviceclass (id)?
thank you for any help.
So I did a build with 4.21.1, updated the keys to SteamVRController, GeneralApplication, GeneralApplicationMessageHandler.h, and InputCoreTypes.
I have the inputs showing up in the editor list of available inputs. However none of my SteamVR inputs work in the engine (trackers or the MotionController (L)/(R))
I feel like there is something I’m missing that I need to update, like the action manfiest, but I don’t see where to do that.
Has anyone had success updating the patch? I haven’t been able to get inputs to work with 4.20 or 4.21 .I really need this for a project I would like to release early next year. If I reverted back to using 4.19 would the inputs work? or is it the case that I would need to have to somehow install an older version of SteamVR that is compatible with the engine/patch?
Hi,
4.21 doesn’t crash with mulitple Vive Trackers, so I don’t update the patch. The whole input system was changed in 4.21, so you can’t just update this patch from 4.20. You need to take new version of the StemVRController.cpp file and add initialization of Steam_Generic events. And then enable SteamVR Input system in ini file of your project and setup input manifest file.
You can insteall old SteamVR version (Steam -> Tools -> SteamVR properties -> Betas tab, select special version from june or july), but, if you create consumer product, you coudn’t require from all customers to install old SteamVR.
I’ve been trying to find this input manifest file everyone talks about but I cannot. I have been guessing it’s an Unreal file but I cannot find anything outside of the Engine.Manifest file. I’ve gone through defined all of the keys for the vive trackers, assigned those key’s to the individual vive trackers, then added the key details to EKeys.
The inputs are shown, however I cannot actually get inputs in unreal from the bindings I’ve setup. I have read about an input manifest, however I cannot find such a file anywhere in the Unreal Engine source. What am I missing?
It’s more complicated.
First, you need to enable SteamVR Input system in the project’s DefaultEngine.ini config file. (add the line: vr.SteamVR.EnableVRInput 1)
The app will automatically create actions manifest and empty input binding file (should be initialized via SteamVR settings menu) in “Config” folders.
Read this for more info: Action manifest · ValveSoftware/openvr Wiki · GitHub
Note that, unfortunately, this actions/bindings map is applied to all applications using UE4.
How to disable SteamVR input:
- Go to “Program Files (x86)\Steam\config\steamvr.settings”
- Find a section called “system.generated.ue4editor.exe”
- Delete this section to restore defaults
Weird issue.
I’m on 4.19 and I applied the patch long ago, everything worked perfectly.
Today I was testing the project using the full trackers setup ( 5 Trackers + HMD ), but the project, as soon as it’s loaded, crashes, and that is the same behaviour that I noticed before Yuri created the patch…but 4.19 is already patched.
Is it caused by SteamVR 1.1.4 maybe?
[USER=“2200”]Enter Reality[/USER]
I can’t test it now. Are you sure you didn’t update the engine? For exmple, from 4.19.1 to 4.19.2?
Totally sure, I’m on 4.19.2 on this project since months, and I was able to solve the issue thanks to your patch a while ago, so now that isn’t working I’m quite ******, because I think that SteamVR broke something somewhere ( again )
Edit: I replaced the Patch again, and now it works…I have no idea why it suddenly didn’t work anymore, but now everything works as expected
@YuriNK Could you refresh download links on 1st page ? All Google Drive links are actually dead
Thanks!
All new versions the eng engine don’t need this patch. If you use UE4 older then 4.20, you could use Valve SteamVR plugin instead (availabe on Marketplace for free)