Issue with Widgets Breaking After Character Respawn (Parent/Child Blueprint Setup)

Hi everyone, I’m having some trouble and would really appreciate any help.

I created a health, damage, and respawn system for my characters. Everything works fine at the start: my widgets are detected properly, and all UI elements function as expected.
However, after a character respawns, although the basic widgets show up and the character can move, some other widgets stop working completely.
When I close the game, I get errors saying it attempted to access widgets that no longer exist or could not be found. Additionally, all dynamic data seems to break — it’s as if the system no longer recognizes that the game is actively being played.

For some context:

  • I have a Parent Character Blueprint that contains most of the shared functionality for all characters.
  • Each character is implemented through Child Blueprints.
  • The health/damage/respawn logic is handled primarily in the Parent Blueprint (especially in the BeginPlay event).

I’m wondering:

  • Do I need to cast the respawn handling logic from the Parent Blueprint to the specific Child Blueprints during respawn?
  • Is this the correct approach, or is there a better way to properly reinitialize widgets and dynamic data after a character respawns?

Thanks a lot in advance for any guidance or advice you can offer!

These images are from my Parent Blueprint

This image is from my Child Blueprint

This is the issue

Proper solution would be to move all UI elements over to the controller class. It’s persistent… You always have the same controller per level.

Optionally, Don’t spawn a new character on death. Just re-use the current. Your main issue is probably references to the widgets in the parent class.

  1. On death, GM un-possesses the character class.
  2. Handle your free cam etc in whatever manner you wish.
  3. When ready, teleport your old character to the spawn location, reset its states… standing, CMC walk mode, collision etc.
  4. Have the GM possess the character.

What do you mean by sending it to the controller? Could you elaborate a bit more, please? Or show me in a more visual way? Because I wouldn’t know how to do that with all my characters—I have a total of 21 characters made using child blueprints.

loading and unloading of Widgets should be done in the controller class, not the character class.

I don’t have anything like that in my files. The closest thing to that is my input mapping context. Even so, I just created a blueprint with the feature you mentioned, but now I have a question: Do I have to reference this blueprint within my character or something?


And I have another question, so for each of my 21 characters would I have to make the same blueprints that you showed? Each character has different things and therefore I didn’t generate a single HUD for all of them; each character has their own HUD.


Btw, this is how I made my respawn system inside ThirdPersonGameMode

Your using the Third Person template as a base. It uses the base Player Controller class which you cannot edit/modify. You need to create a Player Controller class. From there you can work directly with your player controller… custom code etc.


Game modes only use a single player controller class. You can create 1,000 different ones, but the GM will only ever use one for all pawns in the given game mode.

You assign controller classes in the Game Mode settings.

What you need to do is create flow control that loads and unloads what you want based on the given character.


I see you are using the Get Player Controller (Index) node in your GM. That node is not meant for Multiplayer on Listen or Dedicated servers. It’s for local Coop and Single player.

Get Player Controller (0) on the server will always reference the controller for the first player that joined.

Respawn Player event should pass a player controller reference and then use that reference to fetch variables (e.g. spawning class) and then be used for possess/unpossess.

Do Not Use Any of the get nodes that require an index in a multiplayer setting.

Hey bro, it’s me again. So I moved all my HUD stuff to the player controller to keep the data persistent, but I’m still getting some errors. I feel like it might have something to do with how I’m handling the respawn, or maybe it’s the way I set up my HUD widget—like the reference I’m using to get the character and update the HUD states. Think you could help me out or point me in the right direction?

Here you have some screenshots of how I set up the HUD inside the player controller.


I’ll also send you some screenshots of how the logic is set up inside the blueprint of my HUD widget, just in case it helps. From what I understood from the error log, the problem seems to be with the stuff highlighted in purple and green—those are the dynamic parts of my HUD

This is the image of the cast I have to my character inside the widget.

And these are the ones for the dynamic data inside my widget.




"And these are again about how I set up my respawn system