Help with code modularity and game instance

I created a game instance with some messy code originally and I decided to split the code into components for the sake of neatness and I realized that the game instance isn’t meant to have components (rightly so). I got the UI code working before I realized this because it doesn’t need BeginPlay.

I was wondering what I would use instead of components for splitting out code in the game instance. It really only contains code for displaying UI and setting up network sessions but it doesn’t feel right for them to just be together. I need the components to be able to call BeginPlay or Init and have access to the world

Subsystems can be used to modularize and are very easy to use:

1 Like

To talk about the world, you need some kind of Actor.
Generally, PlayerController is a good place to put UI, and also talk about worlds and steps and begin plays.

1 Like

I saw this in the list of available classes in editor while waiting for post approval. They’re great and amazing but I can’t create a blueprint based on the class for defaults and if I set it to derived and blueprintable it works but just bugs out until I open the blueprint :frowning: I might just have to move the code somewhere else

Hi @Bonee2001
I had the same questions, and found this (2017) post very helpful for starters:
Game Instance, Game Mode, Game State