Player name tags all showing the viewer's name

Hi, I am working on a multiplayer game and am adding name tags to players. I created a widget containing an editableText, then placed that editable text on top of every player inside of the blueprint first person character components tab. The default text for the player is “logging in” and this works well:

When I get in game though, the names of players seem to only show the viewer’s name. The player name is a variable placed onto the first person character when they log in.

This happens because the widget can only find the viewer when it is looking for a username to pull. My real issue is figuring out how to let the widget find the character controller that is below it, instead of looking at it. I have tried multiple methods but so far I have not made much progress.

My current system or telling the widget the user below it: (Returns the viewer instead)

On the first person character:

On the widget for the nametag:

I have tried getting the player character from the widget, but again that returns the username of the viewer and not the owner of the widget. If I do get owner or any of the variations of that, I do not know how to get the first person character reference from that as all casts fail.

I am struggling to wrap my head around how a client could obtain information from another client, my main issue being that I don’t know how to get identification off of another player.

Curious if you ever figured this out? Running into the same issue currently.

GetPlayerCharacter return the view’s character, so your results are the same.

Try using GetController to get the controller possesing the character. By the way, if you want to use player name, save it in the playerstate.

Sorry for taking so long to reply, I was dealing with other project issues and stuff. At first I was confused by your answer but I understand now, the idea you have is to use player states, which I had no idea even existed before this. I created a new blueprint which has a parent class of player state, then navigated to my current game-mode and set the player state to that. The issue is that the name tags are still showing the current player’s name instead of the name of the person they are looking at. Here is my blueprint:

Finally figured this out, using a text render properly allowed me to get it working perfectly. This is what I used:

The event runs periodically on the client or when a player joins.

Figured it out.