VR Expansion Plugin

Follow the setup instructions, I don’t package pre-built binaries in with the template to avoid file bloat.

What exactly is causing the interaction of the laser beam from the hands to interact with widget buttons?
Ive gone through the 3d keyboard and menu actors and widgets but cant find how to get it working on my own widgets

I have migrated the steering wheel(just the wheel, nothing else) to my UE4 file and I’m wondering how to make my motion controllers interact with it? What in the plugins example file I’d have to migrate over to my file in order to accomplish that? I can’t figure it out…Anyone? In my scene the player is just supposed to use the wheel to move the car right/left only to dodge obstacles…no forward/back movement…
Thank you!

Hi,

I’ve been trying to add vive trackers to the project, the only problem is that it spawns them far away from me. I based my pawn on the VRSimple Character and if I modify the inherited LeftMotionController to Special_1 (so it reads the tracker) it spawns where it should be, if I add another MotionController component or GripMotionControllerComponent and set it to Special_1/left/right/etc. it spawns it far away from me. The root component of all my Motion Controller Components is VRSceneComponent(the same with the inherited Left Right controllers).

In photo I have the inherited RightMotionController set to Special 1 and my added MotionController set to Right hand : Screenshot by Lightshot

The simple character requires bOffsetByHMD to be true on new controller instances (in the defaults), its one of the drawbacks of the simple character, since it is being moved by the HMD motion the other tracked devices have to be offset by the HMDs location to be correct.

The wheel (its actually a lever) is dependent on my gripping system, it is not a generically grippable component.

Its in the BPTeleportController, I call PressKey for Mouse Left on trigger input and Release Key for MouseLeft on trigger release if the widget interactor is hovering over a widget. You shouldn’t have to do anything special in any new widgets.

I have added a lever component to my project willing to make it work like your steering wheel, however I’m not too sure how to make it interactable with my hands/motion controllers. Is there any part of the ‘examples project’ I could migrate to my file in order to make it work please?

Use a GripMotionController and call “GripObjectByInterface” passing in the lever.

I’m sorry for the super noob question but I’m calling the ‘grip object by interface’ from the motion controller grip 1 and I’m wondering how to stop the lever grip on the ‘release’ state of the controller(?) Thank you very much.

DropGrip or DropGripByInterface

Haven’t the 4.21 version been released? I only see the GunTools WIP and 4.21 Beta. Are they “safe” to use? Thanks.

Hey - What is the 4.21 gun tools?

Master / Main are the 4.21 branches in either repository. I make the master branch the current engine version the moment the it comes out of preview.

I am finishing up a utility grip script that handles recoil, virtual shoulder stocks, custom pivot points, additional front hand lerping settings and a few other things that are pretty exclusive to guns.

Got it thanks for the clarification :slight_smile:

Patch notes for recent work as I take the GunTools live. Video below going over the gun tools grip script as well.

Note that the gun not lerping out of secondary grip in the video wasn’t a nativization bug, I had to fix it in the gun tools grip script before taking it live.



**Many of these changes go for 4.20 and 4.19 versions as well (except for the new gun tools, it is 4.21 only)**

Finalized beta version of GunTools Grip Script, supports pivot offsets, recoil instances, virtual mount settings, extended smoothing.

Moved smoothing settings out of default grips and into the gun tools grip script.
 will lower default grip overhead and also let me specifically fine tune
the smoothing for gunplay.

Added "WantsDenyLateUpdates" to grip scripts allowing grip scripts to deny late updates when they don't want them.

Opened up Grip Scripts to be editable per instance again instead of just in defaults.

Added remote grip pivot setting to the motion controllers, allows easier remote gripping and custom operations / mobile VR ease of use.

Fixed it so that attachment grips will now have full use of the late update settings
and features. Also moved the interface late update deny checking to the end of the logic checks
to save some perf on grips that will be denied anyway.

Also fixed it to support Custom pivot component for attachment grips

Move setting collision on to post moving capsule in seated mode
Also use teleport for movement from seated position. Fixes some collision issues exiting a physics vehicle.


Made bDenyGripping defaults visible for all interactibles.
Also made BreakDistance be ignored if value is 0.0f on all interactibles (to match
general grip settings).

Added new DeltaTeleportation, a new teleport type added to help alieviate teleporting with physics simulating skeletal bodies in hand.

Am now filling in the Component Velocity member of the GripMotionControllers.

Added OnStartedTracking and OnEndedTracking events to the motion controllers.

Added prelim OnBeginInteraction and OnEndInteraction events to the button component.
Also added the Interacting Component to the button events as it is useful in itself.

Removed IgnoreActorWhenMoving from grip inits, it was causing overlap spam as the primitive bodies
were not correctly clearing overlap passes.

Pushed a new update to both repo’s, fairly important for multiplayer users.


 
 4.21 "fixed" the bReplicateMovement issue for actors, had to comment out my old fix to play nicely with the new code  

Also some minor changes to the OpenVR Skeletal API (Knuckles) package for those using it.

Compiling new pre-packaged binaries that I will upload in a bit (OP Post will have the new date entry).

Had to fix a minor bug and also bring that replicate movement change to the pre-packaged.

Pushed a fix for seated mode to the repositories today.

I am going to start putting more of the minor updates in here since these long delays between larger change logs leave the users that are only in the forums out of the loop. I realize that a lot of my users are in the discord but I should really keep the ones that aren’t up to date as well.



 Fixed some seated mode issues  

 Am now forcing attachment on the simulated client side as well just in case.  

 Also I am clearing some movement prediction data so that the server doesn't  
 wait for a few seconds for a valid timestamp move in an old out of date range.  

 Also I am network rounding the stored location for seated mode and the stored  
 yaw for seated mode.  prevents an initial movement correction on leaving the  
 seat in some situations.


The timestamp change fixed a second or two delay on exiting where the server would wait for the wrong
time stamp from the client and then would give up and position correct them back. Now the client should be
able to leave and run away from the seat with no issues.