VR Expansion Plugin

You’ve been so much help I hate to bother you again, but I’m stuck. I’ve run into a problem with the remote grips for multiplayer. Server side is fine, but on client the grippable actor is flickering… I’ve tried running the IK component and the pivot components in different tick groups and using the the tick prerequisite component setup as you outlined with the other methods but with no luck. Its only when using the custom pivot component. Perhaps its caused by the IK system I’m using somehow. Any help would be greatly appreciated

Not sure what you mean by flickering? Also are you being sure to set the custom pivot on every connection? I do not replicate the custom pivot automatically.

Ahh. I didn’t realize they weren’t replicated. For those who find by searching with the same problem, I just set them in the Gamemode after spawning the pawn. Do not set them in the VR Pawn itself. I don’t know if its the best way, but it works. And , about time I become a patreon subscriber. Thank you for amazing system. Cheers
Edit: Setting on event begin play wasn’t working for whatever reason on the clients. But yeah, its an easy fix!

You can set them in BeginPlay on the pawn itself if you wish.

I haven’t made my mind up about automating replication on them, while I am sure it would be useful to most to avoid the extra manual step, I think that there are people using it for some funky stuff on mobile VR where it may be detrimental to have it set on all connections automatically, and it really is a fairly minor thing to setup.

I’m am extremely new to the plugin and am wondering how I can have a skeletal player character mesh within the VR Character, as that was the main reason I installed the plugin. I have tried attaching the mesh to the “ParentRelativeAttachment” component and it works well enough, but any tips on how to keep the feet of the mesh from going through the floor? Basically, I’m asking how to keep the mesh from clipping through the floor, and another relevant question is how can I set the height of the mesh to have the head positioned relative to the HMD? Lots of questions, I know, but please help! I’m desperate to get full body characters into the game, as I have the IK arm tracking and movement down-pat.

Set boolean to true on the parent relative component (it will show up in its settings list in editor):


    // If true uses feet/bottom of the capsule as the base Z position for  component instead of the HMD/Camera Z position
    bool bUseFeetLocation;

Then use the camera for your head effector.

Pushed a commit to both repositories today with a revision for the LerpToHand grip script

Patch Notes Here: 4.22 Patch Notes – VR Expansion Plugin

Hello.
I’m building for Android in 4.22, but I get an error and it stops.
When I checked the log, I got the following error

ParallelExecutor.ExecuteActions: In file included from D:/UE4/…/AdvancedSteamSessions/Module.AdvancedSteamSessions.cpp:4:
ParallelExecutor.ExecuteActions: In file included from D:\UE4.…\AdvancedSteamWorkshopLibrary.cpp:2:
ParallelExecutor.ExecuteActions: D:/UE4/…\AdvancedSteamWorkshopLibrary.h(9,10): fatal error: ‘steam/isteamugc.h’ file not found
ParallelExecutor.ExecuteActions: #include “steam/isteamugc.h”
ParallelExecutor.ExecuteActions: ^
ParallelExecutor.ExecuteActions: 1 error generated.

Could you give me some hints about error?
Thank you.

Disable the Advanced Steam Sessions module, it reference an engine module that doesn’t build for android (its steam don’t need it anyway on android).

>

Thank you for the clear advice! I was spending the weekend for , so I’m really glad to find a clue for the solution.
I would like to try it immediately. Thank you!

Thanks so much!

Does anyone know how to set up the arm Ik? Ibhad it set up working correctly before, but when i switched to plugin and its vr character it doesn’t work. Im working on making a full body ik.

Seeing as the ArmIK is done completely in AnimBP I assure you the plugin isn’t the problem. How exactly are you trying to use the VR character to do ? I have IKs working just fine on it.

So I got it to work by feeding in the location based of the motion controller transforms into the modify bone in the Anim. However when I made my other ik bodies i didn’t have to do that so not sure why I had to add that in now.

Don’t know what you are using for the IK but it may be casting to get the transforms and failing the cast, you will always need the controller transforms as effector locations generally.

Um, okay, so I decided to add one Grippable component, that is, Grippable Procedural Mesh Component. And, after a day of trial and error (I am definitely NOT a C++ programmer) I succeeded. Also added a copy procedural mesh to grippable procedural mesh so you can slice the proc mesh then copy the other half to grippable proc mesh.

I have no idea how to add that to the repository, so if anyone wants to help me I’d be glad.

Mmmmm, is for a specific reason? Like you wanted the advanced physics options of the interface on a procedural mesh? Because generally you can grip sliced objects without the interface with the naive gripping nodes, the slicer in the template level has that.

I don’t mind adding a procedural mesh grip, it just needs some more work than other things since when it actually gets sliced the body changes and has to be re-initialized. Also it would be better to actually have a slicing function that directly creates a grippable version instead of creating a proxy and copying the mesh data over.

Just want some more information on why you needed it before merging the files from the PM you sent me or iterating over them with some improvements.

Edit Also for the record things like I am more than willing to do, though i’m sure it was helpful to do it yourself to learn how the grippables are modified.

Is there anything exposed for detecting what VR controllers the client is using? such as knuckles or vive wands.
i see the GetHMDType but not sure if thats purely headset related

You can directly poll the controller name from the SteamVRAPI, I have a node for that in the latest template that specifically checks for knuckles. Valve seems to feel that you shouldn’t need to know the name in the end and that you should check the TrackingLevel of the controller to deal with differences between them, something that is understandable in theory, but currently not good enough as we still need controller offsets to sync up gripping transforms.

I’ll likely make a controller specific steamVR node that returns the controller type eventually, kind of waiting to see what the name of the index controllers will be in the end so right now its a direct string query.

thanks, found the node in the template.
I noticed in the OpenInput plugin the Get finger curl and splay data dosnt seem to have any data in the splay array, is it still in the works?