Script GraphでFooniControllerを参照できるようにする設定ガイド(Unity Visual Scripting)

FUnity Unity
FUnity

はじめに

FUnityの FooniController はパッケージ側アセンブリ(FUnity.Runtime)でビルドされています。
Visual Scripting(Script Graph)は既定だと Assembly-CSharp(Assets直下) を優先するため、カスタムasmdefの型は設定しないと候補に出ません。
この記事では、Get Component〔型指定〕FooniController を選べるようにする手順をまとめます。


前提チェック(1分)

  • プロジェクトにコンパイルエラーが0件であること(重要)
  • FooniControllerpublic class のまま
  • パス例:Runtime/Integrations/VisualScripting/FooniController.cs
    名前空間:FUnity.Runtime.UI

手順1:Visual Scriptingにアセンブリを登録する

  1. メニュー Edit → Project Settings… → Visual Scripting を開く
  2. Node Library(または Type Options)に移動
  3. Script Assemblies(アセンブリ一覧)で FUnity.Runtime にチェック
  4. 画面下部の Regenerate Unit Options をクリック
    • 進捗バーが走り、キャッシュが再生成されます

ポイント

  • ここで1つでもコンパイルエラーがあると再生成が失敗します。ConsoleでAllを表示し、エラーゼロを確認してから実行してください。

手順2:必要なら型を明示追加(Type Options)

  1. 同じ画面で Types 欄を開く
  2. 検索ボックスに FooniController と入力
  3. FUnity.Runtime.UI.FooniController を選択 → で追加
  4. 再度 Regenerate Unit Options をクリック

備考

  • アセンブリ単位の登録だけで拾える場合もあります。出ないときは型を直接追加してください。

手順3:Script Graphで確認

  1. Flow Graph(またはState Graph)を開く
  2. Get Component(T) の T 型ドロップダウンを開く
  3. FooniController が候補に表示 → 選択
  4. ターゲットGameObjectを FUnity UI に接続 → メソッド(EnableFloat など)を呼び出す

うまく出ないときは

  • グラフタブを一度閉じて開き直す
  • Unityを再起動
  • 再度 Regenerate Unit Options

便利レシピ:最小セットアップ(浮遊アニメ)

  • On StartGet 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 UIFooniControllerAccess を追加(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 classpublic 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 を直接操作できます 🎉

コメント

タイトルとURLをコピーしました