iOS app rejected – unresponsive on launch

Context

  • Godot 4.5

  • 2D game, mobile-targeted

  • ~10 custom shaders

  • Review was done on iPad Air

  • In the export settings, I have Shader Baker enabled, but I don’t observe any noticeable startup speedup.

  • When testing on a real device, I occasionally see messages indicating that a shader was not compiled for the target architecture (or something similar), and it appears to compile on first launch.

  • All my autoloads / singletons are already deferred and only initialized after the main menu appears.

Question

  1. Is there any reliable way in Godot 4.5 to defer or postpone shader compilation so it doesn’t block the initial app launch?

  2. Does Shader Baker actually help on iOS in this scenario, or are there known limitations?

  3. Are there recommended strategies for warming up shaders gradually (e.g. after first frame, or spread over time)?

  4. Is this a known iOS + Godot 4.x issue, or am I missing some critical export or project setting?

At this point I’m worried that shader compilation alone might be enough to trigger Apple’s “unresponsive on launch” rejection. Any guidance, best practices, or real-world experience would be hugely appreciated — I’ve already invested a lot of time into this project and want to avoid a dead end.

I don’t have experience in this issue, but here’s an idea:

  1. Backup your project. (If it’s not in GitHub or GitLab it should be.)
  2. Remove all the shaders from your game objects.
  3. Export the game.
  4. See if the shader issues go away and your game plays. (They should.)
  5. Add them back in one-by-one until you come across the shader causing the problem.
  6. Simplify the shader or remove it from your project and find an alternative solution.
1 Like

Might be relevant or not :