When you say game user settings are you talking about the resolution, frame rate and so on? If you are talking about the different options you want players to be able to apply then those are likely going to have a umg widget and should all be controlled within the widget blueprint. When a user saves the settings they chose it should write the information to the associated ini file. If that file does not exist it will create one.
Game instance is used for data that needs to cross over from level to level. So if you have some kind of information that needs to persist across levels use this.