Steam VR Template

Yeah don’t grab the actual item, either have it follow the hand during a “Fake” grab or have a separate scene actor that it is physically constrained to and invisible that is held instead so it will follow it. Or at least that is the quick and simple way of doing it, honestly the plugin could probably directly supporting those types of things but it would take some additional layout work.

What is the proper way to package a project that includes all the assets of this recent steamTemplate? Can anyone help:) I’ve migrated all the files from the template into my blueprint project. When I clicked package the project errors log shows up! I’m new to UE4.
System: Win7 64-bits
UE4 version: 4.12.3

Hello, can you introduce a little bit more about how you achieving your packaging?
I tried to package mine but fail. I migrate the recent template 1_10 to my project to make teleportation works for my project. THX anyway!

How do I move a scenecomponent without moving the SELF? Since all the children are parented to it. I tried making the ‘Actor’ a scenecomponent but it says it’s not compatible.

Scene components attached to actors can move separate with “SetWorldLocation” or “SetRelativeLocation” / Same for rotation. An actor is a container for the components, but they still exist as their own entities.

Have you got this working in your tests? When the physics occur it moves independently but On Grab it still moves as a group. Or am I still missing something?

You aren’t supposed to use grab at all unless you use a separate actor to track it. The plugin would have to be changed to support moving just components in order to do that.

YES! THANK YOU! I was trying to do it all in the blueprint but I need to use two actors as you said but with a ‘Physics Constraint Actor’ between them.

I’ve only been doing this a week.

1>------ Build started: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>------ Build started: Project: MyProject, Configuration: Development_Editor x64 ------
2> Creating makefile for MyProjectEditor (no existing makefile)
2> Parsing headers for MyProjectEditor
2> Running UnrealHeaderTool “C:\Unreal Projects\MyProject\MyProject.uproject” “C:\Unreal Projects\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\UnrealHeaderTool.manifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -Unattended -WarningsAsErrors -installed
2> Reflection code generated for MyProjectEditor in 3.353089 seconds
2> Performing 5 actions (4 in parallel)
2> [3/5] Resource PCLaunch.rc
2> [4/5] Resource ModuleVersionResource.rc.inl
2> Module.VRGripMotionControllerPlugin.cpp
2> VRGripMotionControllerPlugin.generated.cpp
2>C:\Unreal Projects\MyProject\Plugins\VRGripMotionControllerPlugin\Source\VRGripMotionControllerPlugin\Public\GripMotionControllerComponent.h(119): error C3668: ‘UGripMotionControllerComponent::FViewExtension::GetPriority’: method with override specifier ‘override’ did not override any base class methods
2>C:\Unreal Projects\MyProject\Plugins\VRGripMotionControllerPlugin\Source\VRGripMotionControllerPlugin\Public/GripMotionControllerComponent.h(119): error C3668: ‘UGripMotionControllerComponent::FViewExtension::GetPriority’: method with override specifier ‘override’ did not override any base class methods
2> -------- End Detailed Actions Stats -----------------------------------------------------------
2>ERROR : UBT error : Failed to produce item: C:\Unreal Projects\MyProject\Plugins\VRGripMotionControllerPlugin\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VRGripMotionControllerPlugin.exp
2> Total build time: 19.79 seconds
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(37,5): error MSB3073: The command "“C:\Program Files (x86)\Epic Games\4.11\Engine\Build\BatchFiles\Build.bat” MyProjectEditor Win64

I thouth this is some thing wrong this macro in V4.11.2

#if ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION <= 11

temp fix:
//virtual int32 GetPriority() const override { return -10; }

Thanks, that is what I though it would be, turns out that Version.h isn’t part of any of the main packages (its part of launch but not publically accessible) so I had to manually include it to check it. I really would have thought that the file would have been publicly accessible from Core or something considering how useful it is. I probably should have checked if it was defined originally… As is I will have to use its full path which is unfortunate since the correct way would be to have it accessible from a module I could just include as dependency.

I’ll fix that and also was considering adding some network support to the gripcontrollers considering the current issues with multiple players.

I noticed that I couldn’t teleport while holding a weapon.
The really simple fix is to just ignore the currently grabbed item when doing the teleport line trace.

c56e5a78654f2b6f3751894f02a5d4c2d90b2eb8.jpeg

teleports around waving a sword

I started a new branch to my plugin to support networking the controllers, the current solution that people are using is not good enough as it throws out late updates (actually even worse, it ends up using the local clients late update always), is needlessly expensive on tick() and doesn’t have any sort of smoothing. Granted with a 90htz tick rate due to vsync and the engine by default updating replication at 100htz means that it probably looks ok on remote clients and doesn’t use more bandwidth than default but it still isn’t ideal.

I will also look into what would work best for getting the grab functions cleanly working multiplayer as well and wanted to add the attachment grip as an alternative grip style to them. Some might prefere physx based collision interaction with sweeps over Epics location sweep collision (the “jitter” when colliding is different between the two, the location sweep is smooth).

I should have the positional replication working (without smoothing) tonight and up on the new branch. I have several smoothing ideas I would like to try before locking down on a final solution, since the client won’t ever get positional feedback from the server I should be able to run some light prediction without rollbacks.

I hope someone has some time to help me test it? I only personally know one other vive user and I do not have a second one on hand to test with so anyone with a second set on hand or a more local friend would be helpful in testing. Currently just using one computer with a default pawn client and one with a vive client to see how it looks.

Hi @. We have 3 Vive here. I’ll work on multiplayer right away, and we could work together to make it works flawlessly?
@MaxRabbi I’m not sure I understand teleport/grabbing works well?
@rusteyeb The best way to use the pawn in another package is to simply 1)migrate it 2)copy grab plugin (if using it) 3)in new project, create vr controller and create/assign the pawn and the controller in game mode 4)arrange general settings and level blueprints (especially “Enable HMD” in level blueprint).

I’ve tried packaging in 4.12.3 and it works well. Updated and docs as well.

I’m actually thinking that I can just throw smoothing out the window. The update rates are fast enough that trying basic smooth movement is de-syncing too easily, being locked to 90/45 fps it actually doesn’t go past the network update rate.

I’ll just keep the raw RPC in place for now until it can be tested some and run the location updates to the server from Tick() instead of a timer since only during tick will the controller get a movement anyway.

Edit
I also tracked down why the default controllers move each other, Epic has a bad method of detecting local authority being used that always returns true. If fixed they still wouldn’t replicate position but at least it wouldn’t move them locally on remote clients.

It may simply be that the weapons I made block the trace lines as I use it to track what the head is looking at, hence I ignore the grabbed items when tracing the teleport lines

@Proteus Thank you very much, you save my day :wink: Keep the great work, you guys are fantastic!

It appears im not the only one with this problem from looking around the forums. Im surprised there’s still no answers though. It obviously takes a while before most get around to packaging their game but when the time comes it’s pretty important everything works.

Surely some of the more experienced vr devs can help us with this?

What is the actual problem? I haven’t had an issue.

@Proteus The rough networked controller plugin can be dloaded from: [https://bitbucket.org//ue4-vr-grippable-motion-controller-plugin/get/Starting%20Multiplayer.zip](https://bitbucket.org//ue4-vr-grippable-motion-controller-plugin/get/Starting%20Multiplayer.zip)

It has positional right now, working on more later, got side tracked looking at the mesh files interface you can get from SteamVR.

I’ve not be able to package without it being in half resolution with worse performance. Others have had resolution issues as well.

I also think we need some sort of official or community guide for vr because it doesn’t work in vr mode by default. Obviously you can search and find out you need to turn stereo on but there’s other settings and tweaks like performance that are a good idea. There’s also probably other stuff related to steamvr that is useful to know.

That is a known issue in 4.12, you have to manually set res and screen percentage right now to get it to match the preview defaults.