VR Expansion Plugin

You can find instructions on the bitbucket page here: https://bitbucket.org//vrexpansionplugin/overview

Hey . So if you have time for a couple of tips heres where i’m at. Successful on getting the plugin loaded and Ive created a VRCharacter so I know where the class is. As of now I just opened the VR project template from unreal and I can drop the actor into the scene but Im a little unsure of the next steps? I have tried to replicate the simple move code you have on the wiki and i cannot attach the VRRoot to VRForward Vector, (it sets it to VRBase). Do i need to change the input bindings? Is working inside of the VR Project a bad idea with the unreal presets? Anyway any advice on how to get it actually running would be greatly appreciated. However I do understand that type of work takes away from development and is the most annoying thing ever for programmers.

All i can offer is that as soon as i get up and running I promise to create a video running through how to set up for n00bs like myself. Thanks if you have the time!
-earl-

I thought you downloaded the template? The template has examples of pretty much everything already including fully fleshed out characters with controls and different locomotions inplemented.

Pushed a new commit to the plugin and template, merged unstable branch of template into master. is likely the last major change commit before 4.16 releases, need to iterate over finding any bugs before release.

Template changes (4.16)


Moved gameplay tags into a data table

Made gun example a Client_Authoritive grip

Fixed some gameplay tag nodes in the character, added a fallback secondary release
with trigger release if an object doesn't have any secondary drop tags.

Changed the RIP motion to have "with hands" and "without hands" influence.
Also fixed the low end velocity, should have only been the head.

Modified all template objects to use the gameplay tags for drop buttons and secondary grip
drop buttons.

Modified the blueprints in the vr character to support the gameplay tags and cleaned them
up in general.

Added DefaultGameplayTags.ini to repository,  contains the generic default tags currently
in use in the template project.

Cleaned up most of the character blueprints

Now using the FTransform_NetQuantize in character RPC's that send a transform

Gun grip location equality check is now checking within two decimals of precision
due to the new NetQuantize transform.

Now destroying teleport controllers when the character is destroyed.


Plugin changes (4.16)


Made auto drops plugin wide call DropObjectByInterface instead of just drop object.

Local only grips now replicated to non owning clients to take the workload off of the users.
Client still has total authority over the initial grip so it is instant. Secondary grips and drops
are also auto replicated to the server and then down to non owning clients.

Other custom changes like offsets and grip types will have to be manually handled for Client_Authority
(local) grips still.

Renamed LocalOnly_Not_Replicated movement type to ClientSide_Authoritive


Added gameplay tag interface and a gameplay tag container to each grippable component/actor, allows for extremely
flexible object management without enforcing gameplay systems. Used in the example template
for defining if an object drops with specific buttons and a few other things. Is an
optional feature, you don't have to use them if you don't want.

Now that gameplay tags are an official part of the engine they should be first class
citizens in the plugin.

Made Gameplay tags on grippable objects replicate with the bRepGripSettingsAndGameplayTags boolean


Removed the ObjectType function/variable from the VRGripInterface, close to useless when
compared to the gameplay tags, I don't know if anyone was using it anyway.


Fixed a packaging error with the make / break functions for the Transform_NetQuantize struct.

Added Blueprint make/break and conversion functions for the new FTransform_NetQuantize struct

Added some utility functions GetGrippedObjects, HasGrippedObjects

Now clamping secondary grip lerps

?? keep trying to respond hopefully you wont get three versions of response, but…

THANKS! Ive got everything up and running! students will be super excited tomorrow! is amazing stuff. If you dont mind I will have myself or the students post up a youtube vid explaining how to download/install everything? Seems people like me who should learn unreal better first but cant wait may have a hard time with a few simple things…and could use a hand holding walkthrough? Hopefully next time i have a question it will be a real one.

I will be sure to credit you whenever possible! thanks again for all your efforts!
-earl-

Yeah sure, tutorials and walkthroughs are my weak point. I’d love some community input on that end of things.

Thank you Draxus…I’ll have a look at that :slight_smile:

Small commit since I had a little free time

Template


Added out of body movement mode to characters
(watch your body walk forward and then teleport at end of it).

Changed laser beams to have an end point and be shaded red.

Changed teleport indicator to be remotely replicated.

Hello again , I’ve a question regarding reference to player pawn I think. Problem is, if I try to replicate something like https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/index.html
then it won’t work with Vive_pawn while working very good with default characters. After hours of digging I still have 0 clue why is it working like that, maybe you know something about ? Thank you.

Its because the AI controllers move to commands do not work with an offset pawn (Typical Epic setup or the VRcharacter). The MoveToExtended that I added to the VRcharacter accounts for the offset and corrects it. I would have to make a custom AI controller and override most of the navigation functions to correct it since the engine hard codes root postion as character position everywhere.

Since generally you would never actually be doing a bunch of AI navigation with a VR character via an AI graph it is not high on my priority list.

That being said the SimpleVRCharacter should work fine with it.

However, I would like to re-iterate that if someone is doing a bunch of AI with the character possessing the AI at some point and going back and forth that the SimpleCharacter would be better for it, however at the same time NEITHER would be best, using a normal character and swapping out for a VR one on possession. VR Characters have a larger amount of overhead than typical characters. It would be more work in the end to make the swapping work, but it would result in a more efficient setup overall.

Got it, thank you very much for explanation

kusogaki77 was kind enough to make some installation tutorials for the wiki so I posted them up in the OP and the wiki.

Also changed the OP to start listing features instead of the brief outdated component / actor breakdown that was there before.

The actual Template Example does not work with 4.15.2. I tried the beta 4.16 but it complaints that the modules are not working. Is there a download link for a 4.15 version of the https://bitbucket.org//vrexppluginexample ?

If not, is there a small tutorial for teleport for teleporting, showing the controllers in hand and picking up objects? I tried to find one, but just saw the wiki and function documentation. I was able to build a small level with collisisions and jump on obstacles when i pressed a trigger, but I am not able to archive the other things. If i would get some hints (with the example level) it would work.

The template requires you to compile the modules as I can’t really store the binaries in that repositories size limit. The template was moved over to 4.16 a little early time around by mistake but I left it due to how many changes were made. 4.16 is by far the easiest template version to learn off of currently.

Wiki now contains a tutorial on setting it up which would help you with the 4.16 version: Step by Step setup

You could also follow the new commit download tutorial from the wiki: downloading a specific commit

And download commit: 4.15 merged commit

If you really wanted to use 4.15.2

!
First off…awesome plugin!
So I have been using for a while on one of my projects that is from 4.13. when I try to update the project to a newer engine I get a build error.
86a35c07753ac56c65ac0b866fe4f83f0408864a.jpeg

what is the proper way to update the engine with your plugin?
Thanks in advance!

Thank you a lot, is what I needed :).

You’ll want to download a copy of the plugin for that specific engine version and then compile it (unless it has pre-built binaries available which I just started doing).

Larger version differences will likely have some revisions required to how to use the plugin however, as the plugin is constantly being updated with new features and better methods of doing things. I try to keep it as backwards compatible as possible to avoid too much growing pains for people though.

I can’t get to install for the life of me.

Hi I have a realy weird problem. I just updated my project from 4.14 to 4.15 and I now can’t move the character anymore. I’m not getting any errors in any BP’s and I can still see the code for moving forwards backwards sideways and teleport but it just doesn’t work. Checked imput settings also. Did I miss something simple in the upgrade or is there a setting I need to change in the 2.15 plugin?

Did you follow the step by step that was added to the wiki?
Step By Step Installation

4.14 to 4.15? There shouldn’t be any real changes to input or control across those two versions. The template gets upgraded across each version as well.

Try breaking at the thumbpad input and clicking step through in the blueprint editor to see where it fails for you, you may have a diconnected node.