Mobile rendering limitations

    The general 3D rendering limitations also apply to mobile platforms.

    To improve out-of-the-box performance on mobile devices, Godot automatically uses low-end-friendly settings by default on both Android and iOS. These are configured by project settings with a suffix.

    One of the most notable changes on mobile that will affect 3D projects is that lighting is done per-vertex instead of per-pixel. This improves performance a lot, but can break rendering in some scenes, especially if your meshes aren’t sufficiently subdivided for per-vertex lighting to look good. This can be disabled in the Project Settings at a performance cost (see below).

    When using GLES2, some custom shaders may break when exporting to Android. This is caused by a lower shader precision being used by default to improve performance. You can force high precision on all shader computations by enabling rendering/gles2/compatibility/enable_high_float.Android project setting, but this has a significant performance cost and won’t work on all devices.

    The following project settings have mobile-specific overrides:

    See the ProjectSettings class documentation for more information on those setting overrides.

    If you’re only targeting mobile platforms in your project, consider changing the project settings’ values to match the mobile overrides. This way, you’ll get a preview that is closer to the mobile appearance when running the project on a desktop platform (as well as within the editor).

    Warning

    You can change the rendering backend in the Project Settings (Rendering > Quality > Driver > Driver Name).