All Projects → jeffcampbellmakesgames → unity-auto-preset

jeffcampbellmakesgames / unity-auto-preset

Licence: MIT license
Auto Preset enables scriptable configuration of assets from the Unity Editor without requiring any additional code.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to unity-auto-preset

dotfiles
An elegant way to manage dotfiles, commands, completions, configurations for terminal players.
Stars: ✭ 27 (+42.11%)
Mutual labels:  configuration
github-enterprise-cloud-configuration
Guideline of best practices to follow to configure Github Enterprise Cloud in a secure way.
Stars: ✭ 30 (+57.89%)
Mutual labels:  configuration
wcm-io-caconfig
Context-Aware Configuration for AEM applications.
Stars: ✭ 16 (-15.79%)
Mutual labels:  configuration
dot-emacs
Emacs configuration
Stars: ✭ 23 (+21.05%)
Mutual labels:  configuration
circe-config
Yet another Typesafe config Scala wrapper powered by circe
Stars: ✭ 18 (-5.26%)
Mutual labels:  configuration
emacs-config
My personal emacs configuration based on use-package.
Stars: ✭ 34 (+78.95%)
Mutual labels:  configuration
ScriptableObjectVariant
Unity Odin editor helper which permits to set a "SOVariant" attribute to a ScriptableObject and override, or not, certain fields (similar to prefab variants but for scriptable objects).
Stars: ✭ 30 (+57.89%)
Mutual labels:  scriptableobject
envkey-python
EnvKey's python library. Protect API keys and credentials. Keep configuration in sync.
Stars: ✭ 24 (+26.32%)
Mutual labels:  configuration
climatecontrol
Python library for loading settings and config data from files and environment variables
Stars: ✭ 20 (+5.26%)
Mutual labels:  configuration
Configuration
Hierarchical configuration manager for Swift applications
Stars: ✭ 72 (+278.95%)
Mutual labels:  configuration
JsonSettings
This library simplifies creating configuration for your C# app/service by utilizing the serialization capabilities of Json.NET to serialize nested (custom) objects, dictionaries and lists as simply as by creating a POCO and inheriting JsonSettings class.
Stars: ✭ 59 (+210.53%)
Mutual labels:  configuration
gl-ionic2-env-configuration
An Ionic2 Service to load an environment specific configuration before everything else
Stars: ✭ 23 (+21.05%)
Mutual labels:  configuration
dotfiles
🔧 .files - different setups separated in branches
Stars: ✭ 168 (+784.21%)
Mutual labels:  configuration
swiss-army
Ansible-driven configuration management for maintaining a preferred environment (base system and app dotfiles / configurations)
Stars: ✭ 44 (+131.58%)
Mutual labels:  configuration
frontend-platform
A framework for Open edX micro-frontend applications.
Stars: ✭ 17 (-10.53%)
Mutual labels:  configuration
myconfig
my Linux Configuration
Stars: ✭ 23 (+21.05%)
Mutual labels:  configuration
PropertiesFile4Delphi
Library for managing configuration files with key-value syntax
Stars: ✭ 17 (-10.53%)
Mutual labels:  configuration
configuro
An opinionated configuration loading framework for Containerized and Cloud-Native applications.
Stars: ✭ 81 (+326.32%)
Mutual labels:  configuration
scalecube-config
ScaleCube Config is a configuration access management library for JVM based distributed applications
Stars: ✭ 15 (-21.05%)
Mutual labels:  configuration
go-chassis-config
pull and push configs in distributed configuration management service. migrated to go-archaius https://github.com/go-chassis/go-archaius/pull/87
Stars: ✭ 23 (+21.05%)
Mutual labels:  configuration

GitHub issues GitHub Twitter Follow

Auto Preset

About

Auto Preset enables scriptable configuration of assets from the Unity Editor without requiring any additional code.

Overview

AutoPresetConfig is a simple Scriptable Object derived class that holds a reference to a native Unity Preset asset; these assets can be created from any native Unity asset or component, containing the serialized settings of that asset in a dedicated Scriptable Object. Any asset imported in the same folder as a AutoPresetConfig asset(s) will check to see if any of them apply to that type of asset. If they do, the first applicable AutoPresetConfig asset found will automatically be applied to that newly imported asset.

Installing AutoPresets

Using this library in your project can be done in three ways:

Install via OpenUPM

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

openupm add com.jeffcampbellmakesgames.autopresets

Install via GIT URL

Using the native Unity Package Manager introduced in 2017.2, you can add this library as a package by modifying your manifest.json file found at /ProjectName/Packages/manifest.json to include it as a dependency. See the example below on how to reference it.

{
	"dependencies": {
		...
		"com.jeffcampbellmakesgames.autopresets" : "https://github.com/jeffcampbellmakesgames/unity-auto-preset.git#release/stable",
		...
	}
}

Install via classic .UnityPackage

The latest release can be found here as a UnityPackage file that can be downloaded and imported directly into your project's Assets folder.

Use-Cases and Usage

This type of automatic, scriptable configuration of assets can be used to reduce the boilerplate, often tedious work of configuring newly imported assets and can prevent errors from doing so manually.

For example, a group of textures may require specific compression settings and properties in order to be rendered without artifacts by a shader. This may require manual tweaking to elicit what those settings are and apply them manually from that point on, requiring time and energy to make sure all of the settings are correct for any new textures and inviting human error.

Creating a AutoPresetConfig

Instead, follow these steps to have those settings applied automatically every time a texture is imported into a specific folder.

  • Configure one texture using the proper settings and save those settings as a Preset by clicking the dial icon at the top right of its inspector. This allows you to save those settings as a Preset.

Preset Button on Inspector

  • Create a AutoPresetConfig asset in that folder by right-clicking on the folder in the project view and selecting Create=>JCMG=>AutoPreset=>AutoPresetConfig and give it an appropriate name.

Preset Button on Inspector

  • Assign that newly created Preset asset to the AutoPresetConfig in its inspector.

Preset Button on Inspector

Manually Triggering Asset Updates

It may be convenient at times to update a Preset and apply any changes made to any assets that would be affected by it manually. There are two ways to do this:

  • Right-click the Preset and select the menu-item AutoPresets=>Reimport linked assets. This will find any AutoPresetConfig instances in the project that reference that Preset and reimport any applicable assets.
  • Select a specific AutoPresetConfig asset in the project and select the Reimport linked assets button underneath Actions. This will reimport any applicable assets in the same folder.

Supported Asset Types

You can use AutoPresets to automatically configure any of the supported asset types below:

  • Textures
  • AudioClips
  • Materials
  • Cubemaps
  • Animations
  • Assemblies/Plugins
  • Models
  • SpeedTree
  • Any other Unity or custom assets that can generate a Preset.

Contribution

If you find any bugs or if there is a new feature you desire, please create a new issue here or add your comments/thoughts to a related existing issue. If you are interested in contributing a PR for either of these types of issues, read the contribution guidelines here first and please do so!

Support

If this is useful to you and/or you’d like to see future development and more tools in the future, please consider supporting it either by contributing to the Github projects (submitting bug reports or features,pull requests) or by buying me coffee using any of the links below. Every little bit helps!

ko-fi

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].