Robo Recall Performance Optimization - April 6th - Live From Epic HQ


Robo Recall is Epic Games’ hot new VR title, but how did it get to be so fast and fun? VR developers know that maintaining a steady framerate is key to a good experience, so Nick Donaldson and Jeff Farris are here to share what they learned during the making of Robo Recall. Tune in to learn all of the tips and tricks to getting performance in VR!

Thursday, April 6th @ 2:00PM ET Countdown]



Nick Donaldson - Lead Designer
Jeff Farris - Sr. Engine Programmer - @Byooler](
Alexander Paschall - Community Manager - @UnrealAlexander](

Feel free to ask any questions on the topic in the thread below, and remember, while we try to give attention to all inquiries, it’s not always possible to answer everyone’s questions as they come up. This is especially true for off-topic requests, as it’s rather likely that we don’t have the appropriate person around to answer. Thanks for understanding!

Please can you make a clear list of parameters and r.#### do’s and don’ts with forward shading for getting the best performance in VR(UE 4.15).
Thank you and you are great as always.

Would it be possible to give a brief explanation (for dummies) about some of the Options under Project Setting, Rendering, Optimization? Talking about this window here

Obviously every game is different and everyone has to profile their own game, but it would be great if you could give simple game examples where these options would make sense to use.
Also looking forward to actually see some numbers, how long specific parts of the scene need to be rendered in ms and especially a comparison to other parts of the scene.

Timer said it is tomorrow… but today is april 6th, 13:45PM

Thanks for the heads up, I’ve updated it.

Please cover reflection plane and its limitations! I was having decent success in 4.14 but fps drops a lot in 4.15. Also any tips or techniques for foliage in VR?

Would be interested in some talk about the forward renderer. Would you recommend it for non-VR games just for the sake of improving performance? Instead of listing what it can do, could it be possible to get a list of the most important things it doesn’t do? (ie, the stuff that you think most people will miss compared to the regular renderer).

Also some insight in the gpu profiler would really be appreciated. There is a real lack of documentation for it.

Im starting to get the feeling thursday streams went from ‘general unreal talk’ too ‘free airtime for oculus ads’…

I mean, i totally understand that Epic Games has to make money too, but i cant wrap my head around why you guys went for an exclusive deal, and then also spend so much time advertising it, it really smells of ‘easy money’ rather then ‘trying to support them all’ (like thankfully still is the case with the actual engine) please hurry up with a Vive version of Robo Recall so it becomes relevant for all pc vr gamers rather then just the one specific (and smallest) group, or stop rehashing it every chance you get and just move back to engine talks, because thats what we all really want anyway.

TL:DR; I want more engine talks and less oculus ads.

Tyvm & with much love and all that, just, come on guys.

Someone mentioned before in a talk (probably Zak Parrish) that they believed TAA still had its place in VR - that although MSAA is usually sharper, that TAA tended to give a better result for organic scenes with curvy geometry. Could you guys please elaborate on this? Does Epic have an official ‘stance’ on how to approach anti aliasing in VR?

The stream is about specific product for specific platform. Don’t like it - don’t watch it. You sound like one of those Vive fanboys from Reddit who whine and sh#t on Oculus every given opportunity.

Hi, Thanks for the stream and for making robo recall. It’s the best VR experience to date in my opinion.

Aliasing Question:
Can you go into further detail about fighting specular aliasing? This is one of the things I struggle with the most in my forward shading/MSAA projects. I think I’ve seen three methods in Robo Recall and all are used in material “M_Railings”.

  1. Composite Texture (texture editor feature)

  2. Forward Shading “Normal Curvature to Roughness” option (materials editor)

  3. The “Alias_Reduction (I hate Aliasing!!!)” group of material nodes in “M_Railings”

  4. Composite Texture
    You covered this a bit in stream. I think I understand it fairly well because you can see the result, it “roughens” the roughness map by looking for tight curves/corner defined in the normal map.
    I assume since this is done at dev time there’s no performance hit as long as you are already using roughness and normal maps.

  1. Forward Shading “Normal Curvature to Roughness” option (materials editor)
    I’m not sure what this does. Can you summarize algorithmically what it does? Is this a runtime equivalent to Composite texture (though I notice there’s no strength parameter)? If not, what’s the difference? If so why do you use both in Robo Recall sometimes?

  1. The “Alias_Reduction (I hate Aliasing!!!)” Material Nodes
    So I noticed this group of material nodes in M_Railings although I am not sure what it does. It may not even be fighting specular aliasing but something else. Any info you can give on the intent of what’s being done here would be helpful as I wasn’t able to easily understand by looking at the graph nodes.

Is there anything else I’m missing on fighting specular or other forms of aliasing in VR/forward shading/MSAA ?

Thanks again!

Thanks Nick Donaldson for showing that “super hidden” Device Profiles to access the CVars. Now I can remove from my level BP the Execute Console Command for the r.####.
You are great!

Thanks Nick Donaldson for showing that “super hidden” Device Profiles to access the CVars. Now I can remove from my level BP the Execute Console Command for the r.####.
Yes it is a good starting point towards VR performance optimization.
You are great!

This might be of interest. A thread about deconstructing Robo Recall (this was done before this stream)

Hi [MENTION=8]Alexander Paschall[/MENTION], is there a recording of this Livestream to rewatch?

It’s up now :slight_smile: