はじめに
FUnityの FooniController はパッケージ側アセンブリ(FUnity.Runtime)でビルドされています。
Visual Scripting(Script Graph)は既定だと Assembly-CSharp(Assets直下) を優先するため、カスタムasmdefの型は設定しないと候補に出ません。
この記事では、Get Component〔型指定〕 で FooniController を選べるようにする手順をまとめます。
前提チェック(1分)
- プロジェクトにコンパイルエラーが0件であること(重要)
FooniControllerはpublic classのまま- パス例:
Runtime/Integrations/VisualScripting/FooniController.cs
名前空間:FUnity.Runtime.UI
手順1:Visual Scriptingにアセンブリを登録する
- メニュー Edit → Project Settings… → Visual Scripting を開く
- Node Library(または Type Options)に移動
- Script Assemblies(アセンブリ一覧)で
FUnity.Runtimeにチェック - 画面下部の Regenerate Unit Options をクリック
- 進捗バーが走り、キャッシュが再生成されます
ポイント
- ここで1つでもコンパイルエラーがあると再生成が失敗します。ConsoleでAllを表示し、エラーゼロを確認してから実行してください。
手順2:必要なら型を明示追加(Type Options)
- 同じ画面で Types 欄を開く
- 検索ボックスに
FooniControllerと入力 FUnity.Runtime.UI.FooniControllerを選択 → + で追加- 再度 Regenerate Unit Options をクリック
備考
- アセンブリ単位の登録だけで拾える場合もあります。出ないときは型を直接追加してください。
手順3:Script Graphで確認
- Flow Graph(またはState Graph)を開く
- Get Component(T) の T 型ドロップダウンを開く
FooniControllerが候補に表示 → 選択- ターゲットGameObjectを
FUnity UIに接続 → メソッド(EnableFloatなど)を呼び出す
うまく出ないときは
- グラフタブを一度閉じて開き直す
- Unityを再起動
- 再度 Regenerate Unit Options
便利レシピ:最小セットアップ(浮遊アニメ)
On Start→Get Component(FooniController)
→EnableFloat(true)→SetFloatAmplitude(10)→SetFloatPeriod(3)- 再生で、フーニーが ±10px/3秒周期でふわふわ
迂回ワザ(即戦力):Assembly-CSharp経由のブリッジ
設定が落ち着くまでの一時対応として、Assets側(Assembly-CSharp) に薄いラッパーを置く方法です。
Visual ScriptingはAssembly-CSharpのpublicメソッドは即座にユニット化します。
// Assets/FUnity/Bridge/FooniControllerAccess.cs
using UnityEngine;
using FUnity.Runtime.UI;
public class FooniControllerAccess : MonoBehaviour
{
private FooniController C => GetComponent<FooniController>();
public void EnableFloat(bool enabled) => C?.EnableFloat(enabled);
public void SetFloatAmplitude(float px) => C?.SetFloatAmplitude(px);
public void SetFloatPeriod(float s) => C?.SetFloatPeriod(s);
public void NudgeY(float d) => C?.NudgeY(d);
public void Say(string message) => C?.Say(message);
}
使い方:
FUnity UIに FooniControllerAccess を追加(FooniControllerと同じGO)- グラフでは Get Component(FooniControllerAccess) → 各メソッドを呼ぶ
- Visual Scriptingの設定が完了したら、
FooniController直接参照へ置き換え可能
トラブルシュート
| 症状 | 原因 | 対処 |
|---|---|---|
Get Component に FooniControllerが出ない | asmdef未登録 or Unit未再生成 | Project Settings → Visual Scripting → FUnity.Runtimeチェック → Regenerate |
| Regenerateに失敗 | コンパイルエラーあり | Consoleでエラーゼロにしてから再実行 |
| 参照はできたが呼べない | クラス/メソッドが public でない | public class/public void を確認 |
| グラフが古いまま | キャッシュ更新未反映 | グラフタブを閉じて開く/Unity再起動 |
| どうしても出ない | VSのバージョン差・設定差 | 上の ブリッジクラス を一時採用 |
付録:よく使うユニット例
- EnableFloat(bool) … ふわふわON/OFF
- SetFloatAmplitude(float px) … 振幅(px)
- SetFloatPeriod(float sec) … 周期(秒)
- NudgeY(float px) … 瞬間的にY移動
- Say(string message) … カスタムイベント
"Fooni/Say"を発火(受け側で吹き出し表示など)
まとめ
FUnity.Runtime(パッケージasmdef)をVisual Scriptingに登録 → Unitを再生成- 必要なら 型を直接追加(
FUnity.Runtime.UI.FooniController) - すぐ使いたいときは Assembly-CSharpのブリッジで回避
- 設定が通れば、Script Graphから
FooniControllerを直接操作できます 🎉

コメント