VR Expansion Plugin

Compile Error with latest get

Edit: I just realized is the same error superxcm reported. However, I’m running 4.15.1 and didn’t see any mention of why issue would appear when building for 4.15.1. (Before generating VS project files from .uproject, I checked the Change Engine version drop down and it was defaulted to 4.15)

Edit: Verified the template works flawlessly. It’s awesome. Seeing as I just want a pawn that can be affected by gravity and be easier to control, I’ll look into to just trying to merge the character from the template over to my project.

Followed the VS setup tutorial for UE4 linked in the How To

Added a new C++ empty class with the default name “MyClass”.

Saved the project and closed it.

Cloned the repository 15 minutes ago (so it’s at latest) to “VRExpansionPlugin” folder in C:\Users\myname\Documents\Unreal Projects\myproject\Plugins.

Removed the entire Intermediate folder from my project - tried with and without step; result was the same.

Right Clicked on myproject.uproject (in C:\Users\myname\Documents\Unreal Projects\myproject) and selected “Generate Visual Studio project files”

Double Clicked myproject.sln

In VS2015 selected Build > Build Solution

Got the following error:
1>------ ビルド開始: プロジェクト:UE4, 構成:BuiltWithUnrealBuildTool Win32 ------
2>------ ビルド開始: プロジェクト:myproject, 構成:Development_Editor x64 ------
2> Creating makefile for myprojectEditor (no existing makefile)
2> Performing full C++ include scan (no include cache file)
2> Parsing headers for myprojectEditor
2> Running UnrealHeaderTool “C:\Users\myname\Documents\Unreal Projects\myproject\myproject.uproject” “C:\Users\myname\Documents\Unreal Projects\myproject\Intermediate\Build\Win64\myprojectEditor\Development\myprojectEditor.uhtmanifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -Unattended -WarningsAsErrors -installed
2>C:/Users/myname/Documents/Unreal Projects/myproject/Plugins/VRExpansionPlugin/Source/VRExpansionPlugin/Public/VRExpansionFunctionLibrary.h(47): error : Invalid BlueprintType enum base - currently only uint8 supported
2>EXEC : error : UnrealHeaderTool failed for target ‘myprojectEditor’ (platform: Win64, module info: C:\Users\myname\Documents\Unreal Projects\myproject\Intermediate\Build\Win64\myprojectEditor\Development\myprojectEditor.uhtmanifest, exit code: OtherCompilationError (5)).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: コマンド ““C:\Program Files (x86)\Epic Games\4.15\Engine\Build\BatchFiles\Build.bat” myprojectEditor Win64 Development “C:\Users\myname\Documents\Unreal Projects\myproject\myproject.uproject” -waitmutex” はコード 5 で終了しました。このコマンドを実行するための十分な権限があるか確認してください。
========== ビルド: 1 正常終了、1 失敗、0 更新不要、0 スキップ ==========

Anyone know what I may have done wrong?

Migrating the template characters over to my project failed. For some reason they got stripped of all variables and functions. Event graphs were intact though.

Shouldn’t be “Stripped” is it a different engine version or is the plugin not fully compiled and enabled in that project?

I have tried like you comment and something is not working…

  1. Created a Trace Channel named “PawnWalkingCollision” (default response “Ignore”).
  2. Checked the Preset just for right set up, for example, “BlockAll” everything blocked except “PawnWalkingCollision”
  3. Activated “Use Walking Collision Override” in the Character and setted up like “PawnWalkingCollision”
  4. Put a object in scene like “BlockAll” collision type and the Character collides as well…

Another doubt, which is the function of “Body” mesh in the Character? I had removed its collision also and didn’t realized any change…

Not a trace channel, create a Collision channel.

Also the body is for showing how the ParentRelativeAttachment works, it just shows a waist location.

edit Actually I just found a bug with the walking override that was introduced in 4.15, i’ll release a patch. The floor finding is ignoring my collision settings and causing problems.

If you mean “Object Channel” I have created (Ignore it as well) instead the “Trace” and has same response.

I just released a new patch for the plugin that will hopefully solve it for you, a problem arose from 4.15 that I didn’t notice because it didn’t happen when walking through BSP, only when walking through static meshes. I was already working on something else at the time so it wasn’t too hard to find the problem area and bring it out with the rest of the fixes.

See below

**
Pushed new commit to the plugin**


Fixes a bWalkingCollisionOverride bug that cropped up in 4.15 where the floor finding function
was ignoring it when the character started the frame in penetration. Did not show up on BSP so I didn't notice it before.

Fixes the GripSteamVRTrackedComponent, a new steamvr software update had broke it again.

Now uses the new incoming 4.16 motion controller late update procedure.

Moved all referenced CVARs to right before they are used to stick to engine best practices.

Thanks mate I’ll try. keep it on that amazing work!

Sorry for the laggy response.

The VR projectemplate is 4.15 and so is my project. Sorry I didn’t know I had to still fully compile and enable the plugin for my project.

Anyone know why I got that “Invalid BlueprintType enum base - currently only uint8 supported” build error?

I’m guessing I should just wait for the premade plugin once you deem it more “stable”. I don’t want to waste your valuable time.

Plugin is “stable” for use I should clarify, but that is different from stable for pre packaging binaries, every time I change something with premade binaries I have to compile out every version of the engines files and upload them. Granted I could just stick to updating them at large updates and weekly intervals instead but then I have to clarify where the current binaries are at as far as patch notes.

At point I seem to be going long stretches now without having to do a bunch of updates, so I will likely start making binary packages.

Are you TOTALLY sure that you have the latest plugin version in your project by the way? The enum wrong type that you are throwing isn’t a correct error as of the 4.15 version of the plugin, that enum is now uint8 like it is supposed to be as of the engine update. I checked in that file an there are only two enums listed there and both are correctly implemented.

Eh, its probably time, I’m going to start pre-compiling binaries as of today since the build time is no longer as massive due to the new Header structure of 4.15 and some changes to the plugin.

I will also start working on getting the wiki updated, it is still basically functional but is missing the majority of the 4.15 work that was added to the plugin (a lot of stuff).

Edit Also I would like to mention, there are some massive incoming changes in 4.16 that I can see in Master. I am not entirely sure that I can retain compatibility between 4.15 and 4.16 versions of the plugin so there may be another split incoming.

I prefer not to do when possible but they are refactoring large chunks of the character movement and some VR stuff.

Edit2

Uploaded binaries for current build, edited the wiki some, and pushed a commit to the plugin

Plugin Commit


Made secondary attachments support component grips as well now.

No longer takes an actor, now takes a UObject. (Long overdue change on my backlog list)

The Large PCH removal / switch over to Include-What-You-Use (IWYU), no longer uses PCH files, follows the engines brand new IWYU compilation / linkage as of 4.15.
Should improve compilation times.



Hi, I supossed is my fault at reimport time, but with new update instead the Hand meshes appears the VIVE stations. Both are properly setted up in the VIVE_PawnCharacter.

In the steamVR procedural mesh setup I have it using an override ENUM, if you aren’t on the beta branch of SteamVR than the enum value will be wrong (they just changed it). I’ll remove the override, it was just for testing and I forgot to change it back.

But to quickly fix your local copy, in the GetVRDeviceModelAndTexture node set the bottom enum (Override Device ID) to None.

Edit

Uploaded a fixed copy, the secondary grip nodes also were unlinked from the Secondary Attachment change today, so I had to link the variable back up as well for those.

Thanks for fast reply (like always). Last question and sorry for my ignorance and didn’t follow thread before. What is the purpose of the procedural mesh and the tablet one?

Procedural mesh stores the mesh of the SteamVR Models. If you are using a custom controller skin the VRDeviceModelAndTexture node will fill the procedural mesh component with the model and texture (why my videos have overwatch controllers but the template doesn’t have them in its files).

The tablet is there to show the live camera feed from the headset if you are using an HMD with a camera in SteamVR.

Thanks again for the reply and the clarification.

No, I’m not sure…The first step says “Clone Or Download Zip and extract repository”. I interpreted “” as referring to the URL of the repo on the same page “https://bitbucket.org//vrexpansionplugin”.

So I used that url in source tree to clone it. After it finished, the revision history was displayed and I saw a comment near the top stating something to the effect 4.15 changes were merged into master, so I thought I had the latest. Ran generate sln on the uproject after sticking VRExpansionPlugin (and its 1.33gb of contents) into the plugin folder, then tried to build.

If the “” in “Clone Or Download Zip and extract repository” were a link to the latest url it would’ve helped someone like me. I think.

I did look around for other urls that were explicitly detailed as 4.15 or latest, but couldn’t find anything but Master here:


But downloading that zip and extracting it gets me that skeleton of a plugin (800kb vs the cloned repo’s 1.33gb) of which I don’t know what to do with.

Edit: Now I know what to do with it. It’s properly building. See, I tried to build that entire cloned repository. Building https://bitbucket.org//vrexpansionplugin/get/Master.zip it’s going smooth.

Sincerest apologies for wasting your time.

Btw, I have time to work with your plugin 8 hours a day every day for an undetermined period. If there’s something you want me to test please let me know.

I don’t know, test everything, any feedback is good feedback, I don’t get enough of it.

I’m getting error after transfering some VRCharacters over to the new version.

I’ve tried to make a custom rotation for the character but haven’t been able to implement it on the simple character or VR character. I’m using Oculus and want to be able to ‘spin’ left or right 40 degrees with the thumbstick.

I’ve tried ‘add actor world rotation’, ‘set world rotation’ by adding 40 to the current rotation z axis, and even use the teleport function with the same location and an updated rotation but the character always faces the same direction.

On the Simple character I can change the roation of the ‘VRSceneComponent’ but then, as your have probably already guessed, the movement of the HMD moves you in the exact opposite direction when rotated 180 degrees since it must be based off of the forward.

Thanks for any help that you could provide and great work on the plugin.

You have the same files twice in the same project, at least it looks like that since Object.Type is duplicated. I moved all of the template folders under one central folder, so when you copied things over you made duplicates. Unfortunate for you since it will require some cleanup on your end, but in the future it should be a lot easier having everything under one folder.

I also depreciated EndSession in the sessions plugin due to misuse, just delete it where it is used and leave Destroy Session.

Can’t see the simple character warnings you threw as they are offscreen but that should be it for real problems.

I will note though that with the change last night, any AddSecondaryAttachment nodes will probably have to have to input linked back to it, I changed input on the node from AActor to UObject and the editor auto unlinks it, just have to drag the line back over.

By default characters use Control Rotation for yaw facing, you can either disable bUseControllerRotationYaw on the character actor where it will then follow the root components rotation, or you can use SetControlRotation to rotate instead.

Setting control rotation is natively replicated I believe, so if you choose to disable it and set Actor rotation instead you will need to run it on the server as well.

I will note that with the non simple character that you will have to rotate with a pivot point in mind (the HMD location) or the rotation will be incorrect. I have it on my TODO list to make a helper node for but I haven’t done so yet. is also true for the standard Epic pawn setup as well by the way.