Blueprint communication between levels?

I’ve been using ue4 for almost a year but I didn’t realize that opening a new level will reset all the variables to default.

so I’ve got a menu with graphic settings that can be modified both through the main menu and in game menu, but bcz the main menu is in a different level, when the player starts the game it will open a new level and all the settings get reset to default, making the main menu totally useless, how can i carry over all the settings to any level?

That would be with the game instance!
When creating one, make sure to set it in project settings/maps&modes
Afterwards, you can just call it in the blueprint that you need.

  • Q: What if the player quit the game and launched it tomorrow? All their settings would be gone?
  • A: Save Game

The Game Instance is fine, but!

  • Q: What if we crash? All settings gone again? :frowning:
  • A: Save Game

Save Game is a reasonable answer to most questions…

  • if any adjustments are done in the menu → pack it into a struct → Save Game Object → Save
  • any next time the menu opens, load it and restore it all
  • optionally, set up a bMainMenuNeedsSaving flag to indicate that something has changed this session and a new state needs saving

thanks, my game is not really that big so players are not gonna replay the game anyway hah.

i’ve one more question which is unrelated to the topic.

is there a way to change texture LOD at runtime without duplicating the textures?