Awesome
Config Assets
Simple & Lightweight solution for managing configuration assets in Unity projects
Install
-
Install
Editor Coroutines
from Unity's package managercom.unity.editorcoroutines
You can access the package manager by going to
Window > Package Manager
at the top bar in Unity -
Download & import the latest
config-assets.unitypackage
from here or the releases page.
Usage
First create a partial class
and add the Config
attribute to it
[Config]
public partial class MyConfig {
// Your fields & attributes
}
Then add as many fields as you need, note that it must be Serializable by Unity for it to save. Anything that is valid
for a ScriptableObject
is valid here as well.
[Config]
public partial class MyConfig {
[SerializeField] private string _myString;
[SerializeField] private bool _myBool = true;
//This also works
public int myInt;
}
Your class is now accessible through a direct static access.
<br>To use it just call YOUR_CLASS_NAME.YOUR_FIELD
int valueFromConfig = MyConfig.myInt;
<br>
- Whenever you get back to Unity, a new
.asset
file will be created for your configuration and it will be added toPreloaded assets
under the player settings. - You can access your configuration through Unity's
Project Settings
underEdit>Project Settings...
in the toolbar, and then selecting the desired configuration under theConfig assets
section.
Customization
The [Config]
attribute has some properties to allow you to customize you configuration a bit:
Attribute | Description | Default |
---|---|---|
DisplayName | The name used under Project Settings | null (Will use the type name) |
EnableProvider | Whether or not to generate a SettingsProvider | true |
Scope | The scope used by the SettingsProvider | SettingsScope.Project |
Keywords | The keywords used by the SettingsProvider | none/empty |
GenerateSingleton | Whether or not to generate the .Instance property | true |