VR Expansion Plugin

Are you are the latest template? a couple of weeks after the initial grasping hand merge i changed some logic related to that.

Hello!

Such a nice work! I’m sorry if is a dumb question but how can I download template into my UE project? I’m totally new to UE (and development).

dsaf

I have the same problem, anyone can help me please?

You can migrate content yes, but it would requires some specific step ordering if you wanted to use the character (specifically porting the .ini settings over first so that the gameplay tags and trace channel exist when you migrate).

See:

I’m having an issue with the right hand replication on dedicated servers. The hand transform only replicates every 5-10 seconds, or not at all. The left hand works fine. Listen servers works fine. The template map works fine too, but if I migrate the vive pawn into a blank project, the right hand replication does not work. So I’m wondering if anything needs to be set in the project settings for a new project or any other tips? I tried raising the server tick rate to 45 and 60, it didn’t help. 4.25.3, tried both the unreal src and binaries, same issue.

The motion controller you mean? Not entirely sure what you are talking about.

Regardless if its the motion controllers there is no functional difference between how a left / right hand version would work, its the same component with a different tracking source. Granted on dedicated servers you do want the replication rate to be at or below the server tick rate as its wasteful otherwise to send up to the server and the interpolation suffers some, but it wouldn’t prevent it from replicating entirely.

Hi. The default template works great, but I was curious if the alternate VR Character Controller “Simple_BaseVRCharacter_NotNetworked” is up to date? Looks like it’s using pre 4.24 input mappings possibly, and the older version of Get Gripped Actors before it had function pins. Seems like just using the default “Vive_PawnCharacter” is the way most people work with the project, but figured I’d check. Was thinking of starting off with a simpler base functionality possibly. Thanks!

Hey all,
I have been having some strange issue with the hands and held objects bouncing around while moving, its worse if there’s frame rate drops while level streaming. I have tried setting the mass of the held object way down which helps a lot, but doesn’t completely resolve the issue… I feel like I am missing something fairly simple here, hands work fine without an object held, or when an object is place on the body. any insight is appreciated.

And how can i download it and use it as fresh start off? Is the “binaries” here (VRE Binaries – VR Expansion Plugin) that I must download?

Thanks - glad you like it! Feel free to use it as you see fit as a thank you for your work. I may ask them to do an updated one with the cinderblock tug-of-war between 3 people, since that’s such a cool moment. But our office is upside down week with filming a shoot, so I can’t promise.

A few questions:

  1. Is plugin, including all the multiplayer functionality, independent from the Advanced Sessions plugin?
  2. How do you resolve discrepancies in multiplayer physics for rigid bodies? Aka, my local simulation says the box falls here, you think it’s over there. I did some preliminary work on (https://twitter.com/thegiffman/status/1098703196502065153), following Glenn Fiedler’s article (https://developer.oculus.com/blog/networked-physics-in-virtual-reality-networking-a-stack-of-cubes-with-unity-and-physx/) but it seems quite tricky.

mmm, yeah actually I thought I had taken that out of the example template already. It was never being used and was a hassle to update alongside the main one so I had dropped it in favor of basic grip tutorials instead.

The hands attach to the object when you grip it instead of directly to the controller, that way the objects can have per object grip strengths and settings irrespective of the hands constraint. You’ll want to adjust the grip settings on the objects themselves.

If you don’t want to compile the plugin off of the source directly then yes. I do suggest that people keep source copies and update from time to time as its more up to date than the binaries (which are updated with each number version of an engine version), and also gives you more flexibility in the future when wanting to pull in specific fixes.

Advanced sessions is just in the template as I made it as well, so might as well use it for the lobby portion, you don’t need it at all no.

The engine actually handles that itself depending on what mode you use, with client auth if you turn on client authority throwing the client takes ownership of the objects movements post release for a time and then transitions back to the server ( I re-use the physics replication prediction subsystem that ue4 has and inject positional updates from the client to update the server), with server auth the server always handles it post release (causing some hitching on throw based on ping). I do not attempt to group object together based on interactions and who owns the last thing to run into them, that will have many failure cases and is generally far too heavy for what most physicality is used for in VR.

In 4.26+ (ue5) chaos will be capable of a fixed rate update and has a lot of built in physics replication framework so things will be a lot better (when its stable, currently no-where near).

Hey . First, I really appreciate all the work you put into plugin.

We’re utilizing your grasping (physical) hands and they’re working great!. However, when scaling the skeletal mesh hands up using “SetWorldScale3D”, the physical animation colliders become mis-matched with the skeletal mesh.

I’ve tried these two tests on the scaled up hands to no effect:

A. Clearing and resetting the BaseBoneNames array in “SetupWeldedBoneDriver”
B. Calling “RefreshWeldedBoneDriver”

I believe I’ve narrowed the problem down to the “SetupWeldedBoneDriver” function as calling on the scaled up hands produces the mis-matched colliders.

Do you have any recommendations that would help remedy the problem I’m having?

Thanks in advance!

I just patched 4.24+ with a fix for originally scaled meshes with the welded bone driver.

I’ll also note that you will need to unsimulate your mesh, set scale, and re-simulate it in order for it to generate the correct collision in the first place if doing in BP, otherwise the engine doesn’t cleanly handle scaling simulating meshes.

In c++ you can force the body to update.

Hi,

I try to use the plugin, but i have some problems.

Im using a oculus quest.

In the example map i cant load, i launch in UE4.25 when is loading in my oculus return a message “App can be close” i can launch.

With the tutorial examples of plugin, First i implement a scene and it run perfectly(i enter with oculus and i see a floor, the sky,…) , but when i load the puglin into my scene and i check, the app try load and start but only see dark,dont load the scene.

I check the sdk and ndk and reinstall with the scpecification for 4.25 but i have the problem again.

I’m newbie and sure is a problem of knowledge, but i’m crazy with .

Thanks in advanced.

Check your adb debug log, also you will want to disable the openVR module, even though it compiles out implementations when on android its still better to not have it at all for that.

Possible bug, that exists with the templates use of the melee GS.

Cant tell if its my misusing the class or if has been noted before, but I’m not at my system currently and cant test on a fresh install.

When the melee weapon has ‘bOnlyPenetrateWithTwoHands’ is set to ‘false’, penetration acts normally as expected, stabbing works with one hand.
When two hands grip the blade, penetrate still works… However now, after the player removes their hand from the weapon, penetration no longer will work with one hand anymore.

Any run into before?

Thanks again in advanced for any help…

That shouldn’t be the case, its only used in one spot in the code and that is specifically to deny penetration if the bool is true and there is no secondary hand, the bool is checked first so it will be the only check in cases where it is false. It’s likely that you have something else going on with stiffness or collision.

Yeah I saw that in the source, its strange to me, cause i didn’t change much. Could be the collisions as u mentioned might have gotten changed a bit…

Also could the single grip stiffness be changing after gripping with a second hand? How do the primary and secondary grip stiffnesses work?. I’ll have to do some debugging

I’ll updste with any findings.

Its based on the settings in the grip script as to what the per hand values are yes, one hand uses the default settings, and two hands uses the per hand settings in the grip script depending on if the hand is front or back

Hi - Has SetSuspendRendering and SetManualCameraFade stopped working? I’m unable to fade the view during loading. Nothing happens to the camera in either case.