UnityAIを覗く

こんにちは。プログラマのwawawaです。
私は普段、Unity製ゲームのアウトゲーム開発を主とした業務に携わっております。

UnityAI

Unity純正のAI機能。

「Unityを使っての制作をより迅速かつ簡単にします。UnityAIは、文脈に応じた支援を提供し、面倒な作業を自動化し、アセットを生成し、Unityエディター内から全ての作業を行うことで、参入障壁を下げるAIスイートです。」

流行りのMCP(Model Context Protocol)を利用して0からすべてAIにやってもらいました系の試みは割と見ますが、MCP環境を整えなくとも簡単に利用できるAIがUnityにはあります。

ただしBETA。

まだ機能が揃っていないからか、あまり話題になっていない印象です。
ということでちょっと触ってみました。

UnityAIの導入

試してみる手元の環境です。

  • Windows
  • Unity6.3LTS

Unityを起動したら左上にあるAIボタンからすぐにパッケージを取り込むことができます。

Agreeボタンをぽちっとするだけです。

この表示になれば準備完了。
MCPの準備よりひっじょーにカンタン!
利用できるポイントが25kあり、お試し程度であれば結構余裕そうです。

 

使ってみる

まずAssistantのウィンドウを開いてみます。
AI -> Open Assistant

Ask anythingとはありますが、ジャパニーズOKですか?

なるほど、日本語入力OKみたいです。
では早速、ゲームオブジェクトを一つ追加してみてもらいたいと思います。

やらんのかい

「Poor response」のボタンを押してUnityを終了。
してしまいそうになりましたが、ちょっと調べてみると実は操作モードというものがありました。

https://docs.unity3d.com/Packages/com.unity.ai.assistant@1.0/manual/index.html

つまり、直で質問をするより /ask /run /code という3つのモードを利用したほうが効率的、というか意図した操作をしてくれるようです。

モード 説明
/ask プロジェクト ファイルを変更せずに、回答を提供したり、ドキュメントを参照したり、プロジェクト固有の詳細を取得したりします。
/run Unity エディターで直接変更を実行できる機能スクリプトを生成することで、反復タスクを自動化します。
/code Unity API と対話するカスタマイズ可能な C# コード スニペットを生成し、レビューします。

3つのモードの中では /run がエディタを操作してくれて面白そうなのでこちらを試してみます。

コマンドが青くなります。
この後に先ほど失敗した開いているシーンにゲームオブジェクトを1つ追加してください。と指示すればいいわけです。

なんでぇ

やり直したり半角英数入力に変えたりしてみましたが、どうもコマンド後の入力がバグってるみたいです。
BETAだししょうがないので別テキストエディタで打った文字をコピペしてきます。

コピペならいけそうです。
送信してみます。

送信した内容の右上に /run と出ておりモード操作中であることが確認できます。
ここでRunをポチると…

シーンにゲームオブジェクトが追加されました!

もうちょっと複雑な指示いけるでしょうか。

ビジュイイじゃん

ちゃんと追加された球体オブジェクトそれぞれにBoxコライダーもついていました。

また、より指示を具体的にするためにコンテキストの追加ができます。

入力スペースの枠の下にSphereとあるのが、操作してもらいたい球体オブジェクトをドラッグ&ドロップしてきたものです。
(Attachのボタンからも追加できます。)

これをRunすると

対象の球体オブジェクトのみBoxコライダーのサイズを3倍にできました。

覗いてみた感想

BETAではありますが、とりあえずちゃんと入力できるようにぐらいしておいてくれたらなーといったところ。

ただ試したrunコマンドの印象はかなり良く、エディタ上での操作は割と思ったようにやってくれていたと思います。
エディタ拡張の簡易版ですかね。
となれば、実行したコマンドをタスク化してストックできるように正式リリース時になっていてくれると、繰り返し作業が捗るのではないかと思いました。

短いですが、ここまでとします。
正式リリースでの触り心地を期待しています。


株式会社エイプリルナイツは、ゲームが好きという共通の価値観をベースに、楽しく働きやすい企業を作っていこうとしています。
ゲームが好きなエンジニアはぜひ弊社にご注目ください!