Where's a good spot to put a variable that's not going to change at all.. ever

So basically I have a map where the key is a gameplay tag… and the value is a struct of a text and an image…
this is for tagging items in your inventory as being your Primary, Secondary, or one of the ability keys…
Is it fine to just slap it on a widget… or a player controller… or should i put it on the game mode…
how do libraries work?? lol

i cant really understand what you mean by that. if that item we want to set information about is an actor, lets say a apple which can be picked up then the best place to store information about that item is in the actor itself. i dont know how you get the items but if the items are actual actors that can be picked up thats what you should do.

My Suggestion:
Put it on the Actor - if the Variable will be destroyed when actor is destroyed
Pu it on the Player Controller - if the Variable will be destroyed when the Player Controller is Destroyed (Prettymuch when game session ends from my understanding)
Put it on Player Character Pawn - If Variable will be destroyed when Player Pawn is Destroyed
Put it on GameMode - If Variable will be accessed by multiple players throughout the game session.

Will the keys->Values change per level or remain consistent throughout all levels? If so I think I would place it on the GameMode.

Maybe another suggestion would be to make a Data Structure (Which you may already have done for your Map Value?) and then use a Data Table Blue Print to store the key->value pairs and then you can use the “Get Data Table Row” node to access the Data you need if you have the row ID for that table (Row ID can be a Numeric or Alphanumeric Value). If this will change per level you could then make aseperate Data Table for each level.

Hope this helps!?

If doing the Data Table suggestion, you would need Two Data Structures - One for you Text-Image key->value pair and the other structure for your Data Table which would have one variable for the GamePlay Tag and the other variable would be your Data Structure for the Text-Image key-> Value Pair.

I keep my structures seperated in folders - one for Data Structures → Variables and the other folder for Data Structures → Data Tables

data table blue prints sound like what i need to learn about