Unityで会話イベントを作るなら、**ノーコードで扱えるFungus(ファンガス)**はとっても便利。
でも、もっと細かい条件分岐やスクリプトとの連携処理も入れたい…そんなときは、FungusとC#スクリプトを組み合わせて使うのがおすすめです!
今回は、FungusからC#スクリプトのメソッドを呼び出す方法や、逆にC#側からFungusのブロックを実行する方法を実例つきで解説。
UIやオブジェクトをクリックして、Fungusのイベントを起動させる方法も紹介しています。

Unityでのイベント制御をもっと自由にしたい人は、ぜひチェックしてみてね!
※この記事はシリーズ第②回目です。
✅第①回の「Fungusの基本操作と主なコマンドブロック一覧」はこちら👇
FungusからC#スクリプトのメソッドを呼び出す
Fungusの「Call Method」ブロックを使えば、Unity側のC#スクリプトの関数を実行できるよ。
オブジェクトを表示させたいときや、背景を変えたい時など、C#のメゾットを呼び出したい時に使うんだ。
✅手順:
- Call Methodブロックを追加
- ターゲットオブジェクト(スクリプトがアタッチされているGameObject)を指定
- 呼び出すメソッド名を入力
※正しいメソッド名を ” “(ダブルクオーテーション)なし で入力! - 時間を空けて実行する場合は「遅延」欄を入力。

呼び出すC#のメソッドは public にしておく必要があるよ。
C#スクリプトからFungusブロックを呼び出す
会話イベントをスタートさせたい時など、C#スクリプト側からFungusのブロックを実行するには、以下のように記述:
Fungus.Flowchart.BroadcastFungusMessage("メッセージ名");
"メッセージ名"は、Fungus側で設定したメッセージと一致させる。- ダブルクオーテーションを忘れずに!
Fungusでメッセージを受け取る設定
- ブロックのインスペクターで、Execute On Event を「Message Received」に変更
- Message Text に、C#側から送る
"メッセージ名"を設定

これで、スクリプトからメッセージを送ると、指定のFungusブロックが自動で実行されるよ!
オブジェクトをクリックしたらFungusでイベント発生!
UIオブジェクトや画像をクリックしたときにFungusでテキストを表示することもできるんだ!
✅Fungusで「Object Clicked」イベントを使う手順
- 対象のUIオブジェクトに、Clickable2D コンポーネントを追加
- インスペクターのUse Event System にチェックを入れる

4. Fungusで新しいブロックを作成
5. インスペクターで、
・Execute On Event →「Object Clicked」
・Clickable Object に対象のオブジェクトをアタッチ
(Clickable2Dが入っていないと設定できないので注意!)

6. Commandsに、クリック時の処理(会話表示など)を追加
✅これで、オブジェクトをクリックしたときに、Fungusのブロックが反応してイベントが実行されるようになるよ!


クリックでテキストを表示させるのには、Fungusを使うと便利🌟
実際に、ぼくが作ったゲーム「ゆーちゃんの脱出」でも、
条件分岐やブロックの呼び出しがたくさんあったから、
Flowchart Windowがすごいことに…!↓

🧠 ブロックが増えすぎると管理が大変だから、
Call MethodやC#スクリプトとの連携を活用すると整理しやすくなるよ!
まとめ
今回は、FungusとC#スクリプトを連携して、ゲームを進行させたり、クリックイベントを実行する方法を紹介したよ!
ぼくのゲームでも、キャラにタッチしたときに会話をスタートさせたり、持ってるアイテムでスト-リーを分岐したり、いろんなところで使ってるよ~。
慣れればそんなに難しくないから、ぜひ試してみてね!
👇次の記事では、キャラクターの表示方法、ステージの活用法などを詳しく解説してるよ!




コメント