カスタマイズ
IwashiIME は、見た目の色(テーマ)の変更だけでなく、キー配列(レイアウト)そのものを自由に作成・変更できる柔軟な設計になっています。
🎨 UIテーマカラーの設定
ThemeManager コンポーネントを使用することで、キーボードの配色を一括で管理・変更できます。
1. 編集対象の選択
設定を行う前に、「プロジェクト全体の設定を変更するか」、「現在のシーンのみ変更するか」 によって編集する対象を選んでください。
- プロジェクト全体で統一したい場合(推奨):
Assets/IwashiAssets/Iwashiime/Runtime/IwashiIME.prefabをダブルクリックして、プレハブモードで開いて編集します。- 注意: ここでの変更は、このプレハブを使用している 全てのシーンに影響します。
- シーンごとに色を変えたい場合:
- 重要: 基本的な使い方では「自動配置」を推奨していますが、シーン個別の設定を行いたい場合は、手動でプレハブをシーンに配置する必要があります。
Assets/IwashiAssets/Iwashiime/Runtime/IwashiIME.prefabを Hierarchy にドラッグ&ドロップで配置してください。- 配置した
IwashiIMEオブジェクトを選択して編集します。
- 複数のワールドを1つのプロジェクトで管理しており、シーンごとにテーマを使い分けたい場合はこの方法をとってください。
2. 配色の変更手順
- 編集対象(プレハブまたはシーン上のオブジェクト)の Theme Manager コンポーネントを見つけます。
- Inspector で各箇所のカラーを変更します。
- Background Color: 全体の背景色
- Text Color 1 / 2: 文字色
- Input Field Background / Text: 入力欄の色
- Primary / Secondary / Tertiary ...: 各ボタンやアクセントに使用されるパレットカラー
Apply Themeボタンをクリックして、変更を適用します。

Inspector 上で色を変更しただけでは、シーン上の見た目には反映されません。
必ず Apply Theme ボタンを押して変更を確定させてください。
テーマの保存と読み込み
作成したテーマは JSON ファイルとして書き出し、いつでも読み込むことができます。
- 保存 (Save as JSON): 現在の設定を JSON ファイルとして保存します。
- 読み込み (Load): 保存済みのプリセットを読み込みます。
保存した JSON ファイルを以下のフォルダに配置すると、ThemeManager のドロップダウンリストに自動的に表示されるようになります。
Assets/IwashiimeAsset/Profiles
配布用のテーマを作成する場合も、このフォルダに入れてパッケージ化してください。
⌨️ キー配列のカスタマイズ
IwashiIME では、Unity の uGUI システムを使って自由にボタンを配置し、独自のキー配列を作成できます。
1. キーボードの登録
自作したキー配列をシステムに認識させるためには、そのキーボードのルート(親)となるオブジェクトに KeyboardMarker コンポーネントをアタッチする必要があります。
- 設定方法: キーボードの親オブジェクトを選択し、
Add ComponentからKeyboardMarkerを追加します。 - 注意: これが付いていないプレハブは、オリジナルキーボードとしてロードされません。
2. ボタンの配置フロー
- uGUI の Selectable コンポーネント(Image など)を持つオブジェクトを配置します。
Buttonコンポーネントでも動作しますが、システム側でEventTriggerが自動付与されるため、通常の Image + Selectable 等で十分です。
- 対象のオブジェクトに
ButtonMarkerコンポーネントをアタッチします。 - Button Type を設定して、キーの役割を決定します。
ボタンの種類 (Button Type)
| タイプ | 説明 |
|---|---|
| Input Button | 文字を入力する通常のキーです。 |
| Flick Button | フリック入力用のキーです。(設定が複雑なため後述) |
| Backspace / Delete | 文字を削除します。 |
| Enter / Send | 改行や送信を行います。 |
| Full Space / Half Space | 全角・半角スペースを入力します。 |
| Caret Prev / Next | カーソル(キャレット)を移動します。 |
| Toggle Case | 大文字・小文字を切り替えます。 |
Input Button の設定要件
Input Button タイプを使用する場合、入力される文字は子オブジェクトの TextMeshPro から取得されます。
ボタンの子オブジェクトに Text (TMP) という名前のオブジェクトを作成し、そこに入力させたい文字(「あ」や「A」など)を設定してください。
Flick Button の構造詳細
フリック入力ボタンは構造が少し複雑です。基本的には既存のプレハブ(Assets/IwashiAssets/Iwashiime/Runtime/Prefabs/Common/FlickButton.prefab)をコピーして使うことになります。

- Candidates オブジェクト
- フリック入力の候補を管理するコンテナです。この配下に方向ごとの定義が含まれています。
- 方向オブジェクト (Center / Left / Up / Right / Down)
- それぞれ「タップ(真ん中)」、「左フリック」、「上フリック」、「右フリック」、「下フリック」に対応しています。
- Text オブジェクト
- 各方向オブジェクトの中にある
Text(TMP_Text) コンポーネントに入力されている文字が、実際に送信される文字になります。 - 例えば「あ行」のキーであれば、
Centerの Text に「あ」、Leftの Text に「い」...といった形で登録されています。
- 各方向オブジェクトの中にある
🖌️ 自作キーへのテーマ適用
自作したキーボードのボタンを、テーマカラー変更に対応させるには ThemeMarker コンポーネントを使用します。
設定手順
- 色を変えたいオブジェクトに
ThemeMarkerをアタッチします。 - Color Type で、どの色(Primary, Secondary, Accentなど)を適用するかを選択します。
グラフィックへの適用(優先順位)
Selectable(ボタン機能)と Graphic(画像)が両方ついているオブジェクトの場合、デフォルトでは Selectable の Color Block(ボタンの状態遷移色)に対して色が適用されます。
ボタンの色ではなく、アイコン画像や背景画像の color プロパティを直接変更したい場合は、以下のように設定してください。
- Graphic フィールドに、色を変えたい Image や TextMeshPro コンポーネントをドラッグ&ドロップで指定します。
- これにより、Selectable ではなく指定された Graphic の色が変更されるようになります。