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.

Linux Server with Mirror saying that my TextMeshPro shaders are unsupported

Discussion in 'Multiplayer' started by apventures, Oct 6, 2022.

  1. apventures

    apventures

    Joined:
    Aug 6, 2018
    Posts:
    23
    I'm making a meetingroom application where users can write notes to each other on a Canvas. This uses TextMeshProUGUI for handling strings. And I use Mirror API for passing the message strings from client -> server -> client. This feature works fine when I run the apps on Localhost.

    But when I host the server on a dedicated linux aws server by following this tutorial, I notice the following Shader errors (see attached):

    ERROR: Shader TextMeshPro/Mobile/Bitmap shader is not supported on this GPU (none of subshaders/fallbacks are suitable)

    ERROR: Shader TextMeshPro/Sprite shader is not supported on this GPU (none of subshaders/fallbacks are suitable).

    ERROR: Shader UI/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable).

    When I try using the server, the TextMeshPro text objects for those notes/messages on the Canvas appear on the first client, but the second client can't see them. If the second client writes on the Canvas, then the first client can see the second client's message. But the second client still can't see the first client's message. I'm at a loss for what's going on. I'm also using "Headless Builder" to optimize the build.
     

    Attached Files:

  2. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    4,274
    Mirror doesn't require TextMeshPro.
    And technically a server build shouldn't even need any shaders.
    Maybe try reporting the bug to unity :)
     
  3. apventures

    apventures

    Joined:
    Aug 6, 2018
    Posts:
    23
    I was actually able to fix my issue. It turns out that my problem was that I was stupidly trying to connect my clients that were running in the Unity Editor. Once I built my clients, hardcoded in the server's IP and ran the builds, I was able to see the TMP strings appear from each client. The only issue now is that if a client joins later, then they can't see the TMP strings that were submitted prior to them joining. But I think I can fix that and it's something to do with the type of network call being used.
     
    vis2k likes this.