Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

TextMesh Pro TMP Texts not showing in ios app store review process, but works fine on my devices.

Discussion in 'UGUI & TextMesh Pro' started by Shaurizo, Dec 9, 2022.

  1. Shaurizo

    Shaurizo

    Joined:
    Dec 9, 2022
    Posts:
    2
    Hi everyone.

    I'm wondering if anyone has run into a strange problem like this before, or has any suggestions about what might cause it.

    - My game was completed using Unity LTS 2019.4.30f1

    - TMP version was 2.1.4

    - All texts are <TextMeshPro> objects in worldspace (with no <TextMeshProUGUI> objects), rendered by an orthographic cam.

    - Everything works fine on my devices and on testers' devices.

    - I submitted a build (using xcode 14.1) to app store for review.

    - My submission was rejected due to no texts showing in the game! The App store reviewer provided multiple screenshots demonstrating this.

    - I used testflight to install on my devices the same version+build that I submitted for review, and everything works fine! (Delete previous build, restart device, install submitted build via testflight... all texts are visible!) Plus I'm testing with the same version of iOS that the app store reviewer was using. (16.1.2 for iphone, 16.1.1 for ipad.)


    The screenshots the app store reviewer provided show me that:

    - The texts are not visible at all. (Not white boxes. No hint of the texts being there whatsoever.)
    - The problem occurred on both an iphone and ipad.
    - Everything else in my ui system displays fine (sprites for buttons/symbols, quads for backdrops etc), so the camera I use for UI is clearly active.
    - It doesn't appear to be a sorting or render order issue, as even texts that would be floating free of any button or backdrop are not visible.
    - The problem occurs with all text. It isn't limited to one font/material.
    - I have some texts that I animate by accessing mesh verts, so the meshes for those texts are updated every frame, but they're not visible either.
    - It doesn't appear to be an issue caused by localization handler I use (eg, strings not being set), as even non-localized texts don't show.

    I know that worldspace TMP texts and canvas TMP text (UI) texts sharing the same material can cause rendering issues, however all my text are worldspace TMP texts.
    Also I double-checked that my texts don't have a 0 z-scale.

    So given all of the above, it seems to me most likely that the issue is occurring at the shader level. I suspect this is my fault, as I had modified the supplied TMP mobile SDF shader, so I may well have screwed something up. :( Certainly that's the first place I would have looked if this problem had occurred during testing.

    I note that in my modified shader, ZTest was still being set by [unity_GUIZTestMode], and I don't know where that value is actually set, so I wonder if that might relate to the issue. Perhaps it's not being set to LEqual?

    But then I also wonder, if it's a shader issue, how is it possible that the problem doesn't occur on any test devices, and only arises during the appstore review process, despite testing the same version+build via testflight? That really surprised me. :/

    Also, when I build for android, it works fine on my android test devices. And mac and windows standalone builds worked fine too.

    Anyway what I've done so far:

    - Updated to Unity 2019.4.40f1
    - Updated TMP to 2.1.6 (appears to be the most recent version for unity 2019 lts)
    - Reverted back to the supplied Mobile SDF shader.

    I'm preparing to resubmit for review, but the fact that I haven't been able to reproduce the issue *at all* makes me nervous.

    I haven't tried completely removing TMP and then reimporting v 2.1.6, but perhaps I should?

    Has anyone else encountered a situation like this, or does anyone have any suggestions for something else I might have overlooked?
     
    Last edited: Dec 9, 2022