Desktop Forward And Deferred Renderers For iOS

In the 4.26 Release Highlights video (here: 4.26 Release Highlights | Inside Unreal - YouTube) there was a section on mobile improvements and they mentioned that you could enable the desktop deferred renderer, they showed a video of their infiltrator demo running on an ipad pro.

They didn’t give any clues on how to actually enable these modes but from what I was able to deduce here is how you enable the various modes:

  • Mobile Deferred Renderer

  • r.Mobile.ShadingPath=1 in ConsoleVariables.ini

  • “Metal Mobile Renderer” checkbox checked in iOS project settings

  • Mobile Forward Renderer (default)

  • Default project and ini settings

  • r.Mobile.ShadingPath=0

  • “Metal Mobile Renderer” checkbox checked

  • Desktop Deferred Renderer

  • r.Mobile.ShadingPath=1 in ConsoleVariables.ini

  • “Metal Desktop Renderer” checked in iOS project settings

  • “Metal Mobile Renderer” unchecked in iOS project settings

  • Desktop Forward Renderer

  • r.Mobile.ShadingPath=0

  • “Metal Desktop Renderer” checked in iOS project settings

  • “Metal Mobile Renderer” unchecked in iOS project settings

However I haven’t been able to get any of the modes except for the default Mobile Forward Renderer to actually render something without graphical glitches or crashing the engine.

See attached screenshots for images of the third person template on an iphone xs with the desktop forward and deferred renderers. The mobile deferred renderer doesn’t even work - the editor crashes every time when trying to compile shaders.

**Has anybody successfully got either the desktop deferred or forward renderers working on iOS? If so how did you do it? **

I really wish epic would just spend the 15 minutes writing documentation about this stuff, and if they aren’t willing to write docs on it they shouldn’t put it in release notes/highlights.

2 Likes

Try to disable fog and light shafts

Sadly this didn’t work for me. Here is what I did based on your suggestion:

  • Disabled everything Fog related in Project Settings (SupportAtmosphericFog = false, VertexFoggingForOpaque = false)
  • Added console commands which disable Fog (r.Fog 0)
  • Made sure Light Shafts are disabled on the Directional Light

So if there is any step I was missing please feel free to elaborate in more detail @ufna.

(post deleted by author)

I recently received a suggestion to set the Sky Light to Movable which should make it magically work. Haven’t had the chance to try that one out yet, but still wanted to let you guys know. Maybe it helps.

Personally I never had this issue with UE 4.25.4. But we had to update to 4.26 for Android because they fixed some exposure issues which we’ve experienced with 4.25.
But since we are not able to build for older Apple devices with 4.26 anymore we now need to have two separate branches one with 4.25 and one with 4.26. So the problem is “kind of” solved on our end for the moment.

It seems like this does work! The graphical glitches are gone. What I did was set both the directional light and skylight to moveable and I also disabled static lighting completely in the project for good measure.

Where did you find that information? I really wish epic would document this stuff so we don’t spend hours trying to get stuff to work :confused:

Hi. Really cool that it worked. Also thank you for letting me know :slight_smile:
I’ve received that suggestion through Unreal Slackers Discord.
But you are absolutely right about the lack of documentation, especially in the AR space.

1 Like

Hi guys. Just to let you know, I’ve created a bug report for the issue describe here. You can track changes on that issue here: Unreal Engine Issues and Bug Tracker (UE-107774)

Please also consider voting on the issue to increase priority.

Hey guys,
Thanks for showing how to configure the different renders. Very helpful.

When trying to compile any of the desktop pipelines in mobile Im crashing with
“Fatal error: [File:E:\UnrealEngine-4.26.0-release\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 2631] Failed to compile default material /Engine/EngineMaterials/DefaultPostProcessMaterial.DefaultPostProcessMaterial!”

Anyone else facing that issue?

Just to confirm - Metal Desktop Renderer on iOS is BROKEN in 4.26 - but changing the skylight to “Movable” fixes the error!
Come on, Epic! This needs to be fixed asap! :eek:

I will also have to add ; even though the hack of setting skylight to movable kinda works , reflections are broken - atleast for me - on both Mobile and Desktop renderer for iOS - They are just black.
This makes 4.26 pretty unusable for iOS development…

Whats going on here? is iOS as a platform not being developed or even tested now that Fortnite is not being published to iOS ?
That would be very disappointing… (but… no-one from Epic probably even reads this)…

1 Like

I don’t see Epic doing that move. Especially now that MacOs is moving into ARM based arch. It’s probably due to being “Expiremental/Beta”
I updated my engine version to what’s on the release branch and still having a crash while compiling shaders, this time is a different shader.

What version of the engine are you guys using? I have also the master branch downloaded, not sure if they have more mobile render related stuff there.

Are reflections being broken a regression? If so you should file a bug report for it

Just tested them in ue5 and still broken

that’s disappointing. The 4.27 roadmap (UNREAL ENGINE 4.27 (SUMMER 2021) - Unreal Engine Public Roadmap | Product Roadmap) has a lot of stuff for iOS so I am hopefully a lot of these issues will be fixed once it is released.

Do you guys can open a Game with Desktop Renderer? Everytime I package a Game in UE5/UE4.27 with Desktop Renderer and try to open it on my Device the Game Crash.

[iOS | 4.26] Currently also facing the issue with Reflections not properly working on older iOS devices. On my end it works perfectly fine with movable Skylight and Directional Light on iPad Pro’s 2020 & 2021. Wasn’t able to test with 2019 version, but 2018 seems to have the issue with the reflections. I had this exact issue with older engine versions on Android but this was fixed in 4.26. My workaround was to also add a reflection capture probe but this doesn’t seem to cut it on iOS this time around. I tried several things but none of them have helped with the reflections:

  • Used Metal Mobile Renderer instead of Metal Desktop
  • Used Box and Sphere Reflections Captures in addition to the Skylight (previously worked for Android)
  • Can’t use Stationary Lights with Metal Desktop rendering because of the issue seen here AR core almost dead in ue 4.25 - #10 by antinnit

Wanted to implement another workaround where I change the Sky Light angle at runtime, but it doesn’t seem that this functionality is exposed to BP (or even possible). I’m actually running out of ideas now. The only other thing I can think of at the moment would be to not use metallic materials.

Did someone have the chance to test it in the Early Preview of 4.27?