🐡

Unityプロジェクトの色を管理するOSS「uPalette」の紹介

2024/12/14に公開

この記事は UnityAdventCaleder2024の14日目の記事です。

uPaletteとは

uPalette はHaruma-Kさんが公開しているOSSでプロジェクト内の色の管理ができます。

(詳しくは日本語READMEを参照)
https://github.com/Haruma-K/uPalette/blob/master/README_JA.md

ざっくりとした使う流れ

色の登録>PaletteStoreを作成>エントリを登録
色の同期>色を同期したいGameObjectに同期用のコンポーネントを付けてエントリを指定する。

エントリはuPaletteの単位で、名前と値のペアみたいに覚えておくと良いと思います。

色以外にも管理できるuPalette

uPalette は色の管理をする為のライブラリとしてはじめは生まれましたが、現在は色・グラデーション・文字スタイルの3つに対応しています。

テーマを変える事ができる。

いわゆるUIカラーテーマみたいな実装が簡単にできます。
エントリに設定された値はテーマごとに保持されており、一つのエントリに複数のテーマごとの値を保持できます。
例えばテーマAでは赤、テーマBでは青といった設定をしているエントリがあった場合に瞬時に切り替える事ができます。

どういう使い方をしている?

現在自分の開発ではアドベンチャーゲームのUIに利用しています。

例えばこんな感じで前作のテーマは緑を基調としたもの。次回作は青を基調としたもののように保存しています。

uPaletteを使って色管理してみよう

使ってみると単純な色を管理したいというシチュエーションにおいてはかなり使い勝手が良いです。
一方でアニメーションをつかって色を変えているようなシチュエーションでは適用できないので意外と用途は限定的かもしれません。

自分で同期用のコンポーネントを作成する事も簡単にできるので是非使ってみてください~!

Discussion