- Home /
Using a Scriptable Object as a Config
Hello guys. I am actually quite new into Unity and have many questions. Of course, I am not going to gather all of them in this single thread and instead, I am going to ask only one of them for now.
Since I am using Scriptable Objects as general containers for typical data (such as items, attributes, classes and so on), I also thought that it would be a good idea to use it for Config (in other words, Settings) that contains variables like Default Stack Capacity, Inventory Capacity, Max Level, etc. Here's a quick screenshot of it:
So what I desire to achieve is that reference this Config data to a specific GameObject (preferably named as "Game") and get it from anywhere else as well. Say, in the Player script, I'd easily get it with Game.Config.maxLevel
and such.
However, I don't exactly know which way is the best for referencing this Config data globally across all the scripts I have as it is really sensible to make this such data global.
I heard that Singleton is a good way when it comes to global variables but personally, I think they are kind of tricky and hacky. Simply put, I just don't want to deal with singletons but if it is the only way for my case then I think I would have to use them.
I also know that I can use Resource.Load function along with making the variable static. However, Unity itself says it is not recommended at all.
Any suggestions? Thanks in advance.
I'm just dropping in to tell you, imho, the things you already listed are all valid ways to achieve what you want. Hope that helps!
Your answer
Follow this Question
Related Questions
ScriptableObject reference resetted after a method is finished. 2 Answers
Giving a ScriptableObject asset reference to all instances of a MonoBehavior? 0 Answers
Show on ScriptableObject all other ScriptableObjects that reference it 0 Answers
How to save game progress with scriptable object references? 1 Answer
Duplicating Component with Some Scene References in Serialized Scriptable Object Class Reference 0 Answers