VR Expansion Plugin

Nevermind, got it working by installing Windows SDK 8.1…
Had no idea it was needed besides VS

Im actually getting exact same error, except I have Windows SDK 8.1 installed.

Those errors are if you are building the 4.16 version in 4.15, Epic changed how the module rules files worked in 4.16.

Morderntral, I wanted to ask one more thing. There is some things in template that is not rendered correctly for both eyes looking like something wired.

And one is maybe harder to notice but near table with examples there is small cube-like wired thing which is rendered just for one eye and seems to be pretty random at it’s position.

Is there any way to fix or remove that?

Hi Dazvolt, it seems you are using the 4.16 preview. That is a glitch we had in a preview a few versions back as well. I trust it will be fixed again before 4.16 is released.

Best,

Yes it is. Thanks for the info!

Pushed new commit to the plugin (Account was locked from login for 3 days >.<)


Moved more of the FSavedMove logic into the base FSavedMove of BaseVRCharacterMovementComponent

Corrected an issue where step up functions were not correctly re-winding failed stepup attempts
causing stuttering and jitter on step up attempts in multiplayer and solo at times.

Now using a more correct movement rewind for when the server sends location corrections to the clients
in VR.

Now rounding climbing movement to 2 decimal precision in multiplayer so that it matches
the resolution that is sent to the server.

Now using a custom quantized FTransform for the grip transforms over network.
 transform is only 2 decimal precision so in the blueprint when checking for
the slot grip location I am now only checking up to 2 decimals of precision for a match

I would like to start doing the interaction settings as a quantized value as well but it was clearing
stored values in the editor and I didn't want to ruin peoples currently working setups.

I can’t build a project. Using 4.15 and have everything set up but it building always ends up hanging when creating the library for OpenVR? Anyone come across or have any ideas of what is going on

Hanging? Or throwing errors? If it is just hanging and you are building in Development Editor mode then you’ll have to wait. The UBT system takes a long time when doing the linking for the first build.

Hi again, sorry for the delay, but up buisiness I haven’t much time like I want to deal with the Unreal…

That has sense, attach the desired hand mesh to the hitted component point and in release time reattach to the motion controller…

Yep, rotate a “interactive” actor, like any kind of wheel, I’ve tried but the first gripped controller deattach it at second grip time, although *Can Have Double Grip *be activated. I tryed also to add both sockets like the Gun example. I suppose I’m leaving any parameter, really you have a complex system, looks like for many cases… but is not so easy to control deeply at the beginning :confused:

Hi everyone!

I am an Art teacher in Ct and we are doing a large class project designing a game in VR. I would LOVE to incorporate your plugin and it looks amazing. However, I am having a pretty difficult time figuring out how to get the plugin to work? I am new to game design as of year and would greatly appreciate any more detailed explanation of how to get plug in up and running?

I have downloaded the plugin.
I have created a plugins folder in my project
I have installed visual studio
I have opened a c++ class in a new project and selected “build”
At point I am unsure of how it all begins to come together?

I cant seem to get the example working and was hoping that would answer a lot of issues for me?

How do I set up the program inputs for the vive controller to work with these plugins?
I looked through your videos but they are all demo’s. Maybe i missed something?

Anyway Im sure you are busy but if you have time to clarify some of I would be forever in your debt! Thanks.
Earl

After build (of development with editor) you can run the editor from the .uproject file like normal. Or just press F5 with visual studio up and run it from there.

You can copy the compiled plugin folder to new installations as well.

Once in editor, the VRCharacter actor handles most of the logic.

I am not very good at tutorials, there is one guy making a visual image guide to getting started though and I intend to post that on the wiki when completed (much appreciated work from him).

I would like to mention though that I do large plugin changes between versions so that a version is mostly stable across its engine number, right now with 4.16 I am cleaning up the blueprints significantly and making some core changes to the plugin. The upcoming 4.16 version would be the easiest and quickest way to learn your way around it and how it works from the template.

Ok, was able to spend some more time thanks to students having a half day. The plugin seems to be set up right. I can find it set to enabled under the plugins section of the menu. I tried creating a VRCharacter actor and seemed to be successful up to point! I will keep working on . So I guess you can disregard my last post for the time being but im sure i will have some more questions if thats ok? Thanks again for all of your work.

earl

Ok, so I started doing a bunch of over hauls of the blueprints now that the Gameplay Tags are officially supported / stable as of 4.15, It makes a lot of the use of the plugin cleaner on the “game” side of things.

I also wanted to cut out some of the spaghetti and condense some things down into more functions as well as open up more features on the template side of things. Most of the template blueprints were made
before I officially supported the grip interface and needed some re-working.

4.16 is going to be a major patch for the plugin both for stability and usage.

Gameplay tags being part of the grippable components by default allows end users to do a lot more without my direct support of it.

As a preview these are some of the Gameplay Tags that I am using in the unstable branch of the plugin as use case examples:


Then when checking for drop off of a button for instance I check for the tag


Also for the gun itself on grip it now sets a gameplay tag if the grip is not at the handle slot, so that dropping the grip is done off of trigger release instead of grip.
Secondary grips are also set up in the template to be release configurable by gameplay tags.

Also I am in the process of a pretty major overhaul of the local grips, renaming them to Client_Authoritive and having them send to the server and replicate back to all OTHER clients, not the owning client.
way you can keep the instant non server authoritative grips and secondary grips of the Local grip, but not have to manually replicate them like before.

It still needs a little work but the basics are functional.

How to install plugin?? Please help…

Hi, I am new to unreal and don’t know how to install plugin. Any tips will be really helpful. Thanks

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