our team has a problem with our iOS app that seems to crash after loading, seems like it is trying to load textures and it cant handle it.
App crashes after it loads one of the levels, it starts to load textures and crashes right before it finishes the last ones.
What I ve tried:
I observed this problem with more levels, that are more complex but i managed to eliminate it like this:
1- Created an ampty “memory flush” level, that has a loading screen on it.
2- Delay the level open by 2-4 seconds
3- Open the wanted level.
This way I managed to fix other levels that crashed the app just before loading.
About the project:
The project is blueprint only based project. It contains of a lot objects and levels are pretty complex, since it is a archviz app for a developer.
Compress package is set to true (otherwise it wont package the project)
I managed to get only this log from the iphonepackager: [Log]
Thank you for any help, we are quite desperate.
: 122781-pentareality.log (76.4 KB)
Do you have a Mac computer? If so, could you get the crash logs from the device using XCode? You can get those through XCode by doing this:
Connect Device to a Mac
Open Xcode >> Window >> Devices
Select your Device
Select View Device Logs
Select The Process that matches your Game and Crash Date/Time
Right Click on The Process and select Export Log
Those logs should be helpful since the callstack isn’t being included in the log you uploaded. Hopefully it’ll give some more information on what exactly is happening, although it does seem like the phone is running out of memory.
Also, what versions of iOS, XCode, and Mac OS are you using?
thank you for your reply. I managed to get the log out using my personal mac with xcode 8.1. iOS on iPad is 10.0.2
Project was packaged with windows UE4.12.
Here is the log:
The newest info about the app:
I analyzed the memory with “stat memory” console command on the running app and figured out that shaders are taking 200 MB of memory. Then I disabled the metal support, since it makes more complicated shaders and now it doesnt crash.
This is a solution for us, since we dont need more complicated shaders in these scenes, but now we have a problem with dynamic sky blueprint, wich is not displayed wihout metal support in our app.
Do you have any solution or advice please?
Unfortunately I’m not all that knowledgeable about optimization for mobile devices but we do have documentation that focuses on this, which originated from Unreal Match 3. There are two pages there that may help with this. Mobile Performance Tips and Tricks & Reducing Packaged Game Size
Can you take a look at these and see if they are of any help?
Using shader complexity mode may help with identifying which shaders are taking up the most memory as well, so you can have an idea.