LiveClassAsset で任意のプロパティを公開する
実験的な機能が多く、破壊的な仕様変更が入ることがあります。
Live Class Asset を使うと、スクリプトを書かずに、シーン上のコンポーネントのプロパティやメソッドをリモートアプリから操作できるようになります。Unity の組み込みコンポーネントやサードパーティ製のコンポーネントのように、属性を付けられないクラスも公開できます。
自作のスクリプトに属性を付けてコードで公開する方法は、LiveProperty でリモートアプリにパラメータを公開する を参照してください。
このページでは、AudioSource の音量をスライダーで操作し、再生・停止をボタンで行えるようにする例で手順を説明します。
仕組み
公開には次の 3 つが関わります。
| 要素 | 役割 |
|---|---|
| Live Class Asset | どのクラスの、どのメンバーを公開するかを宣言するアセット。シーンに依存しない |
| 適用先 | アセットを有効にする場所。Project Settings(プロジェクト全体)か、Remote Control Container(そのシーン・セットだけ) |
Remote Control Container の Objects | どのオブジェクトを公開するか。登録した GameObject に付いているコンポーネントのうち、宣言されたクラスのものが公開される |
Light(enabled / color / intensity / shadows / spotAngle)と PlayableDirector(Play / Stop / Pause)は、LiveStudio の Live Studio System プレハブが適用する UnityBasicLiveClasses で公開済みです。これらは GameObject を Objects に登録するだけで操作できます。
1. Live Class Asset を作る
Window > Lilium Remote Control > Live Class Assetを開きます。- ヘッダーの
Presetの横にあるNewを押し、保存先を指定してアセットを作成します。
Project ウィンドウの Create > Live Studio > Remote Control > Live Class Asset から作成して、Preset に割り当ててもかまいません。
2. クラスを追加する
Classes タブの左側(クラス一覧)で、公開したいクラスを追加します。
+— すべての Component / ScriptableObject クラスから検索して選びます(名前空間ごとにグループ化されています)。From Selected— Hierarchy で選択中の GameObject に付いているコンポーネントの一覧から、Addで選びます。
例では、AudioSource を持つ GameObject を選択して From Selected を押し、AudioSource の Add を押します。

① クラスを追加する + / From Selected(手順 2) ② メンバーを追加する +(手順 3) ③ volume のスライダー設定(手順 4)
クラス一覧には、他のアセット(UnityBasicLiveClasses など)で宣言済みのクラスも、そのアセット名とともに表示されます。
3. メンバーを公開する
- クラス一覧で追加したクラスを選びます。
- 右側の詳細ペインの
+を押してAdd Memberウィンドウを開きます。 - 公開したいメンバーにチェックを入れます。ウィンドウは開いたままにできるので、複数のメンバーをまとめて選べます。
候補に出るメンバーは次のとおりです。
- public なプロパティ・フィールドのうち、型が
bool、整数、float、double、string、enum、Vector2〜Vector4、Quaternion、Color、Rect、Boundsなどのもの(setter のないプロパティは(read only)と表示されます) - 引数のない public メソッド(リモートアプリではボタンになります)
例では、volume、mute、Play、Stop にチェックを入れます。

リモートアプリに表示されるラベルは、メンバー名から自動で作られます(useColorTemperature → Use Color Temperature)。
4. 表示と保存の設定をする
詳細ペインの上部で、クラス全体の表示を設定します。
| 項目 | 内容 |
|---|---|
Category | リモートアプリでの分類。空欄の場合は Binding |
Icon | リモートアプリで表示するアイコン(Material Icons の名前)。空欄の場合はクラスの既定のアイコン |
その下に、公開したメンバーごとの設定が並びます。
| 項目 | 内容 |
|---|---|
Persistable | ライブシーン(*.live.json)に値を保存・復元する(既定でオン) |
Read Only | リモートアプリでは表示のみにし、書き込みを禁止する |
Lane | ライブデータへの収録方法。通常は Auto のままでかまいません |
Control | 表示コントロール。SliderControl(Min / Max / Step)でスライダー、HideControl でリモートアプリの UI から隠す。None は型の既定のコントロール |
Help | リモートアプリに表示するヘルプテキスト |
Section Title | このメンバーからセクションを始める。入力すると Subtitle と Icon も設定できる |
Icon(メソッドのみ) | ボタンに表示するアイコン(Material Icons の名前) |
例では、volume の Control に SliderControl を選び、Min を 0、Max を 1 にします(手順 2 の画像の ③)。
- 各メンバーの右上の
▲/▼で表示順を入れ替え、✕で公開を取り消せます。 - 各メンバーの右上のバッジ(
State/Event/None)は、そのメンバーがライブデータにどう収録されるかを示します。
5. アセットを適用する
作ったアセットは、どこかで適用しないとリモートアプリに反映されません。適用されていない間は、ウィンドウのヘッダーに警告が表示されます。
- プロジェクト全体に適用する(通常はこちら) —
Edit > Project Settings > Lilium Remote ControlのLive Class Assetsリストに追加します。最初に編集したときにプロジェクト用の設定アセット(Assets/Settings/RemoteControlProjectSettings.asset)が作られ、ビルドにも含まれます。 - シーン・セットごとに適用する — そのシーンの
Remote Control ContainerのAssetsリストに追加します。セット(.set.lsb)の中のコンテナに入れると、そのセットを読み込んでいる間だけ有効になります。

① Lilium Remote Control ページ ② Live Class Assets に作成したアセットを追加する
6. オブジェクトを登録する
公開したいコンポーネントを持つ GameObject を、シーンの Remote Control Container に登録します。
Remote Control ContainerGameObject を選択し、Remote Control ContainerコンポーネントのObjectsの+を押します。- 型ドロップダウンから
LiveGameObjectを選びます。 Referenceに、AudioSourceを持つ GameObject をドラッグして割り当てます。

① + で項目を追加 ② LiveGameObject を選ぶ ③ Reference に GameObject を割り当てる
登録済みの GameObject であれば、この手順は不要です。宣言したクラスのコンポーネントは、それだけで公開されます。
GameObject ではなく、特定のコンポーネントだけを独立した項目として登録したい場合は、LiveGameObject の代わりに LiveComponent を選び、Reference にそのコンポーネントを割り当てます。
7. 動作確認
Unity Editor で Play するか、ビルドしたアプリを起動してリモートアプリを接続します。リモートアプリの「ライブシーン」ページで GameObject を開くと、AudioSource の Volume がスライダーで、Play / Stop がボタンで表示されます。
Live Class Asset ウィンドウや Project Settings で行った編集は、ドメインリロードを待たずにその場で再適用されます。
関連リンク
- LiveProperty でリモートアプリにパラメータを公開する — 自作スクリプトに属性を付けて公開する方法
- ライブシーン — 公開した値が保存されるライブシーンについて
- セットをエクスポートする —
Remote Control Containerごとセットとして書き出す方法 - SDKの構成内容 —
RemoteControlパッケージを含む SDK の構成