Player Name Tags Above Head - Multiplayer - Unreal Engine 5 Tutorial [UE5]

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 81

  • @apon22
    @apon22 4 หลายเดือนก่อน +1

    Man, you are so good creating tutorials! You explain everything in a very clean way, I love it. Nice job!

  • @beilog7489
    @beilog7489 8 หลายเดือนก่อน +1

    Amazing! Works like a charm!

  • @nand-studios
    @nand-studios ปีที่แล้ว +5

    why has this perfect tutorial only 10 comments? ❤❤ best ue5 tutorial for nametags!!!!!

  • @XL_Virus
    @XL_Virus 9 วันที่ผ่านมา

    amazing work , really helped me , but i think you can just parent the widget to character in character bp so no need to set location or rotation

  • @zheka3d631
    @zheka3d631 9 หลายเดือนก่อน

    Thank you! Cool guide! You helped me set up nicknames in my game!

  • @VanFS3K
    @VanFS3K 6 หลายเดือนก่อน +2

    FYI, I believe the isValid check on the GetWidget call is redundant. Sending a nullptr into the cast will fail the cast. Probably can just put the SetTimerByFunctionName on the failed cast.

  • @jeldrikgaal5342
    @jeldrikgaal5342 ปีที่แล้ว +5

    Best unreal tutorials !!

  • @tamerdrop
    @tamerdrop ปีที่แล้ว +4

    you are the best. you deserve 100K likes and views. I was going to ask if you can help on creating a main menu screen and everything because I think you're the only person that can do it the best. :)

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      Hey thanks, what features for a menu screen do you search for that aren't shown already in other tutorials? :)

    • @tamerdrop
      @tamerdrop ปีที่แล้ว

      They usually make a menu screen where you can start the game but it's never dynamic.
      Like where should the character start exactly?
      Or when you're at the main menu. The background is just a picture not a dynamic scene.

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +2

      @@tamerdrop Yes that's a good idea for a tutorial. Like a main menu where you can open different pages (settings, credits, ...) and invite friends to a party and then start playing from a map that you can choose in the main menu?

    • @tamerdrop
      @tamerdrop ปีที่แล้ว

      Exactly! :)
      @NiceShadow

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +1

      @@tamerdrop Nice, I could imagine doing some tutorials about that

  • @atthiyya
    @atthiyya 4 หลายเดือนก่อน +1

    Thanks a lot! You are my savior trully, thanks God after struggle for a half day, your magic helps me!

  • @professordragon
    @professordragon 3 หลายเดือนก่อน

    Nice tutorial! Using the timer and calling OnRep again manually seems like a workaround though, is there a better way to approach this?

  • @RozvozceTofu
    @RozvozceTofu 2 หลายเดือนก่อน +1

    i cant get throught character function - is locally controlled - its always false, what should i do?

  • @javascripted_
    @javascripted_ ปีที่แล้ว +1

    I have one theoretical question. In my game I have a team system where you can start a team and invite nearby players.
    I only want these nametags to be shown for players that are on your team. I have a variable that is an array that stores a reference of each teammate. I know I can use that array to hide/show the nametags accordingly, just not sure how to replicate this properly. Hoping someone has a good idea, and hoping I don't have to add a bunch of logic on the tick event?

    • @javascripted_
      @javascripted_ ปีที่แล้ว +3

      I figured it all out. I had to add stuff to the on tick, but not much. If anyone has questions reach out.

    • @natecoet3291
      @natecoet3291 10 หลายเดือนก่อน +1

      @@javascripted_ I would be interested in knowing how you did it and what you added if you care to share :)

  • @Nin10doLetsPlay
    @Nin10doLetsPlay 10 หลายเดือนก่อน +2

    Im using a Ball Character, thus when moving around the widget is rotating with the Ball. How do i fix this?

    • @NiceShadow
      @NiceShadow  10 หลายเดือนก่อน +1

      Attach the widget component to a spring arm. Turn of the spring arm Do Collision Test and set Inherit Ptich, Yaw, Roll to false. The target arm length you can set to 0 or to whatever you want.

    • @Nin10doLetsPlay
      @Nin10doLetsPlay 10 หลายเดือนก่อน +1

      @NiceShadow Thanks for the answer, but I already fixed it by creating a new actor just for the widget and updating its position to match the players position on tick. Which approach do you think is better?

    • @NiceShadow
      @NiceShadow  10 หลายเดือนก่อน +1

      @@Nin10doLetsPlay ok, the spring arm approach is better I think

    • @Nin10doLetsPlay
      @Nin10doLetsPlay 10 หลายเดือนก่อน +1

      @NiceShadow I just tried the Spring Arm approach and it didn't work. Do I have to attach it to the ball?

  • @allashama
    @allashama หลายเดือนก่อน

    Also the node IsLocallyControlled is not detected by the Host. in Ue4.26 the Host is detected as Server, and so this node will operate only for Clients who connect to the game.
    So we have to add a OR operator connected to IsLocallyControlled and IsServer. IsServer will be true only for the Host of the game.
    I dont know about Ue5.

  • @bruh-vc7kw
    @bruh-vc7kw 8 หลายเดือนก่อน +1

    my client player is showing names but not the sever player any solution to it???

    • @iamagenius2646
      @iamagenius2646 7 หลายเดือนก่อน

      Add a delay brother ... If your logic is ok this can solve it. You can try to get a variable in your pawn and update the overhead widget on every tick with that string. If you need a delay everything will work if widgets updates on tick, if not. there is a logic error.

  • @Headcrap
    @Headcrap ปีที่แล้ว +2

    Really helpful and awesome tutorial, although i have a question. How do you make the widget above player's head not change scale when the player gets away?

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +3

      Thank you! If you click on the widget component you can set Space to Screen instead of World. Then you also don't need to make the widget component face the camera on tick anymore. But if it is set to Screen it also renders through walls.

    • @Headcrap
      @Headcrap ปีที่แล้ว

      @@NiceShadow and is there also a way to keep the widget above the player's head when the character gets respawned? because it doesn't attach to the player again after the respawn. the destroy actor function destroys the player together with the widget, but the respawn only respawns the player and the mesh but not the overhead widget

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      @@Headcrap So the widget is away after respawn?

    • @Headcrap
      @Headcrap ปีที่แล้ว

      @@NiceShadow yeah it is, it stays when the third person actor turned into a ragdoll before respawn, and even after respawning it's at the ragdoll's location instead of the freshly respawned player. If using destroy actor, the widget gets destroyed together with the ragdolized character and doesn't show up anymore after the respawn.

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +1

      @@Headcrap Then you could also try to add a new widget component in your blueprint after respawning

  • @Alabriel98
    @Alabriel98 6 หลายเดือนก่อน +1

    Thanks you bro, your tutorial really saves my ass!!

  • @Yunishaa1
    @Yunishaa1 7 หลายเดือนก่อน

    Great video as always! Could you also show how to add steam icon next to the name?

  • @Rrrrnnyg
    @Rrrrnnyg 9 หลายเดือนก่อน

    Good tutorial, it would be better if you did't drag the right mouse button to shake the screen which make me dizzy

    • @NiceShadow
      @NiceShadow  9 หลายเดือนก่อน

      yes I try to improve it in the future

  • @fod_ua
    @fod_ua ปีที่แล้ว

    Nice tutor. Why you not use Widget Details - Space Screen. for rotation widget to the player?

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +2

      You can do that too. But screen space widgets render through walls and have always the same scale. For example if there are 2 characters nect to each other but 200m away from you, the name tags would overlap. To prevent that the nametag could be only made visible in a near distance. So both ways have pros and cons 😄

  • @sosnowed
    @sosnowed 2 หลายเดือนก่อน

    You're the best !

  • @jakedubs
    @jakedubs 7 หลายเดือนก่อน

    Hey, I also implemented this method in my game i.e. using the game instance for storing the name and calling a repnotify on server. The problem with this method is that you can't hide the widget if you want to show the name whenever another character gets close or not because the name tag widget exists on the server.. I'm not sure how you would get around this.

    • @NiceShadow
      @NiceShadow  7 หลายเดือนก่อน

      It exists locally for every player. You can set a timer (Looped) on event begin play in the character. Then you can get the actor location of this character (self) and the actor location of get player pawn where you can get the distance between these two locations. Depending if the distance is bigger as a certain value you set the visibility of the name tag widget. The widget component itself has nothing to do with replication, it's just there because you added it by default to the character. Only the name value within the widget is replicated but this has nothing do regarding adjusting the visibility of the widget component.

    • @leejames-f4z
      @leejames-f4z 7 หลายเดือนก่อน

      @@NiceShadow is it too expensive? if i just set Collision ,it just can be enabled only for character whatever you want anyway and then when the other character is overlap with it then pop up the widget

    • @NiceShadow
      @NiceShadow  7 หลายเดือนก่อน

      @@leejames-f4z It's ok to do it so. But I would suggest that you constantly (for example with a timer that you set on event begin play) get the actor location (self) and do a distance node from that to get player pawn -> get actorlocation. And if the distance is bigger than a specific value it hides otherwise pops up.

  • @Leo-iz2eg
    @Leo-iz2eg ปีที่แล้ว

    thank you for this video!

  • @sa3adman
    @sa3adman 11 หลายเดือนก่อน

    Why didnt make the widget space screen instead of world ? woldnt it automatically remove from local player and face the other cameras ?

    • @NiceShadow
      @NiceShadow  11 หลายเดือนก่อน +1

      yes it would but it would also render through walls

  • @troyar
    @troyar 10 หลายเดือนก่อน

    Hello, the tutorial is genail and it works, but I have a problem, I am creating a game with a lobby and the new players do not see the name of those who are already in session and the players who are already in session do see the correct name of New players, any advice to fix that? thanks for the tutorial

    • @NiceShadow
      @NiceShadow  10 หลายเดือนก่อน

      Thanks, I considered that already when creating this system. The repnotify function should trigger for new joining players so I don't know why it's not working... Maybe you missed a step

    • @troyar
      @troyar 10 หลายเดือนก่อน

      @@NiceShadow Thank you very much for responding, what happens to me is very strange, in the same onrep I put the name in the widget and in a text render and in the text render it works fine for everyone at all times... something strange about my character again thanks for the tutorial, greetings

  • @SirMint2002
    @SirMint2002 ปีที่แล้ว

    nao entendo muito sobre mas quando deixo o is locally controlled o nome nao aparece nos dois personajens, poderia me explicar?

    • @iamagenius2646
      @iamagenius2646 7 หลายเดือนก่อน

      Is locally controlled means that you execute logic on the actor that can receive input on this machine aka this is not a simulated actor

  • @blacies2166
    @blacies2166 9 วันที่ผ่านมา

    How can we do it with Steam names?

  • @SAMAR_178
    @SAMAR_178 9 หลายเดือนก่อน

    hey my client name is just shown as nametag and is not changed what mistake could have I made??

    • @TheMusicTechTeacher
      @TheMusicTechTeacher 5 หลายเดือนก่อน

      Maybe the node you grabbed was text box and not editable text box?

  • @afterlife1578
    @afterlife1578 9 หลายเดือนก่อน

    when i respawn my character, the function is not called, and the name is not updated. any ideas as to why its not working?

    • @afterlife1578
      @afterlife1578 9 หลายเดือนก่อน

      if I remove the branch of check is locally controlled in set up local, it seems to be working, and using my steam name as well, otherwise it shows my pc name. is this a correct way?

    • @iamagenius2646
      @iamagenius2646 7 หลายเดือนก่อน

      It is better to store the data in the player state

    • @siepath
      @siepath 3 หลายเดือนก่อน

      @@iamagenius2646 How is that possible? When I store 'Player name' in Player State and switch Map Level it doesn't work

  • @ChaojianZhang
    @ChaojianZhang 11 หลายเดือนก่อน

    In short, use Tick to implement rotation.

  • @allashama
    @allashama หลายเดือนก่อน

    I dont understand how the '' Get Player camera Manager '' is able to know which player is what to be able to follow this player. If there are multiple players around, the name will follow the camera of all players to be Sync with their view? mindblowing lol.

  • @adam4eissa
    @adam4eissa ปีที่แล้ว

    how i implement this if player name from api thank you sorry am beginner

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      Maybe try in your game instance to set the name variable based on your api result. So instead to set the name of the editable text box in the main menu

    • @adam4eissa
      @adam4eissa ปีที่แล้ว

      can you send me any tutorial for that am beginner Sory @@NiceShadow

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      @@adam4eissa I'm not doing individual tutorials

    • @adam4eissa
      @adam4eissa ปีที่แล้ว

      whyyyyyyyyyyyyyyyyyyyyyyyyyyyyy create one & upload it for everyone we need to learn @@NiceShadow

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +2

      @@adam4eissa my time is limited and I've to set priorities

  • @renanmgs
    @renanmgs ปีที่แล้ว +1

    Life saver

  • @iamagenius2646
    @iamagenius2646 7 หลายเดือนก่อน

    So you want to make a player tag for a Steam game ? You tried the approach where on the BeginPlay > if locally controlled > get controller > get state > player name > set player name on server so it rep notifies, but ...
    It gives errors. Idk why. Add delay of 5 sec. Now it works.
    God dammit unreal, really ? really ?

  • @fredericfox6123
    @fredericfox6123 ปีที่แล้ว +1

    Good tutorial, but by god stop jiggling the blueprints around, I am getting a stroke.

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      Thanks, I'll try my best for future videos 😀

  • @nand-studios
    @nand-studios ปีที่แล้ว

    Do you know how to setup a steam-multipalyer playerlist?
    I think you can explain it the best! @NiceShadow

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว

      steam friends list? or what exactly?

    • @nand-studios
      @nand-studios ปีที่แล้ว

      a list of players connected to the server

    • @NiceShadow
      @NiceShadow  ปีที่แล้ว +2

      @@nand-studios I'll create a tutorial about that

    • @nand-studios
      @nand-studios ปีที่แล้ว

      THANKS 🙏