Replicate 3D Widget - AGAIN

Hello everyone. I was wondering if there’s a way to proper replicate 3D Widget. I post a detailed description in the answer hub but I think it’s useful to have it here also, because this topic is constantly talked about.

I have a similar setup to replicate skeletal meshes (in cpp) and it works fine.
The tests were done using standalone (actually starting server and game using cmd)

I want to have a name tag above the Player Head.
The 3D Widget and Text Render are both components inside the Player Character. On Begin Play the Character gets the Name from player State and then the Rep function is called.
Since it works fine with Text Render, the variable and the Rep Notify are working as supposed.

First player joins. It works. Second player joins, the first player sees all names correct. However the second player doesn’t see the first player correct name. This escalate quickly as more players joins and each new player don’t see the correct names of other players that were already in the game.

As said before the setup uses Rep Notify and was created in Blueprints for fast prototype. I have a similar setup to replicate Skeletal Mesh (in cpp) and it works fine. Everytime.

Worthy mentioning that if I use a Text Render Component everything works great. The only problem is when using 3D Widget and only for the new player that joins.

I can post more details about my setup with pictures. Let’s please discuss this subject for the sake of everybody struggling with the same problem.


Player LUCCAS enters he’s name is correct, both Text Render and 3D Widget. Player MARQUINHOS enters. LUCCAS sees the other player name correct. MARQUINHOS only sees his name correct on 3D Widget. However Text Render works.

1 - Text Render Works. 3D Widget doesnt (for the new added player)

2 - On Begin Play call Setup Player Name on Server (if client). Then get Player State and change this Char Variable called Player Name

3 - The variable is replicated using Rep Notify. The Rep function set text to Text Render and to Widget (both variable and a custom event)

→ Tried the Branch to use Is Locally Controlled and Switch has Authority . Both have the same result.


Come on,. Nobody knows how to replicate 3D Widgets? I sent this problem to an experienced multiplayer programmer and the solution was to use Tick.
I was hoping there’s a more elegant solution.