LATEST UPDATE : Releasing alpha version of Knuckles Support for UE4
SUN ROCK (early release alpha)
UE4 LIVELINK & INPUT SYSTEM PLUGIN FOR STEAMVR KNUCKLES
Includes a Livelink Plugin for SteamVR’s new Knuckles Streaming Hand Skeletal Data System and a hook to the new Action Binding System to UE4’s native Event System.
Please post in this thread for support and any questions.
NOTE A: If you are using a custom 4.21 Build (i.e. from Source rather than from the Launcher), use the following instructions to ensure the Binary plugins here work for your Source Built Engine (ignore if you are using the 4.21 Preview from the Epic Launcher):
Go to ‘Plugins > KnucklesLiveLink > Binaries > Win64’
Edit the ‘UE4Editor.modules’ file.
Change the BuildID to match your UE4 editor BuildID and it’ll load (find this by looking in ‘Engine > Binaries > Win64 > UE4Editor.modules’)
==============================================
ARCHIVED ORIGINAL POST FROM 08-04-2018, 11:33 PM
==============================================
So been working on some prototype EV2 Knuckles courtesy of Valve.
Here’s current progress:
To date, official engine support is in the works, so linking directly to Steam’s C++ api and feeding direct bone transform values to a custom animation blueprint.
Will post how-to vids in the Youtube channel soon. For those who have as well early access to the hardware or want to learn more how to work with the new SteamVR Input System in UE4.
Released early alpha for those with EV2s & EV3s so you can try them in 4.21 while waiting for official support. See original post for details and link to a Github repo for the demo project and binaries. ENJOY!
After using your project, my other project on 4.21 is not able to use the inputs (trigger, trackpad, grip) for the normal vive controller.
Is there something that your project will affect?
Hi roiboiboi! Thanks, really enjoy Livelink as well.
For the inputs, could be SteamVR is getting confused between two UE Editor sessions, especially if you have both of them open at the same time.
Check which bindings the Input Debugger is reporting when you’re using the wands… It should correctly use default Vive bindings.
If not, try a Steam and SteamVR restart in between sessions. Failing that, let me know and I can provide the default action files for all other controllers in the repo to ensure these are used as a fallback even if SteamVR doesn’t correctly register the session change.
There is a steam vr .manifest file that references the default actionmanifest for a program name. If it is loading from that on editor start then a custom actionmanifest will break input. The entry can be deleted from the .manifest file though to restore default legacy bindings.
SunRock now runs with the latest Preview 4 Release of 4.21, default bindings has also been added earlier - let me know if you continue to have problems @roiboiboi or if you’re continuing to have to reset the action manifest manually.
Also added instructions now on how to reset the manifest.
Hello, first thanks for this plugin ^^
I have EV3 and try to start new prototype, but when i try to make one Build (on shipping or dev)
I have one error :
Hi - As I’ve only released the binaries so far, please try putting the plugin as an Engine plugin (under Engine/Plugins where your UE4 is installed) and try another build.
I should also have another version by next week which is more suitable for builds (at the moment the plugin actively looks for/ works only with Knuckles, upcoming version does away with this requirement).
Same problem, i have try with shipping build, windows 32 or 64 bits.
With your package v2 without any change.
With the plugin added directly to the engine, same error.
I’m investigating this issue as I use a binary only build as well for personal project, could be something I neglected to post on GitHub.
Otherwise I’ll prioritize decoupling the plugin from a personal project so I can release the full source code which should allow you to include it as a normal Project Plugin.
This has just gone beta and Source Code is now up:
Pls note CVar SteamVRInput.Enabled must be set back to its default 0 value to access the reimplementation, as I’m having my controller defer to the stock Engine SteamVRController if it finds that it’s enabled.
Hey Runeberg, first off thanks for the project! It’s great to have all this working without much hassle
Could you elaborate on that last point? Everything was working perfectly before but now I’m not getting any input from either of the Knuckles controllers (though tracking is working). I played some VR games with the original Vive wands and I assume that caused the issue. I’ve tried resetting the action manifest and that didn’t fix the problem, however.
No prob! Are you referring to my last post? If you have enabled the Engine’s SteamVRInput implementation via the DefaultEngine.ini (https://twitter.com/1runeberg/status/1078413657564839936) or a custom build, this needs to be disabled (set back to the default 0 instead of 1).
Also, try resetting the steamvr.settings:
Go to “Program Files (x86)\Steam\config\steamvr.settings”
In there, will have a section called “system.generated.ue4editor.exe” (or variations of this)
Delete this section (and any ue4 variations) to restore defaults
Let me know if you continue to have problems with this!
That example in your Tweet was very helpful. Turns out the problem was with the new Steam Input Bindings. Somehow they had all gotten reset for the UE4 editor so nothing was assigned to any of the bindings. I was able to get input working again, although everything is very messed up so I’ll have to play around with it
Thanks again!
EDIT: Looks like this is not as intuitive as I thought. Could you shed any light on where the Controller Input Bindings in SteamVR gets the input names? It seems to be very confused. Adding inputs to Project Settings -> Input in the Sunrock project doesn’t work. I got the new inputs to show up once, but now they’ve disappeared again and won’t return. It currently just shows an older version of the bindings. I know that there is an issue with using Controller Input Bindings with older versions of UE4.
For those interested – I think I figured out what I did wrong. You first add the inputs into your project settings in UE4. Make sure you have a valid binding for that input, it cannot be blank. Then I had to restart SteamVR and then they showed up into the input bindings. Seems to be working now!