Mobile Preview Issues/Questions

Hi there - I’m working on some portfolio pieces and trying to get them ready for Web/iOS.

There are 3 ArchViz projects that look gorgeous running on the desktop. Trying to get them running in the browser/Metal Compatible iOS devices but I’ve come up against multiple issues.

Here are my questions:
-Is there a way to have Mobile Preview run at ES 3.1/Metal Feature Level as opposed to ES2?
-Can I have UE4 launch automatically into Mobile Preview mode as opposed to rendering for desktop? All of our projects will be made to work for mobile moving forward.
-The default prop “sm_bush” and Speedtree models all appear warped in the viewport. As opposed to showing branches - it is instead showing what can only be described as sheets of paper jutting out from one another. When I place a new Speedtree in the map, it is black. When I go into the material it says that it will not render properly in ES2.
-When the level loads, it launches into a Matinee sequence immediately. This causes the screen to tear and appear to have tunnel vision at the bottom. Very strange.

Any help with these issues would be amazing as they’re the final hurdles in getting this portfolio done and out the door. I’m itching to see this work in the browser and on my 6+

Thanks!

A.

Hello AndreElijah,

You bring up some great points and questions. The best way to provide you with the most in depth answer, and an overall idea of how to develop for mobile would be to direct you to the documentation page. The pages provided below contain the answers to all of the questions you have asked as well as guidelines and important optimization points.

Mobile Development

There are sections within this documentation to separate key topics to better highlight certain restrictions and features when developing for mobile.

The answer to your first question is simply, yes.

Mobile ES3.1

Feature Level Switch

These images were pulled directly from the documentation pages. Here are a couple of quick links for these pages.

Performance Guidelines

Materials for Mobile

Let me know if you need more information or have further questions!

Cheers,

Hey Andrew, thanks for your response!

I actually read through the documentation before even starting on the project. I just read through it one more time. No materials/textures are larger than 2K by 2K, the lighting is pre-baked, and there aren’t any dynamic lights in the scene.

With all of that said, here is my follow-up:
-I saw the FeatureLevelSwitch node mentioned in the documentation, but there is no info on how to hook it up. What do you connect it to in order to force 3.1 level features for a material?

-Can you have a material be aware of whether or not its being rendered on a 3.1/Metal level device and fall back to ES2 automatically for WebGl, or should I build out different versions of the project/material?

-Is there a way to add an entry for the viewport settings to enable ES3.1/Metal level rendering instead of ES2, DX, OpenGL, etc?

-Is there a config file that can be tweaked to force Mobile Preview at project launch?

-If I have a material with a texture connected to Specular, is it automatically disabled when on mobile, or do I have to create a mobile specific version with it disconnected?

-Additionally, none of the mentioned documentation explains why stock Speedtrees render the way they do in the images above. Should I just say to hell with the Speedtrees, and export them as FBXs and re-import as Static Meshes? It was my understanding that Speedtree supported mobile in UE4 basically plug and play (within reason).

-Finally - the Matinee issue of screen tearing/tunnel vision is quite a problem since it is the intro to the piece, but moving around the environment after its done works fine.

Sorry if I’m just rehashing the same questions from my original post, but the documentation is kind of vague on certain parts and this is the very last step towards reaching our goal with UE4.

Thanks again!

Hey AndreElijah,

So the Engine will automatically detect what device the game is being run on, and switch the material according to the correct compatibility when using the FeatureLevelSwitch node. That being said, you will still want to take into account the restrictions of the Platform you are designing.

It is not the most complex material set up, but this is how you would go about connecting in within the Material Editor.

Feature Level Switch

Notice how I have checked the ‘Fully Rough’ material property which saves some instructions and a sampler.

There is a dropdown arrow next to the play button in your viewport that will let you select how to preview your game when pressing play. Choose the ‘Mobile Preview’ option to be able to preview your game as mobile each time you press PIE (Play in Editor).

Specularity does not function the same as it did in previous versions of the Engine and is now just a 0 to 1 value much like roughness and metallic. The default value is around 0.6 and will work well for most materials.

Whenever you use the ‘Launch On’ button the game will cook and launch directly to whatever device you have connected to your computer. This is where the FeatureLevelSwitch node will come into play. If you have a compatible device for the ES3.1 then it will automatically use the features associated with the version.

Like with any mesh you import into the editor, you will want to test the SpeedTree models to see how they look on your device. Depending on the device they might look great, or they might not render at all.

The matinee issue might require some troubleshooting. If you would like you can create a new AnswerHub post with details on the issue and myself or another team member can take a look.

I hope this answered most of the questions you had, but if you still need some help let me know.

Cheers,

One very important way to increase your mobile performance regarding textures and materials is to use CustomizedUV’s. The documentation provided below will give you more information on how and why this is the case.

Customized UVs

Hey thanks so much for your response that definitely clears things up!

I will use the FeatureLevel Switch and Fully Rough settings, and see how it effects things. I’ll also export the Speedtrees as Static Meshes and re-import since that’s not working out well at all.

Hopefully these issues will, by extension, resolve the Matinee problem. If not I will post a new question with a screen captured video of it and we’ll take it from there.

Thanks so much!

A.

Hey Andrew - everything is working properly now in 4.7 Preview 7. I opened a new question here: RunUAT.bat Errors and HTML5 Export - Platform & Builds - Epic Developer Community Forums about HTML5 export.

Would love to know if you have any suggestions. This is literally the last step before this work is out the door.

Thanks!

A.