#virtual-reality

1 messages Β· Page 226 of 1

tough geode
#

ill try that

#

didnt seem to change anything

#

is it because i executed it in level blueprints?

tough geode
#

i think it might be windows mixed reality... it thinks my center is higher up for some reason

tough geode
#

i cant seem to find any information on why my headset wants to be so high above the initial camera position in my cutscene. has this not happened to anyone before?

radiant garden
#

The floor is getting detected incorrectly. I saw that problem a lot when I had a WMR device. A similar thing can happen very rarely on my Index.

#

IIRC WMR has some kind of room calibration you can do. See if running that solves your problem. Make sure your room is well lit. WMR drifts a lot in dark rooms.

tough geode
#

hmm it seems to work ok when looking through the player camera. i guess its just the cine cameras that dont like vr

#

calibrating did help btw. my camera isnt off to the side like it was before lol

#

but its still floating above the point i set the camera to be in the sequencer

idle osprey
#

Is anyone building with 4.25.1 with Vulkan on the Quest? I'm getting flicker in my right eye that I wasn't getting 4.24.3.

mighty carbon
#

you need oculus fork @idle osprey

#

and 4.25.1 OC fork hasn't been released yet

idle osprey
#

Really? I didn't need the Oculus one for 4.24.3.

mighty carbon
#

πŸ€·β€β™‚οΈ

idle osprey
#

πŸ€¦β€β™€οΈ

#

one more thing to download...at pandemic crappy home network speeds. 😦

mighty carbon
#

OC fork comes with current integration, which reflects current Quest OS and drivers

#

Epic's is always behind

idle osprey
#

Yeah, I just didn't think I needed to be at the latest and greatest since this worked fine in 4.24.

#

Switching back to ES3.1, it's fine, of course.

mighty carbon
#

when devving for Quest you should stick with OC fork to ensure everything works, compatible and will pass TRC

idle osprey
#

I've just got this sinking feeling I'm going to get 4.25 cloned and built and run in to the same problem.

mighty carbon
#

I am still on 4.24.3

idle osprey
#

yeah, maybe my time would be best spent downgrading again

celest basin
#

Hey everyone, colleague at work tried to try the apollo project on the work HL2 but got this error message:

#

I don't have a HL2 so I couldn't problem solve it

#

But it feels like he needs to add some extra stuff to VS?

#

Except then, it wouldn't be saying fix it through the launcher?

#

They're all unity devs so any chance we get to woo them over to UE4... πŸ˜‰

hallow knoll
mighty carbon
#

hopefully once v18.0 (Integration 1.50) is done rolling out, they will release 4.25.1 + 1.50 @idle osprey

#

maybe 4.25.2 is out by then too 🀞

celest basin
#

I think this page is what they're looking for πŸ™‚

idle osprey
#

The thing about compiling Unreal...it gives you lots of time to do other things, like laundry, make dinner, take a shower, take a nap, and after all that, it might be done compiling shaders. πŸ˜‰

celest basin
#

Compiling Shaders... elebenty jillion to go...

idle osprey
#
Registering git hooks... (this will override existing ones!)
Running system mono/msbuild, version: Mono JIT compiler version 5.16.0.221 (2018-06/b63e5378e38 Mon Nov 19 18:08:09 EST 2018)
Checking dependencies...
Updating dependencies:  42% (29217/60564)``` going to be a long evening...
mighty carbon
#

is it with MSVC?

idle osprey
#

me? no...this is a Mac

mighty carbon
#

oh

idle osprey
#

this is the download step just after the git clone.

mighty carbon
#

ah

#

I think downloading dependencies takes as long as compiling engine πŸ˜›

worthy vapor
#

@mighty carbon Would you recommend by any means to go from 4.24.3 to 4.25.1 for Oculus Quest development at this point?

mighty carbon
#

depends.. I use VRE, so I am eagerly waiting for 4.25.1 from Oculus so I could upgrade. Oculus recommends to keep up with integration updates. And I am in early stages of development anyway, so it makes sense for me to upgrade

#

and I am talking about OC fork, not vanilla launcher version

worthy vapor
#

Sorry what's VRE?

mighty carbon
#

VR Expansion plugin

idle osprey
#

I was trying to get VRE to work on the Quest. The Example project fails to start.

sonic lake
#

@idle osprey VRE is working fine on the Quest. Do you get any specific error?

idle osprey
#

I was trying to get the Example project to work, but there's something wrong when it deploys.

#
LogPlayLevel: Took 0.60427s to run adb, ExitCode=0
LogPlayLevel: Running: /Users/corysia/Library/Android/sdk/platform-tools/adb -s 1PASH********* uninstall com.YourCompany.VRExpPluginExample
LogPlayLevel:   Exception occurred while dumping:
LogPlayLevel:   java.lang.IllegalArgumentException: Unknown package: com.YourCompany.VRExpPluginExample
LogPlayLevel:     at com.android.server.pm.Settings.isOrphaned(Settings.java:4135)``` Apparently something is going wrong with the APKs manifest file
#

I'm also having trouble with the right eye flickering with Vulkan in 4.25.1, but it's fine in 4.24.3 (Epic versions). The plugin compiles, but I haven't tried using it yet. I mostly just wanted to see the example project.

sonic lake
#

@idle osprey Did you add the Quest as Oculus Mobile device to package for?

idle osprey
#

Yes

sonic lake
#

Target SDK version?

idle osprey
#

21

sonic lake
#

I am using 26/28

idle osprey
#

Have you deployed the example project or just used the plugin?

sonic lake
#

For the Quest minimum is 25

#

Full example project

idle osprey
#

Ok. I'll try 26 tomorrow. Nearly midnight here and I've pretty much burned up my wick for today.

sonic lake
#

Yep! Good night.

idle osprey
#

Thanks for the advice!

sonic lake
#

You are welcome. πŸ™‚

real needle
#

I have a really newbie question, im new to ue4 for years i only ever developed in Source and recently Source 2

#

how do i implement smooth locomotion with snap turning and collisions

#

ive tried getting it to work for about 2 days now and i havent been able to get it

#

ive gotten snap turning working, on a Pawn but when i try to add collision it breaks the snap turning

#

i got collisions working on a character but i cant get snap turning working

#

also how would i go about getting the collision box to stay synced with the hmd with roomscale?

#

maybe im just an idiot but ive combed through every guide, tutorial, plugin, documentation i could and i just couldnt get it to work

sonic lake
#

@real needle snap turn with room scale support needs to take into account the offset between the pawn position and the HMD position because of you moving in real life

#

Collisions are trickier because by default the collision capsule,
which is the root of the character hierarchy, does not follow the HMD

real needle
#

Ah yes I watched your video, it was a huge help in learning about blueprint and it’s very clear and concise

sonic lake
#

Hence collisions are happening somewhere else when you move in real life. You have two options: 1. use the VR Origin to realign the capsule with the HMD after each move, 2. use a plugin which implements that out of the box (VR Expansion Plugin)

#

Thanks! πŸ™‚

real needle
#

I tried using the VR expansion plugin but I couldn’t figure it out, do you have an example of a working pawn that has all that stuff working I can look over and replicate?

#

Maybe this is uncommon for ue4 devs but I tend to learn best from creating my own personal documentation and learning from stuff that already works

sonic lake
#

@real needle The VR Expansion has a demo project which shows that functionality. Did you check it out?

real needle
#

Yes I did but I’m on oculus and it seems to only support vive?

#

Maybe I missed something though

sonic lake
#

You need to tweak a bit the input mappings.

#

I'll send you my input mapping

#

I am also on Oculus

real needle
#

Thank you, I really appreciate it

sonic lake
#

Just need to rebuild the project, will send you a DM

real needle
#

Ok

tired tree
#

@sonic lake tweak what inputs? it should have mappings already for oculus

sonic lake
#

@tired tree some of the input seems to be linked by default to the capacitive touch on the Oculus, which sometimes triggers some accidental movement. I will send you the modified input mapping if you would like to take a look.

tired tree
#

yeah that would be apreciated, all the inputs got wrecked with 4.24 and i rebuilt them mostly from memory on oculus.

#

so it does have inputs, just not ideal

sonic lake
#

That explains it. I will DM you the ini file.

idle osprey
#

@sonic lake 26/28 seems too high. ```LogPlayLevel: Error: ERROR: minSdkVersion is higher than Android version installed on device, possibly due to NDK API Level
LogPlayLevel: Error: ERROR: Installation of apk '/Users/corysia/Dev/Projects/VRExpPluginExample/Binaries/Android/VRExpPluginExample-armv7.apk' failed: [INSTALL_FAILED_OLDER_SDK: Failed parse during installPackageLI: /data/app/vmdl2046665600.tmp/base.apk (at Binary XML file line #8): Requires newer sdk version #26 (current version is #25)]

sonic lake
#

@idle osprey Actually it seems to be wanting #26.

#

I have set my target to 28 and it works, so this is strange.

idle osprey
#

Which SKD/NDK do you have installed.

sonic lake
#

Let me check.

idle osprey
#

my ndk is 21.1.6352462

sonic lake
#

You are on a Mac, aren't you?

idle osprey
#

yes

sonic lake
#

NDK is 14b in CodeWorks

#

SDK is 25.2.3

idle osprey
#

So you're running 4.24.3

sonic lake
#

Oh wait are you on 4.25?

idle osprey
#

Yes. The VRE examples is a 4.25 project.

sonic lake
#

There is also 4.24

#

I tend to stay away from the latest UE version because that carries tons of issues. Unless they get to .3 or beyond.

idle osprey
#

oh gosh, I never even looked for the branches in that project.

#

ok, I still have 4.24.3 set up, I'll try that.

sonic lake
#

I am sure there is a way to make 4.25 work as well but I haven't tried it so far.

idle osprey
#

Everything else seems to work, I can deploy my own projects. Just not that one.

#

but mine are just tiny ones so far.

sonic lake
#

I will try it next week as soon as I am re-united with my Quest. Can only take one VR device with me while traveling and the Rift S won the lottery.

idle osprey
#

And I think I saw you said something about input mappings?

#

My Rift hasn't been used since this pandemic started. I turned my VR room in to my home office.

sonic lake
#

@idle osprey the input mapping which comes with the VR Expansion demo project needs some tweaking for the Oculus Touch controllers. I will DM you the modified input settings.

#

For me it was the opposite. Got stuck at home with just the Quest and my non-dev laptop (read slow + limited RAM) while the dev computer and the Rift S were stuck in another country. No fun at all.

idle osprey
#

My PC doesn't have a ton of RAM and is pretty much just for gaming. My MacBook dual-boots and has 32gb ram, but only a vega20 card, so Link is possible, but it can't be too complex. And Oculus nags me about it all the time.

sonic lake
#

Yeah. Had the same with my non-dev laptop. With only the Quest available I wanted to use the Oculus Link but it turns out the NVidia GPU doesn't talk with the video output and Oculus only sees the Intel GPU.

#

Had to Launch each and every time.

idle osprey
#

The PC is an i7 and this MacBook is an i9. It'll be my last one, tho, since they're going to an ARM chip.

sonic lake
#

Pretty beefy machines. Yes, herd about it. I moved back to Windows once I started developing with VR. Still have a MacBookPro 2010 which surprisingly enough still works just fine.

idle osprey
#

My day job isn't in VR and we use Macs at work. Except for the ctrl/cmd body memory of my fingers, I do OK switching back and forth, but I'm more comfortable in UNIX. I can't handle Windows without cygwin or mingw

sonic lake
#

You can always VM with Ubuntu or similar. Reality is Apple hasn't embraced VR yet. Rumors are that they are working on something (mixed AR/VR).

idle osprey
#

Yeah, a saw that. And set a few patents.

sonic lake
#

I heard they are "stealing" resources from Magic Leap.

#

Curious to see what that brings.

idle osprey
#

It ran! Yay!!

#

Thank you for your help! I'll try 4.25 again later...like .3 or so.

devout compass
#

it didnt happen with any other meshes that i imported just now

#

i also imported it connected to the other parts of the gun im importing and it still distorted

sonic lake
#

@idle osprey You are welcome.

pastel fern
#

anyone else noticed a drastic perforamnce decrease in VR since the rendering update (i gues 4.22)? We switched from 4.19 to 4.23 a while ago, and definitely had better performance in 4.19.
I made a test with the default VR template in different engine versions and 4.19 is much better in the profiler

verbal kiln
#

Dumb basic question coming up - How do you connect two attributes in UE? For instance if you wanted to drive the scale XYZ of one object by the translate XYZ of another

devout compass
#

another dumb question, different person tho. im putting in an ar styled rifle (mk18 to be specific) and i want to add in a bolt release system. do i export the bolt release with the body, trigger, and selector switch? or do i give it its own mesh and skeleton

#

the bolt release is going to pop out like it does irl

brisk spade
#

if i simply use the motion controller in my pawn as a component and want some hand animation, when grabbing sth, can i simply inherit the motion controller class and and add this animation update part?

chrome elk
#

@pastel fern We noticed something similar and never found anything. Please let me know if you have better luck!

placid spear
tired tree
#

@pastel fern I don't remember which engine version switched to the new super sampling method for vr rendering, but make sure that you altered your logic to use it. It was around 4.19 so it may have been 4.20.

#

Mm NVM it was 4.19 itself that changed resolution settings for vr

#

Though 4.21 or 4.22 did introduce the scene capture component bug

real needle
#

@tired tree you created the VR Expansion Plugin correct?

tired tree
#

yes

real needle
#

awesome, this is a super useful plugin

#

thank you

#

also, where are the blueprints for the autoposing physics hand in the example project?

#

im having trouble finding where they are located i wanted to see them so i could learn how you did it

tired tree
#

@real needle in the animation blueprint that the hand uses

real needle
#

the one called GraspAnimBP?

tired tree
#

yes

pastel fern
#

@tired tree do you mean '''New: VR Screen Percentage Refactor to support new upsample and Dynamic Resolution rendering features.'''?

tired tree
#

yes, but if you were already on 4.19 that wouldn't be it, should have shown up already

pastel fern
#

Yeah,...

#

In specific the WaitGetPoses of OpenVr in FViewExtensionPreRenderCommand (or something like that, without code right now) seem to be the problem. There is lots of time still on the render thread, but that is seemingly problematic. I investigated it at some point and wrote in the forums about it. It seems that you need to call GetWaitPoses to retrieve the render poses for the head/hands and sync with steam vr to keep the 90hz (vive). Though as some threads in the steam dev forum say, there still is a timing of 3..4ms involved which you need to call it before the end of the frame, which is alot of time. Besides that, the command shows with more than 5ms in the profiler but still the renderthread causes lots of spikes in the simple vr template scene.

tired tree
#

@pastel fern yeah that is the late updates poll

#

which is part of the steamvr input module for the controllers

#

which was entirely rewritten for 4.24

#

try setting the late updates off on the controllers and checking the perf then

pastel fern
#

@tired tree thanks, will try that on monday. Though I tested in 4.25 and spikiness of the RenderThread is the same

tired tree
#

@pastel fern 4.25 still uses the rewrite

pastel fern
#

I assume that, but I expected it to get better... Will need to try some more stuff next week. Thanks

verbal kiln
#

Anyone using the VR scouting tools yet?

real needle
#

is there any good documentation on vr melee weapons?

#

i want to add add one to my level that does damage to another character actor

timber bobcat
#

Anyone know why haptic feedback curves are missing from the add content > misc menu?

#

I searched a bit and people have been pointing this out for a month or so, 4.25

#

The editor will open curves already created but there is no way to make new ones.

devout compass
#

its made of a few boxes as i tried to have the least amount of actual collision things as possible

pale magnet
#

hey can someone help me with vr im a bit of a newbie to unreal
i set the play mode to vr preview but my rift s wont go into it
it'll just say loading unreal in my rift s

#

nvm got it lol

hard relic
#

Hi, my translucent or additive Projectiles are seen behind StaticMesh Environnement... like if they are in front of them... How can i fix that? Is the only way to replace transparency by Dithered Pixel Mask?? (Oculus Quest/ Android ES3.1)

#

@devout compass is 4 box collision better that one simple collision shape?

devout compass
#

Good point I may just edit it to be one collision box. But I don’t want your hand to not even be able to touch the stock. I’m gonna add a socket so you can hold it by the stock I think.

devout compass
#

@hard relic But the only shapes are boxes and sphyls. There aren’t any prisms or triangles available

hard relic
#

@devout compass by default static mesh generates a simplified collision geometry. In your Mesh, scroll down to "Collision Complexity" and select one "Simple collision" in da listbox

devout compass
#

i wanted to build my own so it was as optimized as i could get

pastel fern
#

@devout compass Use a convex shape instead of the 4 boxes. Or at least combine the second and third to a single box (do see no reason to make it two boxes). Not sure though if it is faster for the collision system to evaluate multiple boxes or a single convex shape, would go with the convex still.

pastel fern
#

@tired tree changing the late update did do nothing.
This is the frame graph from the VR Template MotionControllerMap UE4.23 with headset laying on table (steady)

#

I would expect much smother frame timing. The RenderThread is leading the spikes but all time wents into the frame synchronization.

#

(FViewExtensionPreDrawCommand)

#

though, problem for sure: PRE DRAW! means we wait for SteamVR (openVR) to return the poses with VSync and render afterwards? Sounds rediculous.
I had a look at the openVR example and they render first and then sync (openVR WaitGetPoses), last thing in the frame

pastel fern
#

Result: we lost VSync but got rid of beeing GPU bound

#

@chrome elk

pastel fern
#

Also WaitGetPoses should be called after Rendering

#
    * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present.
    * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would
    * introduce a deadlock of some sort.  This function tells the compositor that you have finished all rendering after having Submitted buffers for both
    * eyes, and it is free to start its rendering work.  This should only be called from the same thread you are rendering on. */
    virtual void PostPresentHandoff() = 0;```
tired tree
#

@pastel fern one of the issues with this is that the renderer is behind the game thread, they aren't 1:1, so GetLastPoses could potentially return the previous positions there and throw out an entire frames positional changes for the camera

#

their example is likely a straight 1:1 game to render sync and wouldn't have to consider that

pastel fern
#

yeah... delay, but we can't block the entire Renderthread for nothing... Accoding to the docs of PostPresentHandoff, WaitGetPoses waits 3ms before the VSync. That means we only have 3ms for rendering?

#

at some point I came to a function that extrapolates poses to reduce the latency in rendering

tired tree
#

they used to use that function in the controllers and it caused a ton of latency

#

they switched it out just prior to the input module being recoded

#

and wait get poses waits 3ms before return, you could still use more time to render

#

the data would just be older

#

i'm not saying that the rendering code is working correctly for you here, i'm saying that you likely threw out one of the more important features to patch your issue

#

and you might want to bring this all up directly with epic for more information on their choices

pastel fern
#

I don't realy understand what you mean, I'm not realy into the rendering stuff.
As far as I can tell, we need to Present the rendered image to the headset BEFORE the VSync. If we submit it to late, we basically loose an entire frame? WaitGetPoses waits UNTIL 3ms before the VSync and is executed in PreDraw. Thus we only have 3ms for rendering, post process and presenting the image?

#

This seems pretty

#

sure, now we have the problem that our poses might be to old and the delay is big.

#

but that seems to be the only usefull thing to do

tired tree
#

it should be calling WaitGetPoses in multiple places in engine

#

ah nvm its still doing it render and game seperate checks

#

ug

#

yeah you are definitely causing a full frame of delay on the camera there

#

its only sampling new pose in render

#

and render is a frame behind game

pastel fern
#

and probably delays by one more frame if the rendering takes to long

tired tree
#

I can't remember off the top of my head where game is unblocked there, but its likely after the call so it shouldn't effect game any

#

with what you did

#

just the late adjustment on rendering

pastel fern
#

I now render first and then wait the vsync. Sounds better to me

#

I'll test this in our main project now. Will report

tired tree
#

i mean...

#

i know what its going to do

#

the camera is going to be sluggish

#

if you are fine with that, thats fine

#

higher framerate headsets like index 120htz it would be less noticable with

pastel fern
#

I don't feel any lag with the change made in the test project. Even when moving the head fast I can't realy notice a delay. And for most applications it should not matter. BeatSaber maybe, but thats probably it.

#

And the "docs" of OpenVR define that WaitGetPoses should be called after rendering. Which also seems totally stupid. Why should I wait for better poses after rendering was done?

tired tree
#

they want it to not block anything important while it retrieves them

#

you are already doing that with your change, the camera offset is applied prior to rendering

#

so its too late with the position that you put it in

pastel fern
#

it does not block to retrieve the poses, it blocks to make sure you are close to the VSync so the poses are best as probably can be and leave you with 3ms for rendering.

#

(if you call it before rendering)

tired tree
pastel fern
#

ah yeah, just read it. The function predicts the poses already for the next frame

#

then my change is totally fine and the correct thing to do

tired tree
#

?

#

its still returning poses after rendering

#

you are still a frame behind

#

if you moved it post render

pastel fern
#

    /** Scene applications should call this function to get poses to render with (and optionally poses predicted an additional frame out to use for gameplay).
    * This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to
    * start rendering.
    *
    * Return codes:
    *    - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene)
    *    - DoNotHaveFocus (some other app has taken focus - this will throttle the call to 10hz to reduce the impact on that app)
    */
    virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount,
        VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0;```
tired tree
#

the poses are used in the rendering thread

#

its how it knows where the cameras viewpoint should be

#

which is why they also state to have it called last moment before rendering

#

for the obvious vsync

#

its also intended

pastel fern
#

which is why they also state to have it called last moment before rendering
@tired tree where do they state that? As the official openVR source files say different

tired tree
#

well right above in your direct quote it even states that...

pastel fern
#

ah yeah... something is realy confusing here

#

/* Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor.
* This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present.
* For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would
* introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both
* eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */
virtual void PostPresentHandoff() = 0;

tired tree
#

That is post present handoff

#

also no-one ever accused valve of clean documentation

pastel fern
#

^^

tired tree
#

GetLastPoses would get the last compositors poses, so it guess if things sync'd up right it wouldn't have too much latency

#

but the WaitGetPoses waits until the new (hmd( frame, gets the very latest polled poses, and lets you do your thing

pastel fern
#

Ok, I just try the change in our main project now. Will report

tired tree
#

i guess there could be a case for GetLastPoses prior to render, render with latest known poses but without waiting for , then WaitGetPoses for vsync and presentation post rendering.

#

to make it called more like they intend, but still keep more current poses for late adjustment

#

@pastel fern didn't you say that you were on 4.19 originally though?

#

and your migration is what made it slow?

pastel fern
#

Yeah, we were on 4.19 before updating to 4.23. I know that the code, in that regard, is the same in 4.23, but does seems to ne an issue as well.
The actual problem (I was going to investigate) might be caused of the big Rendering changes they made. Already found some other stuff that I reported (AFAIR one thing was about occlousion culling), but cause of "awesome" bugreporting, I lost track of all the stuff

tired tree
#

yeah this was all intact as is in 4.19

#

i'm pretty sure even in 4.18, even though it was not using the new scene extensions it was still doing it the same way as well

pastel fern
#

At least the profiler talks smoother lines with the change. Maybe the change allows me to ignore other issues

pastel fern
#

In the main application we now have another problem that prevents evaluating the change to WaitGetPoses. As I now noticed, we have a hugh time for submitting the left/right eye. I tested switching the submissions, always the second eye submitted takes MUCH longer

void FSteamVRHMD::D3D11Bridge::FinishRendering()
{
...
    vr::EVRCompositorError Error;
    {
        SCOPE_CYCLE_COUNTER(STAT_SteamVR_PresentEyeRight);
        Error = Plugin->VRCompositor->Submit(vr::Eye_Right, &Texture, &RightBounds);
    }

    {
        SCOPE_CYCLE_COUNTER(STAT_SteamVR_PresentEyeLeft)
        Error = Plugin->VRCompositor->Submit(vr::Eye_Left, &Texture, &LeftBounds);
    }
...
}
#

drawing the scene is the smallest of the times (2,5ms) ... 😒
what is going on...

pastel fern
#

another test right after shows good times for submitting both eyes but the GameThread is 27ms IDLE and the RenderThread is 28ms WaitGetPoses ... the ghost of Unreal is haunting me...

tired tree
#

it shouldn't take that long for wait get poses

sturdy coral
wicked oak
#

yeah ue4 does that automatically for you

#

@pastel fern dont bother with that crappy profiler

#

is not even good

#

use Insights

#

you can see the proper syncs beetween RHI threads and Game threads there

brisk spade
#

can i use a VR Splash Screen under 4.24?

little scaffold
#

@brisk spade I think so yes, if I remember correctly you can use it from 4.18

brisk spade
#

@little scaffold i just found a comment udner a yt video that says no, but i will try it out

little scaffold
#

I think there might be new features from 4.24 that you can't use prior to that

brisk spade
#

ah ok yeah i will try it ou

brisk spade
#

nope the nodes arent visible in UE 24

pastel fern
#

@wicked oak using insights was the main reason for the update from 4.19 to 4.23. But every time I try to use it, it crashes when trying to read the data

wicked oak
#

insights on 23 is barely working

#

you need 24 or 25

pastel fern
#

Also the presentation of the tool only was "you see pattern, nice pattern". The video did not contain any usefull information regarding using the tool. Did not have a look at it since then

wicked oak
#

btw, even if you dont want to update your entire project, it might be a good idea to update it to 25 just for the profiling

#

on a branch

#

ah shit, i actually have a full presentation about using it

#

to profile and optimize things

#

but its in spanish

pastel fern
#

We cant just update cause of dependencies

#

I think I would get going with it, just the crashes...

wicked oak
#

its also possible to use the Microprofile integration Kite and Lighting opensourced... but thats much trickier to add

#

its basically like insights but not really

pastel fern
#

Though the profiler does not give as much insight as "Insights", I would assume timings it tells to be correct

#

Though telling me 2.5ms render time, but 33ms frame time is a bit off a weirdo

verbal kiln
#

Hey guys, I'm using the VR Scouting tools in the latest version, currently I'm using the valve index but the default controller mappings are for something else which is meaning I cant do a lot of things. Is there an easy way I can remap these control and possibly replace the visual display of the controller for the valve index one?

#

By default you get this, I would guess you would change the valve input if needed to get the functionality you need but then once I jump back into VR it seems to re-add the original bindings

pastel fern
#

@sturdy coral Thanks for the images. Though they confuse only more and contradict themself.
The first image shows that you should start rendering directly after the vsync.
The second image that you should finish rendering directly before the vsync and present directly after.
Both is basically not possible with WaitGetPoses, if the docs of WaitGetPoses above PostPresentHandsoff (This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would introduce a deadlock of some sort) is still valid. Accoding to that docs, we present first and then call WaitGetPoses to block until 3ms before vsync (this is what the openVR demo does). Though this might be totally outdated and duplicate of an old documentation of WaitGetPoses that was not correct after an update, as the docs on WaitGetPoses says This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to start rendering.. Which tells to call WaitGetPoses before rendering (this is what unreal SteamVR plugin does), though the sentence contradicts itself by saying that the function blocks and thus defines the point of where we start rendering and directly afterwards talk about the users need to start rendering. I should have my own need, but the function overrides it with its behavior

#

And according to the frame timings meassured with the profiler, calling WaitGetPoses after Present is the better option (even though it might be the outdated behavior).

pastel fern
#

Also note that the last 2 profiling picks had WaitGetPoses at the original place (FSteamVR::UpdatePoses) and still the timings are nuts

mighty carbon
#

long time no see @wicked oak !

#

(in #vr at least)

tame stream
#

anyone have experienced pixelated splash screens with oculus vr? are there any specs for the textures to use?

pastel fern
#

@tame stream try different compression settings for the texture. For steamVR at least, only one works

tame stream
#

which one?

pastel fern
#

"If you are targeting SteamVR, you will need to make sure that you set the Compression Settings of the Texture you are using for the Splash Screen to UserInterface2D(RGBA) or it will not be displayed when the Splash Screen is called. "

tame stream
#

yeah tried that already, didn't make a difference though 😦

#

also tried like all possible resolutions... still looking like crap

pastel fern
#

never tried oculus, sorry. Have tons of problems on my own I'm dealing with (steam vr)

tame stream
#

i bet

#

thanks anyway πŸ™‚

#

ok wow it was the texture streaming checkbox...

pastel fern
#

makes sense

#

texture is loaded only partialy when submitted to Oculus.

covert ferry
#

Hi guys...
I am currently researching how too cook/ package my project for the first time...

when I eventually do, and I click on the exe to open the game, will it automatically loo for a headset to play ?
since it is a vr project

pastel fern
#

ProjectSettings->Project|Description->StartInVR

covert ferry
#

thank you @pastel fern !

alpine torrent
#

seems like there is Mixed Reality Toolkit for Unreal as Unreal for Hololens

thin solstice
#

@alpine torrent yes, though I have to say I'm pretty disappointed in the HoloLens 2. It's hard to justify development for it

alpine torrent
#

the ue4.25 is supported at least now for hololens2 and those should be shipping

thin solstice
#

@mighty carbon In many ways, I think the holograms from the first gen systems were better. At least cleaner. the HoloLens 2 has some artifacts on the screen that microsoft claims is because of the larger field of view. But they are insanely distracting to me. The "larger" field of view is still tiny. like, if you have a hologram in front of you and you manipulate it, you cut off the top and them bottom. There are more direct interactions with the holograms, but it doesn't do well. I'm constantly fighting with it to press buttons, and if you use the ray traced control which SHOULD be coming from your hand, it feels incredibly off.

#

I think the Quest has better hand tracking than the H-2

#

they continue to "sell" it with videos showing these holograms all around you but it still very limited

#

and the artifacts are just terrible

#

at least distracting for me

#

My manager felt the same ways on most things (he wasn't as distracted by the lenses) but we don't feel like we could put these on the head of leadership and tell them that was the future

#

The apollo 11 demo they show is cool, and remote rendering from Unreal is super easy. It would be great to show unaltered high poly models, but you woudln't be able to see them all

#

Overall, given how long we waited for this version, and given how well Microsoft usually does with hardware, we really expected more from them but are left with "really?" when we use them

mighty carbon
#

I see

#

AR gen1 has failed!

thin solstice
#

Ultimately, I think AR has more use cases and will get there but we are not there yet. It has to be something like regular glasses. Holding up your phone or whatever just doesn't cut it

alpine torrent
#

there is some optimizations you have to make

#

and improving field of view seems more challenging

wide crest
#

hi guys, I'm rly desperate to get any help. I spend week on this and have no Idea what to do, except of asking people on internet for help ;] I added movie to show exacly what the problem is. was asking on forums and answer hub, and now You guys are my only hope . I describe everything here https://forums.unrealengine.com/development-discussion/vr-ar-development/1785074-cant-position-hands-when-i-move-and-rotate-actor-with-roomscale-steam-vr

finite ember
#

https://www.youtube.com/watch?v=zlzBifkjXDk after following this tutorial, my character was only able to go left and right but not forward and back. How could I fix this? Using valve index

How to make advanced joystick locomotion for VR in Unreal Engine 4. This is a similar style of movement seen in games such as Pavlov, Zero Caliber and Skyrim:VR. Topics covered: Blueprint scripting, controller inputs. This tutorial was made using an Oculus Rift S headset, but ...

β–Ά Play video
sonic lake
#

@finite ember look at the input event MotionControllerThumbLeft_Y (top left corner in your blueprint screenshot). The execution line (white line) out of it is not connected so the event is not triggering the execution of the code after it (the Branch and the Add Movement Input). That may explain it.

#

@wide crest it would be probably easier to handle room scale via a ready-made solution (like the VR Expansion plugin) rather than re-building your own. Of course the latter is also possible, but you will need to do quite some work to take the positional/rotational states from the HMD and the Tracking Devices (Motion Controllers) and transform each one so they work properly in room-scale. As an example, you can have a look at my tutorial on Snap Turn in VR with room-scale support. It shows how rotations can be handled in such case. https://youtu.be/1rQvPnKvlfk

Learn how to make a snap turn function for your VR projects which supports Room Scale movements. Even if your player moves in real life the rotation will always happen around the current HMD location.

Jump to 8:00 to skip the theory and go straight to the implementation

#vr ...

β–Ά Play video
covert ferry
#

I started a couple of different versions of my packaged app and ended up with icons for them in my library when I put my headset on...

because they are named the same and I kept going into the wrong app I decided to remove them...
I was hoping that when I select the correct one in my PC it my return to my library, at least in the app history.
this isn't the case XD
Is there a way for me to get it back onto my oculus library so I can open it from within the headset ?

eternal inlet
#

@eternal inlet you're probably looking for "r.SceneRenderTargetResizeMethod=2" and "r.SceneRenderTargetResizeMethodForceOverride=True"
@candid viper @sturdy coral Hi both, i just wanted to say thanks, those excact two settings seem to fix the insane performance hit i had with both my barebone test project, but also so far show good results in my game. Tested in both Packaged and PIE.

#

actually it does some hitching in PIE, but as long as Packaged works fine, i don't care hehe

little scaffold
#

@eternal inlet would this have any impact on a VR Game even if there is no SceneCaptureComponent in the scene?

eternal inlet
#

i think one of the other guys can answer that. Im honestly not sure.

covert ferry
#

Does anyone know how to get a project you made in unreal into your library in oculus ?

#

to allow me to open it from within the headset ?

little scaffold
#

@covert ferry I think if you play it once and you have enabled unknown sources you should be able to see it

#

@eternal inlet thanks I'll see if they answer

covert ferry
#

the problem is I had several in there of the same name, it was confusing so I got rid of them, now the correct one doesnt appear in there despite using it several times XD

blissful bear
#

@little scaffold I suspect it may do, I'd like to know too. I've had performance problems with packaged SteamVR shipping builds that run poorly compared to VR preview with no capture component.

little scaffold
#

@blissful bear I think so too, I just read that it forces render target to not reallocate itself automatically which is good for the Rendertarget used for VR and would keep this away:
LogRenderer: Reallocating scene render targets to support 2720x1600 Format 10 NumSamples 1 (Frame:6985)

blissful bear
#

I noticed it on an old project and it really annoyed me to find that a shipping build ran noticeably slower than PIE. The client didn't notice (or care) so I didn't really investigate. I think I was having issues with behaviour with Vsync on/off at the time so I may be mixing up the cause for what I saw.

#

It bugged me though so would be useful to know for future VR projects.

eternal inlet
#

@little scaffold and @covert ferry agree, i've seen that too, so behind the scene, it may be using the same code the Scenecapturecomponent does. Hope maybe @candid viper , @sturdy coral or @tired tree knows?

candid viper
#

For Oculus, you would tend see "Reallocating scene render targets" in the log on a per frame basis when it was happening. Whether it caused hitches or not depended on the state of gpu memory - sometimes that reallocation was cheap enough to not be an issue. There are other cases where UE is rendering to a different target - Canvas/Slate being the ones from memory - but they don't try to re-use the camera render target, unlike scene captures, so didn't trigger the problem behaviour. (There are separate performance issues with Canvas/Slate you can hit, but they're really related to specific use cases).

alpine torrent
fluid cipher
#

Hello, I'm doing AR on IOS (iPad mini) with a Mac.
For some reason the app records and saves to disk the camera every frame (I have no blueprints telling it to do so and never have).
This makes the iPad's storage be full in half an hour. Absolutely hair pulling.
I've downloaded the "Documents and Data" from my app using xcode to inspect them. The screen shots are of the camera only, without my AR 3d models or user interface.

Any clue on what I might be missing?

pastel fern
#

@tired tree @sturdy coral @chrome elk After some further investigation into my WaitGetPoses problem, I came to the conclusion that it is the Render time (green bar) that is not directly visible in the profiler, but indirectly via the WaitGetPoses (or other stuff like Present if you remove WaitGetPoses entirely). The scene about 20 objects with 50.000 vertices each. I got confused with the low draw cost shown in the profiler, but thats basically just the blue bar "Submit D3D Calls", which is small as there is not much to submit, but much to render (green bar), which makes sense. Unreal does not profile the graphics card directly. Though SteamVR then seems to have need to access the graphics card in WaitGetPoses, but it is still rendering and needs more time. I tough that when calling Present, the rendering is done, but it seems only to enqueue the "Present" into a command chain on the graphics hardware/other software.

#

Still I keep to execute WaitGetPoses in FSteamVRHMD::BridgeBaseImpl::PostPresent() as that gives us a smoother graph.

#

The actual performance loss is thus still somewhere existing in the bowels of the engine

#

Thanks for the help

pastel fern
wide crest
#

@sonic lake thank You! VRExpansion will probably solve all my problems

wheat holly
#

Hi! Did anyone ever have the problem that when you use motion controllers and you shake them around that there seems to be some kind of distortion? I can't show it because it apparently only shows it inside the VR headset. I can't really seem to figure out what is causing this. I did notice that for some reason my VR preview seems to be stuck at around 45 FPS, can that be the cause?

I'm using Unreal 2.24.3 in a new project. I've simply created a pawn and put a camera along with the Motion Controller Components on 2 hands.

frigid kite
#

@wheat holly The distortion you're seeing is most likely your VR framework (Oculus or SteamVR) interpolating the missing frames for you, because you're only running at half the target framerate

#

As soon as you miss the vsync framerate (in your case 90 FPS), you will drop to the next possible sync rate, in this case half

#

Because low FPS leads to nausea, Oculus and SteamVR will automatically fill in the missing frames by extrapolating from the last rendered frame and the new HMD position and rotation

wheat holly
#

Thanks for the explanation. But what could be causing this? My CPU and GPU are not bottlenecked when running, yet I'm still not able to hit the 90FPS.

#

I also checked if fixed frame rate was on, which is not the case.

#

It's also a new scene, so there's barely anything to render.

frigid kite
#

what's it say in stat unit?

wheat holly
#

Sorry, I'm not familiar yet with stat unit. Is it something I can quickly google, or is it a bit more advanced?

frigid kite
#

ah, it's a console command

#

alternatively, you can click the little arrow in the top left corner of the viewport, then Stat > Engine > Unit

wheat holly
mighty carbon
#

I am keeping eye on dev-vr branch commits and I see mostly iOS AR sh!t being committed.

#

Sad

frigid kite
#

@real needle 90 FPS = 11ms, so your game thread highly exceeds that

#

Same goes for your GPU timing

wheat holly
frigid kite
#

Is there anything else that could be dragging your PC's performance down? And on that topic, what are your specs and how well do VR games run on your system?

wheat holly
#

I for example play The Forest with my little brother in VR, and that runs pretty smooth. But I do admit I never checked the FPS.

frigid kite
#

Potentially you're being helped out by the frame interpolation in those games as well

#

I'm not familiar with the AMD graphics cards anymore, so I don't know what's recent

#

still, the game thread being so slow is remarkable

wheat holly
#

Any way I can easily check if that's the case? Because now you mention it I did experience something similar in another VR game, but not in The Forest or something as simple as Beat Saber.

frigid kite
#

What headset are you using?

wheat holly
#

The original Oculus Rift

frigid kite
#

Ah then I don't quite know, only have experience with SteamVR myself. You should browse through the (developer) settings, there surely should be a way to turn on a performance overlay somewhere

wheat holly
#

I also have Steam VR, so if there's any option in there I can turn it on

frigid kite
#

Or to turn off asynchronous space warp (the interpolation method)

#

Yes, in the developer options there's an in-HMD performance overlay you can turn on

wheat holly
#

I think I found it, let me try it

#

The last bit is me putting of my headset

frigid kite
#

Seems like it's running fine there

wheat holly
#

This is Beat Saber btw

frigid kite
#

Maybe you'll have better luck with your project in Unity then 😬

wheat holly
#

:(

frigid kite
#

We can still take a profiler snapshot of your project and see if we learn anything there

wheat holly
#

Would love to try that first

frigid kite
#

Under Window > Developer tools > Session frontend, go to the Profiler tab and press "Data Capture" twice while playing in the editor

wheat holly
#

Alright, I have it.

frigid kite
#

Right, can you click open the game thread? I assume there will be a "CPU stall - wait for event" at the top of it

frigid kite
#

Hmm, seems like that's all engine overhead from drawing the engine UI

#

Can you try running the game through "Standalone game" instead of VR preview and see if the distortion problem persists?

wheat holly
#

I tried to package it before and ran that, but I still saw the distortion. But let me try standalone game πŸ™‚

frigid kite
#

ah then it will be of no help

wheat holly
#

It also didn't want to show up in my headset, so there's that xd (The standalone game)

tired tree
#

@wheat holly did you have a blueprint window up and active at the time

#

in some setups that can drag down performance a ton

wheat holly
#

I do not have one open, I have the editor open, along with the output log / details panel / project settings. EDIT: and the Session Frontend window

tired tree
#

from those slate timings, the editor was processing

frigid kite
#

It also didn't want to show up in my headset, so there's that xd (The standalone game)
Did you enable Start in VR in the project settings?

wheat holly
#

I did, let me check if it's still there

#

It's still checked

pastel fern
#

While cleaning up our project, I try to track down a issue with scaling the player using both hands while pressing the grip buttons (like TiltBrush and other VR applications that allow that behavior). Using Oculus with the Oculus VR Plugin for Unreal the scaling works perfectly. Though using SteamVR Plugin (no matter if Oculus Touch or Vive), the scaling process is jittery and flashy like hell.
Unreal uses the same scaling behavior for their VR Editor. In there the problem is the same, jittery and flashy, absolutely not presentable to the enduser, as it also is nauseous. Our scaling logic is fine (distance between controllers when starting to scale compared to the current distance, applied as delta to WorldToMeterScale), as it works with Oculus. Anybody tackeld that at some point and can give a hint?
I logged the values of WorldToMeterScale in tick while scaling, and the values are fine. They are properly progressing in one direction (consistently higher or lower values, depending on scale direction). I also disabled WorldToMeterScale for the RenderThread for testing, and while the view is not adjuted to the scale, the scaling itself suddenly works fine. Thus its probably only a rendering issue.
Also WorldToMeterScale does not see to be a concept of openVR, but Unreal internal logic.

wheat holly
#

Not to push the question above away, but thanks for the help Thomas and MordenTral. I'll try to google some more, maybe that I'll find something I had not seen before. Either way thanks for the help! ❀️

frigid kite
#

Ah, you still have to check the GPU profiler @real needle

#

Enter profilegpu in the console and see if it is somehow taking longer than 11ms to render that very basic scene πŸ€”

pastel fern
#

@wheat holly as your profiling pick shows, you have a huge time PollGameDeviceState

#

TotalSlateTickTime is rendering the editor window

wheat holly
#

But even if I package the game, (which I just did again) then I still have that issue. I even closed all programs on my PC (including Unreal)

#

So no editor open at that moment

pastel fern
#

Thom what input deviced do you have? Its polling deviced for data

#

that is the problem

wheat holly
#

I have 2 Oculus Touch controllers which I use as motion controllers which have input

#

I also have a keyboard + mouse connected to my pc of course

pastel fern
#

SteeringWheels? Thirdparty music keyboards or what ever

wheat holly
#

Speakers, a webcam, the rift sensors and my cellphone are connected + a usb dongle for my controller, but the controller is offline

pastel fern
#

unplug everything

#

except mouse and keyboard

wheat holly
#

Give me a second πŸ™‚

pastel fern
#

maybe the controller usb dongle is the issue. As it might try to find the controller, but it cant

#

you can also check the Output log

tired tree
#

@pastel fern are the valve controllers correctly using the world to meters scale in your engine version? They were not for awhile due to the new input module they have

#

the hmd should be unchanged and was working fine with it last i knew, so I guess if you are seeing the entire world jitter it would be outside of the input module

pastel fern
#

the jittering is still existing in UE4.25 VR Editor

#

which controllers do you mean? the MotionControllerComponents? Using your GripMotionControllerComp

tired tree
#

no, i mean the input module

#

but 4.25 steamvr input module should be using world scale correctly

#

it was an earlier bug in it

pastel fern
#

after the scaling process, everything is fine. it just happens during the scaling

tired tree
#

you tried this without your steamvr changes correct?

#

because that late update sample for the camera would actually have an effect here

#

polling the new position would use the new world to meters

wheat holly
#

Alright I unplugged everything except for one motion controller, the sensors, the headset and mouse + keyboard. But I still get that weird distortion. (Sorry that it took so long, I needed to grab a package that was delivered)

pastel fern
#

@wheat holly what does the profiler show now?

wheat holly
#

GPU profiler or the other one?

frigid kite
#

The other one

pastel fern
#

@tired tree yeah, the problem was existing beforehand

tired tree
#

yeah looking at it, it stores the beginning of the frames world to meters

#

and re-uses it in the render thread

tired tree
#

so changing it wont change it visually that frame

pastel fern
#

I put a CriticalSection around TrackingFrame.WorldToMetersScale = GameWorldToMetersScale; in hope that it helps, but nope

wheat holly
pastel fern
#

Still huge time for input device polling

#

while playing unplug mouse and keyboard

wheat holly
#

Still the same effect

pastel fern
#

output log any usefull mentions?

wheat holly
#

I see 1 error, and a couple of warnings.

Warnings:

LogStats: Warning: OnCaptureFileProcessed: D:/UnrealEngine/TestProjects/VrTest/Saved/Profiling/UnrealStats/Received/UEDPIE_0_MainLevel-Windows-09-17.49.46
LogStats: Warning: TotalLoadTime: 0.08

LogStats: Warning: OnLoadStarted: D:/UnrealEngine/TestProjects/VrTest/Saved/Profiling/UnrealStats/Received/UEDPIE_0_MainLevel-Windows-09-17.49.46

LogStats: Warning: There is no thread with id: 8244. Please add thread metadata for this thread.
LogStats: Warning: There is no thread with id: 7112. Please add thread metadata for this thread.```
And the error:
```LogDirectoryWatcher: Warning: Failed to begin reading directory changes for D:/UnrealEngine/TestProjects/VrTest/Saved/Automation/Comparisons. Error: The system cannot find the path specified. (0x00000003)```
pastel fern
#

should not be related

#

did you try to restart after unpluggin everything except mouse/keyboard/headset? Maybe the drivers are still running

wheat holly
#

I'll try that

#

Also doesn't work, either way my father is here for dinner

#

So I have to go for now

pastel fern
#

@tired tree If you record a movie of the issue and go through it frame by frame, you can see that the hands are steady in the world, but the view position is jumping around

tired tree
#

@pastel fern which tick group are you scaling it in

#

might want to put it post update

#

it shouldn't be reprojecting it if you are hitting frames

#

but that would cause a ton of artifacts too

pastel fern
#

logic is in player blueprint tick, but changing it to Post Update Work does not help.

#

The issue seems to be gone when running at 45hz

tired tree
#

strange

#

would have expected it to be worse at 45

pastel fern
#

There is even more weired stuff to it. I had a talk to you about this I gues 2 years back in the Forum. The scaling also only works "properly" when attaching a Skeletal Mesh to the left and right GripMotionControllerComponents. There is no further logic, just the pure existance of the Skeletal Mesh comps as child make "it work properly"

pastel fern
#

And if the WorldToMeterScale values are progressing consistently during the scaling (as the prints have shown), I have no clue what would be so problematic, as the calculations that use WorldToMeterScale, are still the same. And the calculations work properly when not scaling.

#

And as unreal has the same problem with the VR Editor I would expect the problem in SteamVR Plugin

livid fern
#

Ahoy! Anyone else found that activating ES 3.1 preview crashes the editor when using mobile multiview.

#

Checked issues but couldnt find anything.

pastel fern
#

I now tried to log the distance of the headset to the world origin. And the values are continous as WorldToMeter.
I also tried DrawDebugSphere in front of the headset every frame with the same distance and recorded the scaling process again. When looking at it frame by frame, the view suddenly gets further away from the sphere. So I gues the problem is with the projection info for the eyes or FOV or something like that

#

executed in tick.

#

Thus my Grip Scaling code is out of question

wheat holly
#

I'm starting to think that VR and Unreal don't like each other xd

pastel fern
#

Can't they just make some love? dam it

#

In the next test I made, the GameThread values for the components are continous (WorldLocation). Stepping through the video, it now seems more like the view is correct, but the controllers don't get the transform update pushed to the render thread and render one frame with the previous transform. Though the same thing seems to be valid for the drawn DebugSphere in front of the headset which is only valid for one frame. Though the printed component values update and the sphere location is recomputed using the updated game thread values, the sphere is at the exact same location ... as if a render primitive update would get entirely lost/is skipped
The video shows the frame analysis of the recorded gameplay https://youtu.be/Sko0oczxnA8

undone nimbus
#

Anyone have any recommendations or reference to existing solutions for LeapMotion (Ultraleap) teleportation/rotation for VR?

spiral marlin
#

Anyone know how to avoid double vision in VR when looking at objects/widgets close to the eye?

sturdy coral
#

@spiral marlin it could be due to lens distortion, but like it is an issue with 'vergence accommodation conflict'

#

you can look that up for some details, no real solutions except future hardware. You can blur close stuff with DOF just to discourage it but that isn't good for people who aren't affected (like people with strong glasses prescriptions and low range of focal range in their eyes)

spiral marlin
#

thanks @sturdy coral. I'm currently just placing it far away and then trying to use tricks to make it feel close

kindred girder
#

Hey guys, is there anyone that develops using the Hololens 2 here?

#

I've got a few questions, I'm kind of desperate 😦

#

I'd really appreciate any help!

covert ferry
#

Does anyone here have experience using virtual desktop to play their project wirelessly on the quest ?

#

Once in VD I can go into my packaged game, it seems to work perfectly, but my controllers are not tracked for some reason...

covert ferry
#

The app I made and packaged works great in virtual desktop BUT
my hands do not track at all...

#

I would be MEGA greatful if anyone could advise me on this...

exotic halo
#

Hello!
need help with oculus quest profiling.
why in "initviews"=>"view relevance" can be too high - around 7-12 seconds. even on empty (10x10 plane + skysphere map )

#

what is "FandroidOpenGl_platformBlitToViewport_Custom Present"
what is this parameter? what is he responsible for and how can I reduce his time?

covert ferry
#

has anyone here ever managed to create a project which works on virtual desktop ?

covert ferry
#

@sonic lake very sorry to @ you, I just dont know who else I could ask,
I have tried in multiple forums..
when you get a moment could I ask you a couple of questions regarding this issue please..

pastel fern
#

@exotic halo Present means to Present what you got to the customer

#

in terms of rendering: You present your rendered image to the user.

#

What usualy swaps the FrontBuffer with the BackBuffer (SwapChain)

#

The Present can take long when the graphics card is not done rendering yet

#

at least that is one of the possible faults

exotic halo
#

The Present can take long when the graphics card is not done rendering yet
@pastel fern but almost 5s on empty map?
or it try to make render thread go to 72 fps (for quest native?), like kind of stall?

pastel fern
#

@exotic halo can you work with C++?

#

Maybe your skysphere is already to complex for quest?

#

create a completely new level

#

add a plane, a light and a player start

#

place the plane at 0,0,0 and the player start on top

#

see what happens

exotic halo
#

Maybe your skysphere is already to complex for quest?
@pastel fern it`s just emissive unlit blue and setup as "sky" in material editor. flat color.

#

place the plane at 0,0,0 and the player start on top
@pastel fern it was exactly this test map

pastel fern
#

any volumes? post process, relfection

exotic halo
#

@exotic halo can you work with C++?
@pastel fern nope - can`t into coding, but have coders near)

#

any volumes? post process, relfection
@pastel fern nope

pastel fern
#

search the code for the profiler stats in C++ and maybe a progammer can find the culprit in code. But timing is diffult to debug

exotic halo
#

ok. but why "initviews" is a high too? or it just oculus quest (android) specific?

#

i work with PC VR before and high init or hbz tells "bro - you have a bad game thread, optimize it"

pastel fern
#

dunno whats going on there. I trouble with tons off stuff in VR I would be happy if someone could just tell me whats the matter.

sonic lake
#

@covert ferry Sorry I have no experience with that, but if you share what doesn't work in relation to what you are trying to achieve the collective knowledge of the community may help you out.

covert ferry
#

@sonic lake it seems like an issue where my hands are not attaching to my motion contrllers somehow, and remanining on the spot.
they do teleport when i click the sticks though...
thank you for the reply though!

sonic lake
#

Looks like the motion of your controllers is not being tracked but the button input still works. You can verify that but logging their position a lower level and checking the results.

#

@covert ferry

covert ferry
#

What will happen if I enable the OpenXR plugin in my project ?

mighty carbon
#

the project will erase itself

#

😱

covert ferry
#

XD

mighty carbon
#

try it

#

crashing app is the worst can happen

sonic lake
#

@covert ferry Another thing you can try is to activate the debug HUD of your VR system. Not sure what you are using.

covert ferry
#

I am using the oculus quest.
What effect will activating the debug have ?
I haven't conciously activated it up to this point because its not something I have looked into.
@sonic lake very grateful for your time.

sonic lake
#

@covert ferry ok this is particular setup, Quest with virtual desktop, not sure what the implications could be or whether it should be fully supported. Maybe someone else has experience.

hard relic
#

Hi, any idea why my display is suddenly black In "ES3.1 Preview" Mode when i'm previewing my game in selected viewport?

warped quail
#

Hey guys, is it necessary to scale the HUD for different vr headsets? Any help is appreciated.

wheat holly
#

For the people that were helping me the other day, it turns out that my GPU was being bottlenecked, I found out when looking at my driver statistics (Windows apparently does a poor job at showing you how much is really used), so I removed the post processing, turned on Instanced Stereo and turned on Forward Shading and now I can hit the 90FPS at a steady rate and indeed the blurry / distortion effect has gone away :D

#

For any VR developers that have an Oculus Rift and did not know yet, you can very easily see your FPS / some more stats inside your headset if you use the Oculus Debug Tool. You can run it by going to C:\Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool and then selecting Performance under the Visible HUD option.

misty halo
#

So, making VR scenes for rappers is a good side hustle for everyone if y'all need funding lmao

calm knoll
#

@misty halo could you elaborate lol?

rich canopy
#

Haha what kind of scenes did u do

covert ferry
#

Is anyone here able to explain to me (even if briefly)
What will happen if I enable the OpenXR in my project ?

In doing so should I be turning off other plugins ?

frigid kite
#

@wheat holly Nice!

finite ember
#

I have recently made a climbing system using blueprints for vr in ue4. I am wondering how I can make it so when the player reaches the top, they can push themselves on top and step up onto the platform

hard relic
#

@finite ember switch to a timeline animation and desactivate your climbing system?

tame cypress
#

Did something happen between 4.23 and 4.25 that changed default behavior of the print nodes to not display their messages while in stereo or in hmd? Upgraded my project and can't seem to get the print statements to display now in 4.25

sonic lake
#

@finite ember you need a kind of ground/platform detection to make that work.

#

Have a look at my climbing. You can still use your own climbing system and add my ground detection.

covert ferry
#

I'm looking for some advice regarding OpenXR...
I noticed when I disabled the plugin for steam that I could no longer package my game...
The hands disappeared from the mention controller...

I am hoping to experiment with OpenXR and I wanted to know if I can use that instead of the steam plugin or if I need to use them at the same time.

I have looked it up and I can't find any documentation explaining how to use OpenXR so I would be grateful for any advice!

digital musk
#

Hi - what would be best practice for having a Flat Screen UI and a VR UI - I have basically the same buttons but the layout is quite different.

I'd like to not have to duplicate all the logic as far as what the buttons excecute.
Do I make a parent family for the widget which contains the functions?
Or do contain the function in a library - or interface?

real needle
#

@digital musk I did not fully understand the question you want to ask, but I can help.

finite ember
#

@sonic lake At what time in the video do you explain the platform detection system?

covert ferry
#

Hi guys...
I have been asking on here for a couple of days now, looking online/reading documentation to no avail...
I Need to ask a few questions to someone who actually develops for VR
regarding controller tracking and API/ plugins.

I have come to a dead end, asked in multiple forums and I do not know what I can do to get some information at this point.

essentially my hands are stuck on the floor in my packaged projects...

I found a forum where someone had a very similar problem and this is how they fixed it...

However I do not know how to code (I exclusively use blueprints) and am unsure how I could test this fix in my own game

#

here is the link to the actual forum post

sonic lake
#

@finite ember that part starts at 14:30

wheat holly
#

Hi guys...
I have been asking on here for a couple of days now, looking online/reading documentation to no avail...
I Need to ask a few questions to someone who actually develops for VR
regarding controller tracking and API/ plugins.

I have come to a dead end, asked in multiple forums and I do not know what I can do to get some information at this point.

essentially my hands are stuck on the floor in my packaged projects...

I found a forum where someone had a very similar problem and this is how they fixed it...

However I do not know how to code (I exclusively use blueprints) and am unsure how I could test this fix in my own game
Hi, I'm not some kind of expert in VR (by far not), but which engine version are you using and does the issue only exists that your hands are stuck on the floor when packaging or also in the editor?

So far I understand what the person is doing in your forum post is setting the hands when being spawned to be owned by the character (at least I think it's a character looking at the name) that spawns the hands.

covert ferry
#

only in the packaged version. I am using 4.242

#

@wheat holly

#

how might I do that in blueprint ?

wheat holly
#

How does your current set-up look like for getting your character or pawn to work?

covert ferry
#

I can show you

wheat holly
#

This is from the VR template right?

covert ferry
#

yes

wheat holly
#

Did you modify anything, or does it just not work out of the box?

covert ferry
#

I don't believe i have midified it

#

when I play the packaged version through steam, the hands are stuck in the floor, through the editor it is fine

#

my best guess would be to parent ther motion controller to the pawn ?

wheat holly
#

Well, it's a bit weird that it does work in the editor but not when packaged. But you could try it, assuming Epic hasn't already done that somewhere.

covert ferry
#

I am not sure how else to make the hands spawned owned by the character.

wheat holly
#

Let me try starting the project as well

#

So for me it does seem to work when packaged, I'm however on 4.24.3. Maybe that 4.24.2 has a bug or something?

covert ferry
#

there is one other thing @wheat holly

#

it works for me when tethered, but it does not work when using virtual desktop (to run the packaged project untethered).

#

as I dev with an oculus quest

pastel fern
wheat holly
#

Hmm, I'm not really familiar with virtual desktop. But is it up to date, have you tried looking if other people are experiencing the same thing on forums etc?
Alternatively, if you have done so. You could mess with some other engine versions and at least try to figure out if the problem is an engine bug. I had some bad luck with for example 4.25 so messed around with some different engine versions.

#

Assuming it has been fixed or is not here for a longer time that is, and is an engine bug in the first place.

#

But other than that I'm also not really sure, I also can't test it my self because I don't own a quest. (Still have the original Oculus Rift).

covert ferry
#

ok thank you, I think i might try with other versions just to see, once i have tried a couple of other things.

wheat holly
#

Hopefully you can figure it out! ❀️

#

If you need anything else from me just ping me :D

covert ferry
#

it is the ONLY thing holding my project back XD

#

thank you

pastel fern
#

@sonic lake did you spend some though about climbing with 2 hands holding onto a grab object at the same time? This for sure is much more difficult as the hands are fixed in the virtual world but still can move around in real world and positioning the actor is suddenly a chore

sonic lake
#

@pastel fern it's definitely possible but it has two challenges. 1. attaching two hands to the same object needs some extra work as the logic from the VR template currently is that you attach the object to the hand and not vice-versa, 2. indeed you need to define how to move in that case. I would just use the intermediate point between the two hands as a pivot point, for the rest the logic would be the same.

pastel fern
#

Yeah, something like that, if it feels good. Dunno how they (if they) did it in TheClimb

sonic lake
#

@pastel fern For example by detaching the hands from the pawn and attaching them to the rock (whatever) until they are released and attached back to the controller

#

It's a common technique.

pastel fern
#

yeah I see, that makes it much easier as you don't have to counter the updates comming from the VR system

covert ferry
#

the part about setting the owner...

pastel fern
#

@covert ferry expand the SpawnActorFromClass node. There you can set the owner

covert ferry
#

I am not sure the default vr template uses a spawn actor from class node, but I will look

pastel fern
#

you can also set the owner to an actor with SetOwner

covert ferry
#

brilliant thank you, I will experiement with that then, to see if setting the owner of the hand mesh to the pawn makes it work.

pastel fern
#

owner is only a reference. Mostly used for Multiplayer

#

This is about "Who (which object) is able to send things to the server"

covert ferry
#

I wonder what that has to do with attaching the hands then ?
This came from a post where a persons hands were stuck on the floor (like mine are)

pastel fern
#

Its good practice to do it, but depending on your code, not neccessary. Maybe he is using the Owner variable to call stuff in his code.

exotic halo
#

Hello everyone! :)
I changed my oculus quest build from es 3.1 to vulkan... and have a huge performance loss due to slate draw. But why? i didn`t use any widgets (

kindred girder
#

Is anyone developing something with the Hololens? In particular, something that uses UDP sockets?

pastel fern
#

@exotic halo editor. You would need to run without editor and use "stat startfile" and "stat stopfile" for profiling, then open in Profiler

exotic halo
#

it`s not editor

#

it`s apk stat

#

deployed on quest (

#

@exotic halo editor. You would need to run without editor and use "stat startfile" and "stat stopfile" for profiling, then open in Profiler
@pastel fern it`s exactly what you say - it packaged game stat file 😦

pastel fern
#

@exotic halo uhm the problem is not the rendering of slate, but CustomPresent

#

and Present is probably waiting for the graphics card to finish rendering

exotic halo
#

All another process in render thread takes 6-8ms.

#

and Game thread time +- same... and 30-40ms frame sync of course

pastel fern
#

Are we still talking about an empty scene?

exotic halo
#

kind of. 5-10 meshes + character

#

if i build it without Vulkan - it solid 72 fps

#

i`m just curious - why it happens?

pastel fern
#

No idea, not working with quest

#

Maybe you have heavy shaders that were downgraded when not using Vulkan, but with Vulkan the default shaders are taken?

#

Test empty scene first. Plane, playerstart, simple light.

#

If that runs, try to add one thing after another

torpid hawk
#

how I can do a side by side in my game? I'm making my own vr headset, with some blueprints or something similar?

exotic halo
#

Maybe you have heavy shaders that were downgraded when not using Vulkan, but with Vulkan the default shaders are taken?
@pastel fern shaders just texture and "fully rough"
will try upgrade to 4.25 or 4.25 oculus branch. mb it helps

tame cypress
#

@pastel fern thanks for that link. I guess it's time i move to something better than just seeing the print messages anyway. So they made them private in 4.25?

pastel fern
#

The message buffers, yes.

#

Though just that should not break the display that was working in 4.23

grand chasm
#

Hey, does anybody know why my motion controller mesh has no material applied in the packaged version? I'm using the steamvr input plugin and the default visual for the motion controllers. The material shows up playing in editor . Thanks.

#

4.24.3

pastel fern
#

Material is in a folder that is not shipped?

#

(packaged)

sullen vortex
#

Hey, does anybody know why my motion controller mesh has no material applied in the packaged version? I'm using the steamvr input plugin and the default visual for the motion controllers. The material shows up playing in editor . Thanks.
@grand chasm mobile or desktop?

grand chasm
#

@sullen vortex desktop

sullen vortex
#

if you hit play on vr in the editor you can see them?

grand chasm
#

Yes, they look good then. It's just when packaged, the meshes have no material. It must be something with that motion controller competent visualization that I'm not accounting for. I'm not attatching a mesh to it myself, if u know what I'm saying.

tired tree
#

it used to be an issue because they weren't using a package compatible method of extracting the texture data. But a fix got merged in a few engine versions ago so it should be fine now.

sturdy coral
#

4.25 broke some stuff with plugin content folders

#

@grand chasm try adding the plugin's content folder (or the sub folder with the material) to directories to always package, in packaging settings

#

I know for steam audio it isn't packaging certain uassets for default reverb it uses or something and that is a fix there

tired tree
#

@sturdy coral the texture is from the steamvr folder in steam

#

not the engine

#

or you meant the material itself

#

nnn

#

mmm

#

that should throw some errors out in log though

sturdy coral
#

yeah the material uasset I guess

sullen vortex
#

Yes, they look good then. It's just when packaged, the meshes have no material. It must be something with that motion controller competent visualization that I'm not accounting for. I'm not attatching a mesh to it myself, if u know what I'm saying.
@grand chasm any warning during package? do you have the game log? as modern says it should appear in it

night linden
#

has anyone seen this before? when I run my app through the alpha channel in store :

#

throughout the entire game, the graph just goes up and down constantly. Just have my app in review stage and failed on performance 3. they are experiecing what I see when I run the exe from desktop, rather than through oculus. Exactly the same build

night linden
#

figured it! so I need to press alt-enter to make it proper fullscreen and then it seems to be fine

#

anyone else experienced this and how to resolve?

stable ibex
#

@night linden I would probably force the app to be fullscreen

night linden
#

I did try with the console command fullscreen. it runs it changes it which is great and fine. then I exit play game again and it comes back to the above 😦

#

@stable ibex

fading shore
#

While developing a VR game on Unreal Engine 4, we have some issue - a severe performance drop when launching a project through SteamVR, which appeared in SteamVR version 1.11.11.
When game is running via the Oculus application, then everything is fine (the performance is the same as it was before). If via SteamVR, then the performance drops by 1.5-2 times.

pastel fern
#

@fading shore profling

fading shore
#

just using diffirent app to start VR. Same hardware

pastel fern
#

did you profile the issue?

fading shore
#

did you profile the issue?
@pastel fern Nope, I"ll done it soon. But all was ok until 1.11.11. Project has no changes at all.

pastel fern
#

There was some problems with heavy logging. Mabye u suffering from that

fading shore
#

how can I figure it out?

pastel fern
fading shore
grand chasm
#

@sullen vortex We went with recreating the controllers with BPs instead. When looking at build logs thee was no warning indicating an issue with a material or anything steamvr content related.

covert ferry
#

I am desperate for some information.
Has anyone here got experience with using Virtual desktop to play test their packaged VR project ?
My issue is that when I go into my project in virtual desktop, my hands are stuck on the floor, totally still...

I can make the buttons work but the hands do not move at all.
And I know they are being tracked to some extent because when I press the options button to bring up the steam options, the touch controllers appear in front of me as they should.

this same project runs just fine when using the oculus link.

#

PLEASE, if you have any idea what might be going on I would be greatful, I have been on the VD discord, checked online, no luck...

covert ferry
#

Here Is a possible fix but I am not sure how to implement this so I would be very grateful for any advice on this...

sturdy coral
#

@covert ferry try disabling the oculus plugin and see if it works through steamvr on link

#

(assuming virtual desktop still requires steamvr and doesn't work with oculus sdk)

#

so you can rule out it being a steamvr problem

covert ferry
#

just turn off the oculus plugin in the project settings then package/ try it ? @sturdy coral thank you for the reply

sturdy coral
#

yeah, in plugins not project settings

#

does virtual desktop streaming still require steamvr or did they make it work with other stuff yet?

covert ferry
#

it still requires steam VR @sturdy coral

radiant garden
#

Virtual Desktop is on the Oculus store now, so it has to be working without SteamVR

covert ferry
#

It doesn't use steam vr unless you download the patch via sidequest (which allows you to stream pcvr wirelessly, and with excellent quality/very low latency)
@chromatic

#

@radiant garden

radiant garden
#

Oh funny

#

Yet another place where the Oculus walled garden is causing problems

#

LOL

covert ferry
#

It's a real shame too

sturdy coral
#

@covert ferry were you able to test without the plugin?

finite ember
#

@sonic lake Your suggestion for the climbing step up system didn't seem to work. When a try to pull myself up onto something, my arms don't push me high enough so I can't get on top of the object. Any other ideas, or am I doing something wrong?

covert ferry
#

I wasn't, but I am going to have a go this morning, I will report back to you with my findings 😁

#

@sturdy coral

covert ferry
#

@sturdy coral I tested without the plugin, at this point I am convinced that it is an oculus issue. I dont think virtual desktop knows what to do with it.

sturdy coral
#

@covert ferry so it didn't work with link through steamvr?

#

or did?

covert ferry
#

normally when I open the app and I have link set up it automatically opens.

#

I didnt actualy specifically open it through steam vr so i will have to try that again.

sturdy coral
#

@covert ferry if you disabled the oculus plugin, it should have run through steamvr though right? you may have to disable the openxr plugin too

covert ferry
#

well I think I have to go into steam VR and set it to play a non steam game first as I did with my original version. @sturdy coral

sturdy coral
#

Does VR preview not work with it?

#

I wouldn't be concerned with launched through steam vs just verifying it is using steamvr (if steamvr overlay works it is, or possibly openxr)

#

But with virt desktop rather than link maybe that is a requirement and so is worth testing I guess

covert ferry
#

I just managed to get it to work somehow, but it bugged out when I changed level within the app..

covert ferry
polar valve
#

Anyone know why builds on the Pico Neo 2 are really dark?

fading shore
#

SteamVR has twice GPU load higher

#

app frame rate by Oculus debug tool 80Hz vs 40 (Oculus app vs Steam VR)

#

@pastel fern if u at list can provide me links to figure it out - it will be very helpful

pastel fern
mighty carbon
#

@polar valve what made you decide to get Pico Neo 2 vs Quest ?

polar valve
#

@mighty carbon it's for location based entertainment and Facebook is making it difficult to work with the quest. The Pico is better for enterprise use in many aspects, just a shame the tracking isn't as good

mighty carbon
#

I am not sure how Fb makes it difficult to work with Quest, but good luck working with obscure HMDs and UE4 :/

polar valve
#

They change the licensing terms every couple of months and they're very vague about whether the quest is allowed to be used in LBE. Iirc they've also sued businesses in the past for using the rift.

#

It's not as nice as working with the quest but we don't really have a choice unfortunately 😫

mighty carbon
#

tbh, I'd contact Oculus to clear up all the legal hurdles and get Quest.

polar valve
#

Maybe it's worth trying again yeah. We had written approval in the past but the guy who approved it quit or got fired and I get the feeling no one at Oculus knows what's going on now. There are like 20 companies building quest based systems but no one can get a clear answer

#

The Pico is pretty good though tbh, other than the tracking

mighty carbon
#

good tracking is everything in VR

polar valve
#

True... The tracking is good when it works, it just never remembers its position or guardian

sturdy coral
#

@fading shore if you see doubling you need to turn off reprojection when measuring

#

On the oculus runtime through their debug tool, and steamvr through a special hotkey on the mirror window (or they might have added an option again to the menu)

sonic lake
#

@finite ember hard to tell what could be wrong without seeing your code and knowing you have done an own implementation. Anything more you can share?

placid spear
#

I noticed that a text render has horrible shader complexity (ie you can see the hotspot when viewed in optimization mode). Would it cost less to place a 3D text in the world? Is there a β€œbest practice” when putting text into the world in VR?

cosmic shoal
#

@placid spear There is no real best practice I've seen text done in many ways. If performance is the main issue using an image with the text on an unlit shaded plane would probably be the cheapest option.

placid spear
#

@cosmic shoal cool thanks for the input πŸ‘πŸ»

pastel fern
#

@tired tree regarding flickering when scaling WorldToMetersScale. The problem is do to late update. Not sure what exactly, but the GameThread values of the components after transforming into Unreals space and applying WorldToMetersScale seem fine.

These changes fix the issue. Also works for the VR Editor

void UGripMotionControllerComponent::FGripViewExtension::PreRenderViewFamily_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& InViewFamily)
{
...
    //LateUpdate.Apply_RenderThread(InViewFamily.Scene, OldTransform, NewTransform);
}```

```cpp
void UGripMotionControllerComponent::FGripViewExtension::BeginRenderViewFamily(FSceneViewFamily& InViewFamily)
{
...
    //LateUpdate.Setup(MotionControllerComponent->CalcNewComponentToWorld(FTransform()), MotionControllerComponent, false);
}
void FDefaultXRCamera::PreRenderView_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneView& View)
{
...        
            // TODO TESTING
            //View.UpdateViewMatrix();
...
}

(Not sure why FDefaultXRCamera and not FSteamVRHeadset. FSteamVRHeadset is also initialized and running, so both are active...)

tired tree
#

@pastel fern I told you to just disable late updates on the controllers to test

#

There is already a Boolean for that on the engines controllers

pastel fern
#

yeah, but that didn't help as the view was still broken. Difficult to see...

tired tree
#

It's not supposed to run the code path with it disabled

#

The camera of course

#

But not the motion controllers

pastel fern
#

Both suffer from the problem. Just disabling one makes it from the perspective of the viewing user stil existing. Also I tried commenting out late update for the headste earlier, but that did not fix it as the view matrix update was seperate from it.

tired tree
#

@pastel fern saying you likely could have kept controllers just disabled and only altered camera

#

Regardless, just bug report it to epic

#

It didn't used to be that bad

#

Tag it as a regression

pastel fern
#

Will do. Just reported back so you know whats up

tired tree
#

The fact that it is repeoducable in be editor should make it an easy fix

finite ember
#

i want to make it so when I throw a knife at a target, it will only stick if it hits on the blade side. How could I do this?

tired tree
#

@finite ember compare the forward vector of the blade with the forward vector of the hit for a dot product range

finite ember
#

@tired tree How could I get the forward vector of just the blade?

tired tree
#

@finite ember hard code a relative offset if its not X+, or if it is X or Z + then get it from up or forward vector

#

you can place a scene comp on your base weapon class and point it to the edge on each seperate weapon if they differ

#

or go farther and start defining zones

finite ember
#

Thanks!

finite ember
#

@tired tree Made this bit but the problem is that it will work perfectly on one side of the knife, but if I flip the knife, it gets reversed and if the hilt is facing the target it works. What am I missing? (Sorry, I'm slightly new to blueprints and especially in vr)

covert ferry
#

Does anyone here have experience working with the quest ?

polar valve
#

@covert ferry Lots of people here do, how can we help you?

covert ferry
#

I was just hoping I could get some advice, I have gotten my project onto quest for the first time and it runs moderatly well!
I absolutely need to improve its performance and the AA on it look SO bad, I think the AA in itself is enough to make you feel a little queezy.

#

@polar valve

polar valve
#

Is your project set to use the Forward Renderer?

covert ferry
#

I need to ask questions such as....
Is there a performance improvement using the mobile the mobile version of the mannequin for on screen npc ?
Just how bad it it to have 1 or two glass objects on a scene ?
Can I get away with having a rotating object in the scene ect...

#

yeah it is set to forward shader

polar valve
#

For performance first you need to determine if your bottleneck is the gpu or cpu, or both.

#

Glass is pretty tricky to do on the Quest

covert ferry
#

Just up front, I havent come here without first trying to improve it by looking online.

polar valve
#

try calling this on begin play in your level blueprint

covert ferry
#

The glass looks great (it is just a cylindar which rotates

polar valve
covert ferry
#

when I play my game in the editor vs on the quest are totally different experiences, would the stat give me acurate information ?

polar valve
#

Run it on the Quest

covert ferry
#

will I see that information within the quest ?

polar valve
#

Then check whether GPU or Game is higher

#

yes

covert ferry
#

thank you for taking your time to help me out by the way!

polar valve
#

My pleasure πŸ™‚

covert ferry
#

I will try that stat unit command

polar valve
#

But yeah for optimization step 1 is always figuring out your bottleneck; cpu or gpu. It will most likely be the GPU before optimization

covert ferry
#

awesome! I am going to take some time to chew on all of this!

polar valve
#

It's going to take some time to learn all this stuff, developing for the Quest can be challenging

covert ferry
#

I am more then happy to put the time in so I am greatful for the info.

#

do you have any advice regarding basic textures and what works well on the quest ? @polar valve

polar valve
#

What do you mean?

#

Untextured art styles tend to work well

covert ferry
#

like, best practices

polar valve
#

textures aren't really a big issue though, it's mainly draw calls

#

memory use usually isn't the problem for Quest games

#

But if you have a lot of different textures you'll have to merge the materials to reduce draw calls

covert ferry
#

when you say untextured, do you mean like baiscally just applying color to a mesh instead
of trying to have effect like carpet/ leather/ metal ?

#

ok I will have to look into merging materials and how to do it

polar valve
#

this kind of art style

#

The video I linked talks about textures/ merging materials

covert ferry
#

thank you @polar valve

static mountain
#

someone know how if the VR template have a teleport mode like other many game

#

where we can push stick for teleport and not the button

#

(i m with the Rift-S)

sonic lake
#

@static mountain it doesn't have that option built in but it is pretty straightforward to implement. You need to take the thumbstick axis events and check if the absolute output value is > of, say, 0.7. If so, you do a Do Once to trigger the teleportation. And when the value falls back < 0.3 you reset the Do Once.

brisk spade
static mountain
#

@sonic lake in fact, that i did in previous projet, but in this previous projet it s wotk, and not in my new, and i dont know how i did πŸ˜…

#

i put a dead zone

#

but i must miss something ^^

#

well

#

in fact, that work

#

my real problem is not this

#

my probleme that i don t arrive to fix in new projetct, is that when i teleport

#

a have the classic circle on destination

#

but if i orient it for exemple on left, when i release the stick, the arrow back to default position

#

so i cant orient player before teleport (i dont know if i m understandable)

#

@brisk spade sometime i have this problème

#

i restart VR

brisk spade
#

doesnt helped me πŸ˜„

static mountain
#

(unplug it and plug it)

brisk spade
#

ahh

static mountain
#

and in worst case, restart UE

#

sometime my hand dont move anymore

brisk spade
#

i restarted unreal and reconnected th hmd

sonic lake
#

@static mountain once you modify how the thumbsticks work, you also need to modify the logic for determining the final LookAt direction for the teleportation. You can use the X axis value combined with the Y axis value to calculate your target rotation angle, then apply it to the pawn.

static mountain
#

that nearly i have

#

cause as i said, my first projet work fine

#

i miss something on new i dont understand

#

i juste modify few the template

sonic lake
#

@static mountain is the code one to one identical between the two projects?

static mountain
#

it s seem not ^^

#

on tick

#

i do this

sonic lake
#

What I find handy when debugging in VR is to have a Text Render component attached to the hand and use it to show some key values in real-time

static mountain
#

What I find handy when debugging in VR is to have a Text Render component attached to the hand and use it to show some key values in real-time
@sonic lake that i begin to do now

static mountain
#

@sonic lake it s ok πŸ™‚

#

thub dead zone was to hight

sonic lake
#

nice

#

@static mountain the correct way to calculate the offset from the center and compare it with the threshold for the deadzone would be SQRT(ABS(X)^2+ABS(Y)^2)

#

In that case you can avoid the ABS(), the ^2 will take care of the sign

static mountain
#

πŸ™‚ thk

#

i note this

brisk spade
#

i havnt found the reason why my pawn is so wierd :/

dreamy ivy
covert ferry
#

That is actually a really good channel too, very well put together content and clearly explained tutorials!

#

can anyone tell me the actually effect of mobile multi view and instanced stereo ?
And do I use BOTH of them ?
I am using 4.24.2

#

If I use mobile multi view by itself (the documentation I read says to remove instanced stereo when enabling this)
I get a totally black screen (the music of the app plays thoough)

#

any idea on this @polar valve ?

covert ferry
#

My app looks so jaggy I just cant understand why I have 8X SMAA on and it looks like a sega game wtf

pastel fern
#

you need to keep in mind that in VR the eye distance close to the display and the pixel of the display that are visible.

covert ferry
#

The text actually looks 8bit it is that jaggy.
Do you have any ideas what I could do to help the situation @pastel fern ?

pastel fern
#

we have big problems with text as well. In basically every application you can ready even small text without issue, but we always had problems with it. It is recommended to use ForwardRendering with MSAA. But because of lacking features we stick to deferred and when enabling antialiasing the text is very blurry. Our current solution is to switch AA when the player hovers the interface with the pointer

dreamy ivy
#

4.25 has fixed most of these issue. the antialiasing on the Oculus Build of unreal is really nice now. for anti aliasing on Quest in 4.24 i think you might need a custom Device Profile and set the antialiasing information in there directly.

mighty carbon
#

If you are working with Oculus hardware, you might want to start using UE4 from their github

radiant garden
#

Are there prebuilt binaries for the Oculus branch or do you have to build from source?

dreamy ivy
#

you need to build from source.

radiant garden
#

Does the Oculus branch work with non-Oculus headsets?

dreamy ivy
#

Yeah.

#

Its pretty much the same but it gets update more regularly by the oculus Devs so it gets fixes faster.

radiant garden
#

Looks like I need to make disk space to build from source.... Deleting Skyrim + mods ought to about do it.

dreamy ivy
#

lol. after building from source 4.25 takes up 110Gb

radiant garden
#

Yeah I have 2 x 1tb drives full of crap on my computer

dreamy ivy
#

should be fine then lol.

radiant garden
#

Most of it is games and source from various projects I've been poking around at

#

*mostly full

tired tree
#

hasn't the oculus branch seen some specific rendering changes? I wouldn't whole hardheartedly say that it will work fine for other headsets always as that isn't exactly their goal.

#

they would have to test engine changes against the other headsets for that to be true

#

not that it "currently" causes any issues

mighty carbon
#

I don't believe they have any changes that prevent fork from running other HMDs, but I don't have any other HMDs so I can only speculate at this point

dreamy ivy
#

i cant say for other headsets exactly but you can still develop for other platforms fine. The rendering differences from 4.24 to 4.25 have been quite dramatic especially with antialiasing.

covert ferry
#

Is it possible to use one light to make dynamic shadows on quest ?

mighty carbon
#

try it @covert ferry

covert ferry
#

I am currently trying to do it @mighty carbon πŸ˜„

covert ferry
#

Does anyone know if Quest has a problem with media players ?
I am trying to use smalle videos for my tutorial and I have them playing within widgets

sonic lake
covert ferry
#

@sonic lake I litterly found that too and it worked!

#

@sonic lake do you know if there is much performance gain using the mobile version of the unreal mannequin over the standard one when deploying to the quest ?
I would check but I can't get to my pc atm

#

Just off the top of your head, in your experience..

sonic lake
#

I don't think it makes much difference. The unreal mannequin is very optimized already.

#

If you have FPS issues I would look elsewhere.

#

@covert ferry

finite ember
#

How can I detect a static mesh component within a blueprint actor is overlapping with an actor? Thanks

sturdy coral
#

@sonic lake @covert ferry I think it is definitely worth moving to the mobile mannequin, almost no visual difference and way less tris

#

if using deferred, (depth+motion+base pass)*2 eyes, its 246,000 tris with default mannequin, vs 42,858 for mobile

static mountain
#

@sonic lake as you help me i show you the result of my daily VR test

#

You can see a stuf i learn on your youtube ^^

#

well, it s far from a clean game, but that amused me

sonic lake
#

@static mountain Looking good! It's splatter almost Tarantino style. πŸ˜‰

polar valve
#

@finite ember You only need to bind that event once, not on tick.

sonic lake
#

@sturdy coral true and that is indeed the recommendation when developing for the Quest. On the other hand tris count is only part of what is affecting the overall performance and, in VR, where we must also strike a balance between visual quality (mostly geometry dependent) and FPS. Draw calls and shader complexity also matter.

sturdy coral
#

With say 4 players, that's potentially half your tri budget on desktop

sonic lake
#

On Quest the tri budget is 50k-100k max.

#

1.2m on Desktop if I remember correctly.

covert ferry
#

@sonic lake @sturdy coral all I can say is that when I get close to an npc (unreal mannequin) my headset immediatly begins to stutter

#

regardless of the material it has too.

sturdy coral
#

That is weird because it has no lods

covert ferry
#

(I am going to be trying to learn how to profile in this next couple of days to figure out what in my scenes are making me stutter

sturdy coral
#

So geo cost should be the same no matter how near you are

covert ferry
#

Im not educated enough on that side to even guess, I just know it is VERY prominent

sonic lake
#

Just place the same SM in a very basic level and see whether it still happens

#

And if it happens in the same way (distance related)

sturdy coral
#

@covert ferry are you coming within csm range?

#

If it is out of shadow range then enters it, geo cost balloons even more

covert ferry
#

sorry I am not sure what you mean

sturdy coral
#

Cascaded shadow maps stop being generated after a certain range

#

Also if you have per object shadows it is even worse

covert ferry
#

is there a way to im[prove it/turn it off ?

#

or would that look aweful ?

sturdy coral
#

For outdoors it is hard to get away from it, you can do capsule direct shadows

covert ferry
#

I am making a sports education app and it requires you to be stood right next to the mannequin

#

it is all indoors

sturdy coral
#

Use 'stat rhi' to see if it is really the problem

#

It will show triangle count

#

For interior stuff, all static lighting and capsule shadows can work well

#

@covert ferry You can also generate lods with the skeletal mesh lod plugin

covert ferry
#

ok so can you recommend a way to do that stat check with the quest ?

#

I will also look into how I can turn only capsul shadows on

sturdy coral
#

I don't know if quest supports them or if their shader cost is viable there

#

You probably want no shadows or faked blob shadows on quest

covert ferry
#

I am happy to try either way, Is there a 'Turn on fake blob shadows' button ? XD

sturdy coral
#

@covert ferry to run that rhi command I think you need a Bluetooth keyboard

#

And a test build instead of shipping

#

I don't do any quest dev so not sure

covert ferry
#

If I change a light from stationary to static, do I have to build the lighting for it to take effect ?

brisk spade
#

does someone have any idea how i can realize some form of winking and some actor reacts to it?

exotic halo
#

1.2m on Desktop if I remember correctly.
@sonic lake Soooo depends on hardware and scene /shader complexity. sometimes 500k bad or 2kk - smooth 90 πŸ™‚

exotic halo
#

hello again πŸ™‚ have another problem.
we change to ue 4.25 and have some weird graphic problem on quest. After some time all static meshes collapsing, particles and all skeletal meshes are fine. even new spawned static meshes - fine. If we restart level or change map - all back to normal again.

covert ferry
#

@sturdy coral I want to take your advice but the mobile version says incompatible with 4.24.2 as it is only updated to 4.8
what should I do regarding this ?

tired tree
#

its just an asset, it should work fine.

covert ferry
#

I am seeing in several places I should be trying to merge my meshes for oculus quest to keep the count low, what is the most efficient (performance wise) way to merge ?

mighty carbon
covert ferry
#

your text looks jaggy @mighty carbon ? if you figure this out I would love to know as I am having that problem too.

mighty carbon
#

@covert ferry that's because UE4 never supported alpha to coverage MSAA for mobile VR (for any forward VR basically)

covert ferry
#

it makes the text look so bad, it makes me sad too look at XD

#

like an 8bit VR game

tired tree
#

use the new 3d text feature that added in 4.23 ;p

covert ferry
#

@tired tree where can I find that ?

tired tree
covert ferry
#

thank you @tired tree !

exotic halo
#

Hello again, now i`m with video.
Have any one encountered similar problem?
just all static mesh in a map turn into this mess

mighty carbon
#

@tired tree wouldn't it be costly in VR ? (3D text)

tired tree
#

@mighty carbon you have to weigh quality vs cost, but its not like text renderers are free

mighty carbon
#

do you know if 3D text is cheaper than UMG ?

tired tree
#

i would imagine it would entirely depend on circumstances and hardware, go profile it

exotic halo
#

and another weird stuff on 4.25.
In editor, when i switch to es 3.1 preview all static meshes are gone and only skeletal can be seen

#

and all material/static mesh asset preview are solid grey color πŸ™‚

covert ferry
#

Hi,
My oculus quest quest project has a problem where you see a lot of stutter when you move your head around but I am unsure how to diagnose the problem

exotic halo
#

1 year ago i have stutter problem with alembic animations.

misty halo
#

My Website is finally live and development is announced, I feel happy :)

covert ferry
#

congrats @misty halo !

#

I am going to ask in UMG too but I feel this is a good place to ask...

Widgets are important for my game as I have the player selecting activities through widget menus all the time.
I am developing for the oculus quest and in the quest the widgets are causing stutter.
Does anyone here know of any performance improvements for them to help with this ?

covert ferry
#

3d widgets btw

covert ferry
#

It would be amazing I could ask a couple of questions to someone who has gotten 3d widgets working in their oculus quest..

sly elk
#

What is the current state of the steaminput plugin in unreal? Last time I heard, if the steamVR input plugin was loaded, oculus native controls broke? Is that still a thing?

covert ferry
#

I don't think so @sly elk

#

I built and tested my project with oculus and steam plugins enabled throughout, without issue

#

I only removed the steam plugin when I began testing on the oculus quest, and that is because i was advised to, not because I had problems.

misty halo
#

congrats @misty halo !
@covert ferry Thank you :)

sly elk
#

@covert ferry Are you talking about just the SteamVR plugin or the Steam input plugin?

real needle
#

hey guys, somebody out there can help me with a strange problem i suddenly got with my oculus quest HMD ? I want to start the VR Template from UE4(.25.1) with link cable and oculus software installed. It worked before, but suddenly it wont start anymore, in the oculus home view the it's stuck loading ue4 editor. On Desktop the VR Preview ist started but not connected to my HMD. No Errors/Warnings in output log... Any ideas ? Thx in advance for any help πŸ™‚

real needle
#

i dont know what was wrong, swapped usb ports and now its working , anyway thx πŸ™‚

exotic halo
#

eh.... i want to solve my problems just by port swap too πŸ˜„

covert ferry
#

Hey guys,
Has anyone here managed to get 3d widgets into their oculus quest projects without it tanking performance ?
any time I have a 3d widgets in the scene the quest crawls, its really bad :/

exotic halo
#

We have some 3d widget as scoreboard. no stutter or performance drop.

#

i look into how it works tomorrow

covert ferry
#

Thank you @exotic halo !
I would be grateful for any info.
Like how they are set up and if there are any transparent/alpha elements to them

exotic halo
#

@covert ferry
Don`t have any transparency. Only opaque and unlit. materials.

covert ferry
#

Sorry what do you mean by unlit ?

#

@exotic halo

exotic halo
covert ferry
#

Thank you @exotic halo !
Should I have masked or opaque?

#

Blend mode

exotic halo
#

Depends of what you want.