はじめに
Unity2018 (ベータ版)で触れる「Preset」機能。
簡単に言うとコンポーネントやアセットの設定を自由に保存、適応できる機能です。
https://docs.unity3d.com/2018.1/Documentation/Manual/Presets.html
既にいろんな方が解説・サンプルをあげているので是非使ってみると良いかと思います。
コガネブログさん
http://baba-s.hatenablog.com/entry/2018/01/10/19361
テラシュールブログさん
http://tsubakit1.hateblo.jp/entry/2018/01/10/234053
@lycoris さん
https://qiita.com/lycoris102/items/c8cc64e2ccbcbf533fa8
事の発端
あるとき仕事で他セクションの方から
「Unity2018 で追加されるPreset だけど、Unity2017じゃ出来ないの?」
という、エンジニアとして マジで意味わからん 挑戦しがいのあるお題を出されました。
解決方法
Preset ですが、
- Asset として設定を保存している
- 設定を上書きできればいい
ということなので
- Asset として設定を保存している -> ScriptableObject で設定した値を保存
- 設定を上書きできればいい -> AssetImporter & Reimport による強制上書き
でいけるのではと考えました。
実装
ScriptableObject に適応するPath と拡張子を定義して、対象のファイルなら
AssetImporter の設定を上書きするような作りにしました。
一旦は必要そうな項目だけやって、足りなくなったらアップデートしていこうかと。
実際のコードはGithub 下記にあげています。
https://github.com/Cova8bitdots/CustomAssetImporterPreset
最後に
Unity2018 にアップデートできるなら、それが一番だと思います。