By functionality i mean, for example there are 2 buttons, button 1 and button 2. If the player pressed button 1 it will open a new level. Else, if the user pressed button 2 it will open the same level but it will show a widget first.
I dont know how to do this without making a 2 different level. I want it to spawn to the same level because i dont want to make the game size bigger. Is it possible to do this and how ?
Sure, you definitely don’t need to duplicate an entire level to change a small thing like a widget on a different level. What you want is something called the Game Instance. It is a type of Blueprint similar to GameMode except that it exists across all levels and GameModes. It pretty much exists until the game quits.
Using this, you can store some kind of information about what button the player pushed, and then call this information from the game instance after the level loads to decide whether or not to show the widget.
When they click button 2 then set a variable in the game instance first.
When the level begins, have it check the variable you set in the game instance - if it is set to a certain value then show the widget. Game instance variables survive level changes.