How do I launch the scene with all the VR examples? I’ve done the tutorial:
but it doesn’t say what to do after step 13
How do I launch the scene with all the VR examples? I’ve done the tutorial:
but it doesn’t say what to do after step 13
Those are all in the Example Plugin Template: https://bitbucket.org//vrexppluginexample
which also comes with the plugin as its needed for the example project.
Thank you! ![]()
VR preview is currently grayed out though, you or anyone else know why?
Edit:
Nevermind. Got it working when I started Unreal before SteamVR.
In my multiplayer session, other players arnt able to rotate, it just snaps them back and in their logs it has the error bellow. not sure what it means though.
LogVRCharacterMovement: Not combining move [would collide at start location]
Also do i need to do anything special with custom grip scripts to get them to work properly on multiple instances of an object. If one player is using the object while others are holding it the logic in the custom script will apply to all if one person uses it.
Yeah check out the Tips&Tricks page under ClientAuthoritativeRotation
https://bitbucket.org//vrexpansionplugin/wiki/Plugin%20Tips%20&%20Information
Unless you turn on legacy mode then that snapping is because you are rotating your players outside of the MoveAction_SnapTurn and/or MoveAction_SetRotation. I made the pawn by default be server authoritative on rotation as well since we have an offset root on the standard pawn, otherwise client rollback can have some unintended consequences.
If you enable legacy mode it no longer rolls back rotation.
As for the grip script, not entirely sure what you mean by “using” vs “holding” here, you have access to the IsLocallyControlled function and HasAuthority though to filter your actions, you would have to be more specific about what you mean since those terms don’t generally go together with how grips work.
Ah right, thanks
For the grip script, its using a custom script to lock the movement axis of a pool cue when the user holds trigger if being held by both hands that are socketed thus setting the script active while the trigger is held, but it seems that the first person to use the axis lock will then cause all the other cues people are holding to activate the script.
Im very new to dealing with networking sorry.
Yeah not entirely sure what you are doing, sounds like either you are multicasting it somehow in a context where all of the characters are setting the flag, or somehow are referencing the same grip script reference in every clients stick.
is all its doing to get the reference,
Does it make a difference how the actors are spawned?. ie if they are placed in the editor apposed to being spawned with a server custom event
No it shouldn’t, though there is currently an engine bug with instanced inline-new objects where they can end up referencing the global version of an object. It appears to happen most often with grip scripts if you add one to a base class and then create a BP off of that base class.
There are a few reports in so I hope it gets fixed soon. How are you spawning them? I can dynamically spawn scripts at will and they behave independently as well as ones just placed around.
at the moment they are just dragged in through the editor, was about to try spawning them through a button press in the world to see if that made a difference.
Hi there,
Now I’ve been struggling with an error for the last 3 days and I’m getting a bit desperate… Maybe someone here has a clue what to try next.
Working on a project with the VRExpansionPlugin, I have some functions to find the PlayerStart with a correct (combination of) tags.
Everything works great in the editor, but when packaging the project I get these errors:
UATHelper: Packaging (Windows (64-bit)): LogBlueprint: Warning: FMemberReference::ResolveMember (ActorHasTag) bSelfContext == true, but no scope supplied!
UATHelper: Packaging (Windows (64-bit)): LogBlueprint: Warning: FMemberReference::ResolveMember (K2_FindPlayerStart) bSelfContext == true, but no scope supplied!
UATHelper: Packaging (Windows (64-bit)): LogBlueprint: Warning: FMemberReference::ResolveMember (GetTransform) bSelfContext == true, but no scope supplied!
PackagingResults: Warning: FMemberReference::ResolveMember (ActorHasTag) bSelfContext == true, but no scope supplied!
PackagingResults: Warning: FMemberReference::ResolveMember (K2_FindPlayerStart) bSelfContext == true, but no scope supplied!
PackagingResults: Warning: FMemberReference::ResolveMember (GetTransform) bSelfContext == true, but no scope supplied!
When I play the packaged project, I’m now spawning at the correct PlayerStart.
Searching for a solution, tried the following:
Nothing has made a difference - and while the number of times the above errors are generated vary depending on what functionality I use, they are always there (even if I’m no longer using ‘ActorHasTag’, for example).
Now, I do think (but I’m not sure) the problem is originating in the VRExpansionPlugin (and some version-to-version migrations I’ve made in the past), mainly because when I try to move or save a copy of the PlayerController / GameMode or PawnCharacter, I get the following message:

is why I tried to replace the PlayerController and GameMode with fresh copies - which did in fact cause the above error to disappear (but not the warning when packaging or the missing functionality in the packaged project). Only the Pawn I did not re-write (because that would take a lot of time and it seems unlikely that the pawn can cause … also: with the pawn the above ‘Save’ error disappeared after moving to a fresh copy of the project).
So now I can’t think of anything else to try… and it’s driving me mad!
Hope that someone has ideas ![]()
Try the step listed at the bottom of answerhub post: Can't save due to "Graph is linked to external private object" - C++ - Epic Developer Community Forums
Also no its not plugin related, you just appear to have some BP misslinking and/or bad redirects. You may want to try “fix up redirects” on your content folder as well.
As for the no scope supplied message, I would normally expect that in something without a valid worldcontext? But the player controller should be fine for that, where are you running logic? On login? On Spawn?
****](Interesting post from AnswerHub on how to setup a Layer Car Paint shader - Rendering - Epic Developer Community Forums) Thank you, you truly are a legend !! I’ve been playing with UE4 with VR on and off for a year now, until I found . Wow !! Wish I found it a year ago
Is it possible to prioritize a object to be gripped, having issues with trying to grab a small physics object on a table, seems to attempt to grab the table as well and requires some precision to grab the object
Yes, I don’t know if you are working from the ground up or with the template, but I expose
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = “AdvancedGripSettings”)
uint8 GripPriority;
In the AdvancedSettings structure that you can get with https://.bitbucket.io/VREx…pSettings.html
in the template I use it to sort an array of trace/overlap results by the priority and then return the closest of the highest priority results. It defaults to -1 so all non interfaced objects are a priority of -1 and all interfaced objects are a priority of 0, the template gun for example has the slider on it as a priority 2 I think and so it is always picked out first if the hand is overlapping both it and the gun.
If you are based on the template you can just set the priority on the object and forget about it. But from the sounds of it you aren’t, as with the template it should already be prioritizing the interfaced object over the table.
Thanks for the input! I also found the link you provided and did not manage to solve the issue following those steps… But anyway, your mentioning BP links got me to try something else that did solve the issue of the warning messages: I migrated the involved BP’s (Game Mode, Player Controller, Pawn) to a fresh project, opened that project and migrated them straight back (overwriting the originals). That way I could save / rename the files again. After that, I saw that some old copies remained (though no longer in use). I manually deleted those and my problem went away.
Next, I found that my logic to find a PlayerStart was still as per your older example projects (Game Mode calling a custom event ‘Initiate Play’ in the PlayerController). somehow did not allow my logic (going through all PlayerStarts and selecting some based on generic Actor tags, a function called in ReturnHMDStatus on server) to execute correctly. Moving to a more regular setup (as per your latest example project, with logic called through EventBeginPlay in the PlayerController) solved issue.
… I’m probably still not doing things in the best way… but it’s really hard to find good best practices for stuff…
Anyway, just wanted to write down the solution I found hoping it might help someone else.
And of course thank you for your message which, in the end, pointed me in the right direction.
W
aah ok, great thanks.
Additionally from the issue earlier with the custom grip script, it does seem to be referencing the same script for each object instance. or at least they all have the same object name according to the log print. Guess ill have to work around for the time being if its the engine bug.
_0] Server: GS_Cue_C_0
[BPWorkingCue_C_1] Server: GS_Cue_C_0
[BPWorkingCue_C_2] Server: GS_Cue_C_0
[BPWorkingCue_C_0] Client 1: GS_Cue_C_0
[BPWorkingCue_C_1] Client 1: GS_Cue_C_0
[BPWorkingCue_C_2] Client 1: GS_Cue_C_0
Yeah, there is an engine bug that makes instanced inline-new objects point to their CDO, the current bug report for it is listed as “Target 4.22” but there are a ton of instanced object bugs that have been sitting around for months now.
That being said, I haven’t been able to get a grip script to do that yet, unsure how your setup is getting there with what you are doing. You can send me in PM a copy of your script and object if you want so I can debug that.
Spent the past year and a half learning UE4 and making a VR game in my spare time. I used your plugin, but I was too scared to try and update unreal so I did it all with 4.16! It just got accepted on the Oculus Store, I’ll let you know about release date!
Liberty Lane Teaser
Good luck!, Sad though, there were so many good updates since 4.16.