Widget stays on screen even if asked to remove from parent??!!??

Hi everyone,

Here’s my problem. When starting my game from the first map, I go through my menu (Splash Screen, Main Menu then, Options Menu, World Screen). Once I’m on the world screen and select one, It will load a different map. I ask to remove from parent and then Open Level. In the map’s blueprint I specifically say to open the Level Screen Widget for Level menu. In that map, The world screen is still present??!!??. From the Level menu, I select a level and load the appropriate map. There again, in the map’s blueprint, I specify to open the game screen widget (HUD) and there again the world screen widget is still displayed??!!??

But if I load from map 02-LevelScreen, I don’t get the problem and if I load me first level directly, I don’t get the problem either. It’s only when I load my first map (01-MenuScreen).

Here’s my setup:

Game Starts…

  1. Loads → 01-MenuScreen
  2. In the map’s blueprint, I ask him to load the Splash Screen.
  3. From there, I can navigate all of my menus (Main menu, Options Menu, Shop Menu and World Menu) up until I reach the World Menu.
  4. Before going from one widget to another, I remove from parent with the target set to self and then I set the screen type that my HUD blueprint process and displays on screen.
  5. On the World Menu, when I click one of them, it checks to see which map is loaded to see if it needs to load a different map or just change the screen type (widget).
  6. Before it changes the screen type or that it Open Level, I make sure to remove the widget with a remove from parent.
  7. I’ve tried with the target set to **self **and by assigning the World Widget directly in the node.
  8. From there, since I’m in the 01-MenuScreen map, It will load the 02-LevelScreen map.
  9. In the map’s blueprint, I’ve asked to set the screen type to Level Screen.
  10. The world screen widget is still present… So in the **construct **of the level widget, and even if I removed the World Screen widget before loading this one, I ask again to remove from parent and It’s not working.
  11. I select a level to play and load that map.
  12. In this case, I’m loading level0101.
  13. There again, in the map’s blueprint I specifically ask to load the Game Screen widget (HUD) which it does… but it also loads the Word Screen widget???
  14. In the Game Screen Widget, there again, I ask to remove the World Screen Widget but it doesn’t do anything since it stays on screen.

It worked before and had no problems adding and removing widget from my screen. The only thing that I’ve changed since that setup is that I moved the Level Screen Widget to a different map for workflow and saving purposes. And As I’ve said above, if I load a different map then the 01-MenuScreen and display the world screen widget and load a different map, I don’t get that problem. So it seems it’s not the widget or the blueprint of that widget since it works fine and I can navigate from map 2, 3, 4, back and forth through the widgets without any issues. And I’m having difficulties seeing the problem with the my first map, 01-MenuScreen, since before adding and moving the level screen widget, I didn’t have a problem.

I also checked ALL of my widget, MyHUD’s blueprint and map’s blueprint and nowhere, other then buttons that can call the world screen widget, is it calling the World Screen Widget.

So my question, why is the World Screen widget staying on screen, when going from the default map to the other maps, even if I ask it to remove itself the proper way or with an ugly hack? It’s like it’s persistent and stuck there between maps.

thanks.

in your first map check if you are not adding the widget to the viewport twice.

if not try this in your first map level bp

1 Like

Hi Mhousse1247 ,

I checked everywhere to see if I was loading the World Screen Widget and it was not the case other then the two buttons that can do it. So I tried your 2nd solution and it worked.

thanks.

I know this is an old topic but I just want to clarify why such things occur, I am having the exact same issue and solved it by using Do Once node. Most probably your event of which you created your widget fires multiple times resulting your widget to be added to the screen multiple times also. Try using do once node to eliminate any possible duplicate widgets.