VR Expansion Plugin

On possessed is only called on the server, you need to send an RPC to the client on possession and have them do it.

Thank you so much!! I tried everything but Run on Owning Client lol…

Works great! Thanks again for the help and all your work on the plugin!!

I have one other quick question if you have time…

Have you ever had the client headset have glitched shadows in just one eye? The right eye view of the client HMD has shadows that are all glitched out…any ideas of what might be causing that?

Thanks!

Capsule shadows

Compiled and tried the latest 4.14.1, and no luck :(. Strange…

I think the minimal steps to reproduce it is to create a blueprint with a variable holding a VR_Character. That seems to mess up when saving, reloading the editor, and opening that BP.

Why are you trying to make a VRCharacter a child actor? Child actors are still pretty buggy and characters are fairly complex.

I’m not making it a child actor. I have a blueprint that represents a hand, and that hand holds a reference to its owner (the character).

I can’t get to build on 3.14 for the life of me. I keep getting these errors:


Severity	Code	Description	Project	File	Line	Suppression State
Error	C2039	'setRigidDynamicFlag': is not a member of 'physx::PxRigidDynamic'	MyProject	C:\Users\sealfoss\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Private\GripMotionControllerComponent.cpp	1311	

And


Severity	Code	Description	Project	File	Line	Suppression State
Error	C2039	'__this': is not a member of 'physx::PxRigidDynamic'	MyProject	C:\Users\sealfoss\Documents\Unreal Projects\MyProject\Plugins\VRExpansionPlugin\Source\VRExpansionPlugin\Private\GripMotionControllerComponent.cpp	1311

Yeah I changed the code for 4.14, you either need to upgrade to a newer copy or look on the repository under that function, I set it to use a different method that isn’t depreciated in 4.14.

In other news, I am going to start in on the multiplayer stuff tomorrow.

I hashed out a working alternative “simple” character now that doesn’t do all of the hackish things that my default one does. It doesn’t work as fluidity as the default one and doesn’t support multiplayer quite yet but its functional (need to copy paste some replication code from my default and multiplayer would work with it). Not entirely sure that the simple char will ever support the capsule offset due to how such things work but maybe some day i’ll find a viable method for that.

I see the simple character being an emergency backup for if the default has issues ever, since I’ve touched 90% of the movement code and broken some engine standards with the default character I’ve had it on the back of my mind for awhile that I need a viable alternative just in case.

plugin is great! I’m integrating it into my project right now, and I’m finding that when I parent the Vive_PawnCharacter to an object, the Vive_PawnCharacter ignores the rotation of that object, so I slide around and always face the same direction.

Is there a way to avoid and make the Vive_PawnCharacter stay completely parented to an object to move/rotate it around?

I don’t think I understand what you mean. Upgrade to a newer copy of the plugin? I downloaded it today, and it still won’t compile. I’m going through the source file for the gripmotioncontrollercomponent, to see if there’s something I can do manually. I’m sorry, I’m pretty new to the cpp api.

Edit: nevermind, I figured it out :slight_smile:

Pawns by default have “Use Controller Rotation Yaw” enabled which will throw out the actors rotation and use the controllers rotation instead for yaw, disabling that should cause it to rotate with it, however the problem is that the player cameras don’t work with pawn rotation currently, its not really a issue with my plugin, you would have to turn off the bLockToHMD boolean (which removes the late view updates for the camera) in order to have it work like you want, and that would require manually setting the cameras location then each tick.

I assume there is going to be a fix eventually, its probably possible for me to fix in my plugin but I really shouldn’t have to.

I tried to install it to a clean 4.14 project but it says the plugin is compatible.
A dialogue saying “the VRExpPluginExample.dll was built with a different version” appears when I tried to open the template project.
When I press rebuild them it fails.
Am I the only one experiencing the problem?

In editor rebuilds don’t really work with plugins, you’ll need to use visual studio.

Thanks for your reply. Sorry for being a noob. But how do you rebuild the plugin with visual studio? What do I do after I open the visual studio from the project editor?

Go to the top menu and select build, or right click on your project name over on the right and select build. Eventually either the plugin may be provided with all binaries pre-built and won’t be required anymore, but I change things too often at the moment for that.

When I rebuilt solution in visual studio, error comes up:

Error C1083 Cannot open include file: ‘corecrt.h’: No such file or directory VRExpPluginExample H:\Program Files (x86)\Microsoft Visual Studio\VC\INCLUDE\crtdefs.h 10
Error C1083 Cannot open include file: ‘corecrt.h’: No such file or directory VRExpPluginExample H:\Program Files (x86)\Microsoft Visual Studio\VC\INCLUDE\crtdefs.h 10
Error C1083 Cannot open include file: ‘corecrt.h’: No such file or directory VRExpPluginExample H:\Program Files (x86)\Microsoft Visual Studio\VC\INCLUDE\crtdefs.h 10
Error C1083 Cannot open include file: ‘corecrt.h’: No such file or directory VRExpPluginExample H:\Program Files (x86)\Microsoft Visual Studio\VC\INCLUDE\crtdefs.h 10
Error C1083 Cannot open include file: ‘corecrt.h’: No such file or directory VRExpPluginExample H:\Program Files (x86)\Microsoft Visual Studio\VC\INCLUDE\crtdefs.h 10
Error Failed to produce item: H:\OpenVRtemplate\Plugins\VRExpansionPlugin\Binaries\Win64\UE4Editor-VRExpansionPlugin-1939.dll VRExpPluginExample H:\OpenVRtemplate\Intermediate\ProjectFiles\ERROR 1
Error MSB3075 The command ““C:\Program Files (x86)\Epic Games\4.13\Engine\Build\BatchFiles\Build.bat” VRExpPluginExampleEditor Win64 Development “H:\OpenVRtemplate\VRExpPluginExample.uproject” -waitmutex” exited with code 5. Please verify that you have sufficient rights to run command. VRExpPluginExample C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 41

Thanks for letting me know. I’ll do some more tests here and see if I can find a solution. I’ll also ask on UDN and see if Epic can give me some tips.

You need to fully follow the installation instructions for visual studio for the engine, you are missing some required headers.

Ok, I lied, I ended up finishing the replication for the new character today and then testing that multiplayer was still stable in my test bed. Found a few bugs over the past few days that had to do with ripping out one of my grip types and fixed some missing checks in the default character for floors when falling.

However right before finishing I did compile a version of the template itself and ran it multiplayer and most of the things already work. Think I am pretty good to start digging into polishing it now, the simple character is essentially done, the only thing it is missing from the default is that it doesn’t support a capsule offset at the moment, other than that it should be a more stable version.