All Projects → caneva20 → ConfigAssets

caneva20 / ConfigAssets

Licence: MIT license
Simple & Lightweight solution for managing configuration assets in Unity projects

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to ConfigAssets

tinyrpc
Much fast, lightweight, async, based boost.beast and protobuf.
Stars: ✭ 32 (+23.08%)
Mutual labels:  lightweight
wombag
Wombag is the alternative, lightweight backend for your Wallabag apps. Wombag supports the Wallabag API.
Stars: ✭ 42 (+61.54%)
Mutual labels:  lightweight
youtube-sr
Simple library for Node, Deno & Bun to make YouTube search easily
Stars: ✭ 68 (+161.54%)
Mutual labels:  lightweight
logger
☠ 😈 👀 Simple,Secure & Undetected (6.11.2017) keylogger for Windows :)
Stars: ✭ 37 (+42.31%)
Mutual labels:  lightweight
esl
Lightweight and flexible UI component library based on web components technology for creating basic UX modules
Stars: ✭ 53 (+103.85%)
Mutual labels:  lightweight
lighttpd-Link
A lighttpd powered lightweight web server for the Steam Link
Stars: ✭ 21 (-19.23%)
Mutual labels:  lightweight
docker-dataset
Docker database images with pre-populated data for testing and/or practice.
Stars: ✭ 35 (+34.62%)
Mutual labels:  lightweight
memory signature
A small wrapper class providing an unified interface to search for various memory signatures
Stars: ✭ 69 (+165.38%)
Mutual labels:  lightweight
temps-lite
A smart, good-looking little app which tries to speak your language the way you are used to.
Stars: ✭ 40 (+53.85%)
Mutual labels:  lightweight
tsdom
Fast, lightweight TypeScript DOM manipulation utility
Stars: ✭ 16 (-38.46%)
Mutual labels:  lightweight
UnitySceneSwitcher
Editor extension for quick scene switching.
Stars: ✭ 38 (+46.15%)
Mutual labels:  openupm
lfs
Lightweight file system
Stars: ✭ 12 (-53.85%)
Mutual labels:  lightweight
cubic
📦 Easy to scale, zero-config, real-time focused app platform for node.js
Stars: ✭ 16 (-38.46%)
Mutual labels:  lightweight
awesome-pro
Awesome WM 4.x themes configs
Stars: ✭ 91 (+250%)
Mutual labels:  configs
Last-Launcher
Lightweight: Faster than light, Low on memory
Stars: ✭ 148 (+469.23%)
Mutual labels:  lightweight
fansly
Simply scrape / download all the media from an fansly account
Stars: ✭ 351 (+1250%)
Mutual labels:  lightweight
FaceRecognitionCpp
Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
Stars: ✭ 40 (+53.85%)
Mutual labels:  lightweight
secret config
Centralized Configuration and Secrets Management for Ruby and Rails applications.
Stars: ✭ 15 (-42.31%)
Mutual labels:  configs
quicli
Create CLI's quickly without any external files!
Stars: ✭ 24 (-7.69%)
Mutual labels:  lightweight
colr pickr
Colr Pickr, a vanilla JavaScript color picker component built with SVGs, with features like saving colors. Similar design to the chrome-dev-tools color picker.
Stars: ✭ 27 (+3.85%)
Mutual labels:  lightweight

Config Assets

openupm

Simple & Lightweight solution for managing configuration assets in Unity projects

Install

The package is available on the openupm registry. It's recommended to install it via openupm-cli.

openupm add me.caneva20.config-assets

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.
To use it just call YOUR_CLASS_NAME.YOUR_FIELD

int valueFromConfig = MyConfig.myInt;

  • Whenever you get back to Unity, a new .asset file will be created for your configuration and it will be added to Preloaded assets under the player settings.
  • You can access your configuration through Unity's Project Settings under Edit>Project Settings... in the toolbar, and then selecting the desired configuration under the Config assets section.

Customization

The [Config] attribute has some properties to allow you to customize you configuration a bit:

Attribute Description Default
FileName The name of the generated file null (Will use the namespace instead)
DisplayName The name used under Project Settings null (Will use the type name instead)
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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].