みなさんこんにちは。
スタジオブロスの嶋田です。
前回に引き続きAI Assistantを触っていきますが、今回は「AI AssistantでBlueprintを扱ったらどうなるか」という検証記事になります。
2026年1月19日の段階ではAI Assistantは仕様上、レベル内のアクターの数を調べたり、レベルの中のオブジェクトを参照することができず、あくまで「OOをしたい」「OOをしてください」というアシスタントがメインとなっている機能です。
そのため、今回は既にあるBlueprintの解説をAI Assistantにお願いしつつ、そのBlueprintに対して追加機能を実装してもらえないか、ということができるのかどうかを試します。
まずは、AI Assistantに解説対象を理解してもらいます。
Blueprintで何がどう動いているのかという情報をAI Assistantに渡して解析してもらいましょう。
BlueprintはVisual ScriptingですがAI Assistantは執筆時点ではまだ画像解析をしてくれないので、そのままBlueprintを渡そうとしても渡せません。
少しマイナーな方法ですが、Unreal Editor上ではBlueprintのノード情報をCtrl + Cでコピーすることができるのでそれを渡してみます。
Blueprintをコピーした際にコピーされるデータは
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_1193"
..............
というような情報になります。
一先ず、これらの情報を与えてみましょう。
今回はFirst Personシューティングのキャラクターの中にあるBlueprintを渡してみます。

コピーした内容をAI Assistantにペーストしてみましょう。
今回のAI AssistantはWEB上で起動して使用します。
結果は・・・文字数上限に達してしまったのでデータを渡すことができないという内容でした。

この20000文字制限が解除されない限り、大規模なBlueprintをAI Assistantで扱うのは難しそうです。
続いて確認したのは、画像から解析は可能か?ということを一応聞いてみましたが、やはりアクセスができませんという返答がきました。

ではノード単体の説明はどうでしょうか。
Enhanced Input Actionを選択して聞いてみましょう。

結果は、こちらは2万文字をオーバーしていないのできちんと説明してくれました。

単体のノードが名前から推測しづらい場合は、そのノードをコピーして貼り付けることで説明してくれそうなので、学習速度が上がりそうですね。
では先ほどの情報にAIM関数のノードをコピーした結果を渡して、ActionValueXとYaw、ActionValueYとPitchが接続されていることを伝えてみましょう。

一応簡単な動作の流れは説明してくれましたね。
では最後にYawの向きを逆にしたいので、K2ノードの書式でFloatの値に―1を掛け算するノードを作ってくださいと頼んでみました。
一応、書式の指定も加えて「K2ノードの書式でください」という風に伝えました。
すると・・・

自分でやってねという返答になりました。字のごとくAI Assistantですね。
さて、ここで疑問になるのがSnippetsの存在です。
SnippetsとはBlueprintの関数をWEB上で共有できるいわばBlueprintのWEB上のLibraryです。
https://dev.epicgames.com/community/snippets/
これはブラウザー上で動いているBlueprintライブラリのサービスなので、AI Assistantがアクセスできそうな気がします。
Snippets経由でノードを生成できないのかと聞いてみると、

ごめん無理!という返答が帰ってきました。
まとめ
AI Assistantはあくまでもアシスタントなので、OOをすればできるという、いわばアドバイザーとしては頼りになりそうだ、ということが分かりました。
簡単な単体のノードであれば、AI Assistantに対して渡すことでどのPinが何をしているのかという情報は教えてくれましたね。
次回はAI AssistantでC++を使用してノードの中身を書き換えてみるという検証内容を予定しているのでお楽しみに!