Steam VR Template

I havnt been able to keep up much but what happened to the trackpad movement system instead of teleportation?

How do you change the material for the teleportation effect? Say for the Teleportation 1, changing from the spinning corner lines to the ring like in previous builds? Thank you!

@ good I’ll change it for the vrrootcomponent. Also I’ll explore your new features in the following days and try to integrate them more in the template.
@TBurton000 For my part a glass of single malt at OC3, VRDC or Steam Dev Days will suffice!
@Komponent. So there’s the procedure from start, let’s say you want to grab a static mesh, let’s say Cube:
1- Create blueprint using this… i.e. Cube_BP
2- In Cube_BP, enable the 3 interfaces GRAB_INT, Grabbed_INT and Release_INT
3- Copy and paste the functions found in one the level objects, i.e. HAT_BP
4- In Cube_BP, click on variables and Create variables “Use mesh socket” and “Socket Name”

That’s it. The rest is options, like hand placement and using sockets
@Zaidenknopka Not sure what it can be. Never tried it for more than a few minutes. I’ll try the level for longer to check what’s going on.
@Collectablecat Will try it also. Thank you for bringing up bugs.
@nearbyboar @Zaidenknopka I replaced it with rotating chaperone poles (the poles can be replaced by whatever mesh). You can rotate the pole with left to right trackpad, you teleport when you release the trackpad. If you press the grip button, it doesn’t use playground rotation and you just teleport. I see there that I should have left the ol’ way of teleporting with particles w/wo cylinder trace. I’ll re-incorporate it. One important thing to be cautious is the use of particles. You can try several just by migrating effects from the Infinity Blade Effects demo, but you’ll see that most of them use translucent / expensive materials that would cause fps drop in vr.

So what I’ll do is that I’ll release a 1.11.1 version in a few days addressing these bugs, adding features from ‘s plugin, and re-establishing ol’ teleport function as an option or optional pawn.

I know the map is not that simple, but it’s coming together to having multiplayer, vive/controllers and rift/touch seamlessly integrated soon.

I have a couple questions for you:
-Event tick triggers per frame, right? Does adding delta second 1 or greater change anything?
-Get Physics Angular Velocity returns vector value in degrees-per-second. Does firing event tick faster than 1 second result in a constant value of 0 as a float?

I’m still a noob, so I’m learning, too. Just some thoughts I had about the blueprint. Thanks!

Nope. The reason I know its def weird behavior is because I can put a breakpoint on a node updating a text box that I can see getting updated in headset but It never triggers the break point. So the code is being run but ignoring the break point.

@Komponent. So there’s the procedure from start, let’s say you want to grab a static mesh, let’s say Cube:
1- Create blueprint using this… i.e. Cube_BP
2- In Cube_BP, enable the 3 interfaces GRAB_INT, Grabbed_INT and Release_INT
3- Copy and paste the functions found in one the level objects, i.e. HAT_BP
4- In Cube_BP, click on variables and Create variables “Use mesh socket” and “Socket Name”

That’s it. The rest is options, like hand placement and using sockets

Thanks for that, I’m getting something workable now.

The docs said Create variable ‘Mesh Socket’ instead of ‘Use Mesh Socket’ so think that was the problem, but now I can throw things around :slight_smile:

I have tried to put the template pawn etc into another project, but I am having a few problems getting it working correctly.

The teleport function doesn’t work anymore, I don’t get any swirly targets when holding up on the controller (opt1). I don’t have any compile errors and copied over all the level blueprints.
The floor position is wrong. When I rest the headset on the floor, the camera view is midpoint in the scene, so when I stand up I go through the ceiling. Does the floor level need to be calibrated somewhere?

Any ideas appreciated.

Thanks for the help!

@Proteus @mordental

I can’t figure it out. I deleted bloom, ao etc, I changed tempAA for FXAA and the fps in the room dont change I’m stuck at 62fps at 15ms.
Here is the room : https://i.gyazo.com/2cea014ca8ed4bac929203fe34d21621.jpg

When I start the visualisation I got 90fps, 11ms without moving but when I start to move it drops at 62fps (15ms) I’m using your previous version but this is not suposed to changed so much. (I’m using a 290X i5 3470 3,2GHz)
If someone can help me it could be perfect :slight_smile:

@Diem are your textures in a power of 2 and streaming? no fancy collision enabled or transluscent materials?
if not, try to recompile with NVIDIA multi-res or Oculus Forward Renderer. what is your graphic card?
i can also test it for you just send it to me in private
we’ll find the culprit ������

It shouldn’t even be dropping to 62fps at all, openVR should start interlacing and go down to 45 instead of 62.

I’ve noticed since 1.11 I’ve been getting 90 fps average with drops to 45- however the GPU profiler states I’m getting somewhere around 6-7 ms! (I doubt it has to do with 1.11)

@Proteus
I’m going to test with your lastest version and I’ve a 290X. Yes always power of two (if I remember the max I got is 4096 (maybe to high ?)

(Maybe we should go in mp because I don’t want to annoy everyone with my prob ^^)

@diem i don’t think 4k textures is a big thing since i use them a lot without problem. however use them only if you need that level of detail, or break your mesh in more materials (at the price of draw calls but better than hires textures). be sure they are streaming. another thing is dynamic shadows. it kills fps. be sure your lighting is set to stationary and actors to static shadows only unless absolutely important.

i think we should keep the discussion public since it can be useful to fellow friends here.

oh and post-process settings also in tune? no aa method chosen, ssr disabled?

Hey thanks for the template! It’s been nice to learn from. I wanted to let you know there may be a possible issue with the vehicle. Just got 1.11 and noticed the vehicle no longer works, it says to press right menu on the handle, instead this starts UltraMan which is supposed to be left menu? I tried left menu button on the handle thinking they may have just been flip flopped but that didn’t work. I have been trying to find the issue to fix it myself but I am not experienced enough to find where to make the change.

Edit: Oops, I was not using Vive_Pawn_Move , I guess Vive_Pawn_Multi is possessed by default. Although, now I cannot find Vive_Pawn_Move anywhere in the contents, where do I locate it?

Hey,

Thank you for this great amazing template!
The project is working fine in Unreal editor but when I try to export the project as package I get the following error:
LogSavePackage: Save=58.90ms
LogSavePackage: Moving ‘D:/Projects/Unreal/SteamVR__1_11/SteamVR_Template/Saved/UEDPCMultiPlayer_Vive_Map80AF51314706CCBEA7E7AAAAB29C10E0.tmp’ to ‘D:/Projects/Unreal/SteamVR__1_11/SteamVR_Template/Saved/Autosaves/Game/Vive/UEDPCMultiPlayer_Vive_Map.umap’
LogSavePackage:Display: Finished SavePackage D:/Projects/Unreal/SteamVR__1_11/SteamVR_Template/Saved/Autosaves/Game/Vive/UEDPCMultiPlayer_Vive_Map.umap
LogEditorTransaction: Undo Spawn Play From Here Start
MainFrameActions: Packaging (Windows (64-bit)): Running AutomationTool…
MainFrameActions: Packaging (Windows (64-bit)): Automation.ParseCommandLine: Parsing command line: -ScriptsForProject=D:/Projects/Unreal/SteamVR__1_11/SteamVR_Template/SteamVR_Template.uproject BuildCookRun -nocompile -nocompileeditor -installed -nop4 -project=D:/Projects/Unreal/SteamVR__1_11/SteamVR_Template/SteamVR_Template.uproject -cook -stage -archive -
archivedirectory=C:/Users/Doron/Desktop/VR_MP -package -clientconfig=Development -ue4exe=UE4Editor-Cmd.exe -compressed -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -CrashReporter -utf8output
MainFrameActions: Packaging (Windows (64-bit)): Automation.Process: Setting up command environment.
MainFrameActions: Packaging (Windows (64-bit)): BuildCookRun.SetupParams: Setting up ProjectParams for D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject
MainFrameActions: Packaging (Windows (64-bit)): Project.Build: ********** BUILD COMMAND STARTED **********
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Development -remoteini=“D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template” -noxge -generatemanifest -NoHotReloadFromIDE
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: No modules found to build. All requested binaries were already part of the installed engine data.
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 0.801s to run UnrealBuildTool.exe, ExitCode=5
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Command failed (Result:5): C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Development -remoteini=“D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template” -noxge -gener
atemanifest -NoHotReloadFromIDE. See logfile for details: ‘UnrealBuildTool-2016.07.31-00.05.01.txt’
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary2 EnvVars) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary2 EnvVars)
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary2 EnvV ars) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary2 PlatformEnvVars, Nullable1 InChangelistNumberOverride,
Dictionary2 InTargetToManifest) MainFrameActions: Packaging (Windows (64-bit)): at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask) MainFrameActions: Packaging (Windows (64-bit)): at BuildCookRun.DoBuildCookRun(ProjectParams Params) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.BuildCommand.Execute() MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Automation.Execute(List1 CommandsToExecute, CaselessDictionary1 Commands) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Automation.Process(String] CommandLine) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Program.MainProc(Object Param) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.InternalUtils.RunSingleInstance(Func2 Main, Object Param)
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Program.Main()
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
MainFrameActions: Packaging (Windows (64-bit)): Domain_ProcessExit
MainFrameActions: Packaging (Windows (64-bit)): copying UAT log files…
MainFrameActions: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults:Error: Error Unknown Error

Am I doing something wrong? should I configure the plugin somewhere?

Thank a lot,
Doron

Its a new plugin, so if you had “GripMotionController” as an included module in your build.cs you need to replace it with the “VRExpansionPlugin” instead now or it won’t package out.

@ Thank you for your time checking my issue.
I dont have build.cs they only file i have is: VRExpansionPlugin.Build.cs which I assume is ok.
I tried to download again SteamVR__1_11.zip and didnt make any changes but still I have the same error. is it something on my machine? Anyone else are able to package the project without a problem?

Thanks a lot,
Doron

Hi all,

Does anyone have a sample project based on this template which renders a good result (quality wise)? I’m still having issues with getting a crisp end result like I see in games like job simulator so I’m trying to see where I went wrong.

Thanks!

Hello,

I started developing vr game and this template is very useful. But when I’m developing on notebook without vr headset, there’s no way i can move, camera just show me underground (see figure) and movement controls (wasd) doesn’t work.
Is there a way to work with this template without VR headset?

Thanks!

Ah that old problem, since I distribute the source with the plugin you need to click on the green “Add New” button in the editor and add a blank c++ class for it to compile out my plugin. It is also safer to include it as a dependency in the projects build.cs that is generated after doing so.

I think they plan on fixing this eventually and allowing binary only builds but as far as I am aware it doesn’t work yet.

@ Thank you, I really appricate it!
I tried it and had a different problem related to SDK8.1 had to install it to solve it.
I created a new none c++ class name MyClass and it created .h and .cpp and compile it then I tried to create a package and now I receive the following error:

MainFrameActions: Packaging (Windows (64-bit)): Project.Build: ********** BUILD COMMAND STARTED **********
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe SteamVR_Template Win64 Development -Project=D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject -remotein
i=“D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template” -noxge -generatemanifest -NoHotReloadFromIDE
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 0.863s to run UnrealBuildTool.exe, ExitCode=0
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe SteamVR_Template Win64 Development -Project=D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject -remotein
i=“D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template” -noxge -NoHotReloadFromIDE -ignorejunk
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Creating makefile for SteamVR_Template (no existing makefile)
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Performing full C++ include scan (no include cache file)
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Parsing headers for SteamVR_Template
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Running UnrealHeaderTool “D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject” “D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\Intermediate\Build\Win64\SteamVR_Template\Development\SteamVR_Template.uhtmanifest” -LogCmds=“loginit warning, logexit warning, logdatabase
error” -Unattended -WarningsAsErrors -installed
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Reflection code generated for SteamVR_Template in 4.5117688 seconds
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Performing 9 actions (4 in parallel)
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: PCH.UELinkerFixupsName.h.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: PCH.SteamVR_Template.h.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Module.VRExpansionPlugin.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: VRExpansionPlugin.generated.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: UELinkerFixups.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: [6/9] Link UE4-VRExpansionPlugin.lib
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: MyClass.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: SteamVR_Template.cpp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: [9/9] Link SteamVR_Template.exe
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-VRExpansionPlugin.lib(Module.VRExpansionPlugin.cpp.obj) : error LNK2005: “class TAutoConsoleVariable<int> CVarShowInitialOverlaps” (?CVarShowInitialOverlaps@@3V?$TAutoConsoleVariable@H@@A) already defined in UE4-Engine.lib(Module.Engine.9_of_34.cpp.obj)
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Creating library D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\Binaries\Win64\SteamVR_Template.lib and object D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\Binaries\Win64\SteamVR_Template.exp
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\Binaries\Win64\SteamVR_Template.exe : fatal error LNK1169: one or more multiply defined symbols found
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\Binaries\Win64\SteamVR_Template.exe
MainFrameActions: Packaging (Windows (64-bit)): UnrealBuildTool: Total build time: 50.26 seconds
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 50.389s to run UnrealBuildTool.exe, ExitCode=5
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Command failed (Result:5): C:\Program Files (x86)\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe SteamVR_Template Win64 Development -Project=D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Te
mplate.uproject D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template\SteamVR_Template.uproject -remoteini=“D:\Projects\Unreal\SteamVR__1_11\SteamVR_Template” -noxge -NoHotReloadFromIDE -ignorejunk. See logfile for details: ‘UnrealBuildTool-2016.07.31-20.29.48.txt’
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary2 EnvVars) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary2 EnvVars)
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary2 EnvV ars) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary2 PlatformEnvVars, Nullable1 InChangelistNumberOverride,
Dictionary2 InTargetToManifest) MainFrameActions: Packaging (Windows (64-bit)): at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask) MainFrameActions: Packaging (Windows (64-bit)): at BuildCookRun.DoBuildCookRun(ProjectParams Params) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.BuildCommand.Execute() MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Automation.Execute(List1 CommandsToExecute, CaselessDictionary1 Commands) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Automation.Process(String] CommandLine) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Program.MainProc(Object Param) MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.InternalUtils.RunSingleInstance(Func2 Main, Object Param)
MainFrameActions: Packaging (Windows (64-bit)): at AutomationTool.Program.Main()
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
MainFrameActions: Packaging (Windows (64-bit)): Domain_ProcessExit
MainFrameActions: Packaging (Windows (64-bit)): copying UAT log files…
MainFrameActions: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults:Error: Error Unknown Error

Can you check it again please?

Thanks a lot,
Doron