CodexにUnityを作らせる準備(Windows):古いCLIを掴む罠まで
同じ PC に Codex の実行ファイルが3つあり、PATH には1つも入っていませんでした。古い版を掴むと「モデルが使えない」という別の顔をしたエラーで4秒で死にます。非対話実行の起動オプション、サンドボックスから Unity に届くかの実測、プラグインの有効範囲まで。
公開 2026年9月16日
この記事の要点5 points
- Codex CLI は PATH に入らない。 同じ PC に3つあり、最初に見つけた 0.130 は5か月前の取り残しだった。
- 古い CLI だと「このモデルには新しい Codex が必要」という別の顔をしたエラーで4秒で終わる。
- サンドボックス(workspace-write)からでも、network_access を true にすれば Unity CLI の 127.0.0.1:7800 に届いた。
- Codex のプラグインはユーザー設定に書かれる=既定で全プロジェクト共通。 Claude Code の project スコープとは仕組みが違う。
- 非対話(codex exec)では途中の承認に人が答えられない。 必要な権限は起動時に全部決めておく。
目次7章
検証した環境最終確認 2026年9月16日
- Windows 11・Git Bash
- Codex CLI 0.147.0-alpha.1.2(ChatGPT デスクトップアプリ同梱)
- Unity 6.6(6000.6.0f1)・Unity CLI 1.0.0-beta.9・com.unity.pipeline 0.7.0-exp.1
- モデル:GPT-5.6 Sol / 思考レベル high
書いてあるのは、この環境で実際に試した結果です。ツールの仕様や料金は変わるので、重要な判断の前には公式の情報も確認してください。
Claude Code と同じ仕様書で Codex にもブロック崩しを作らせる。そのための準備です。
1回目は4秒で死にました。 実装力の問題ではなく、準備の問題でした。
3つ
PC にあった codex.exe
PATH には1つも無い
4秒
古い版で即終了
エラーはモデルの顔をしていた
:7800
サンドボックスから届いた
network_access が要る
13件
全プロジェクトに効くプラグイン
ユーザー設定に書かれる
1. Codex の実行ファイルが3つあった
まず codex コマンドがありません。ChatGPT のデスクトップアプリに同梱されていますが、PATH には追加されません。
探したら、同じ PC に3つありました。
| 場所 | バージョン | 更新日 |
|---|---|---|
アプリのインストール先の bin | 0.130.0-alpha.5 | 2026-05-10 |
ユーザーフォルダの .codex/.sandbox-bin | 0.147.0-alpha.1.2 | 2026-08-06 |
| アプリ本体の中(保護領域) | アプリ同梱 | — |
最初に見つけた bin のほうを使いました。5か月前に取り残された古い版です。
アプリ本体の中にあるものは、直接実行しようとすると Access is denied になります(Windows のアプリ保護領域にあるため)。
使う前に必ず --version を見てください。バージョンの違いは機能の違いでもあります。古い 0.130 には codex plugin add / list / remove が存在せず、marketplace だけでした。Unity の公式手順どおりのコマンドが打てません。新しい 0.147 には全部あります。
2. 非対話で走らせる
対話しないので、途中で承認を求められても人が答えられません。 必要な権限は起動時に決め切ります。
実際に使った起動コマンドです。
codex exec --ignore-user-config -m gpt-5.6-sol \
-c model_reasoning_effort=high \
-c windows.sandbox=unelevated \
-c approval_policy=never \
-s workspace-write \
-c sandbox_workspace_write.network_access=true \
-C 作業フォルダ --json -o last.md - < prompt.md > events.jsonl
| オプション | なぜ |
|---|---|
--ignore-user-config | ユーザー設定に入っている他のプラグインを混ぜない(比較の公平さのため) |
-s workspace-write | 書き込みを作業フォルダの中だけに制限する |
network_access=true | Unity CLI がエディターと通信するのに要る(次の節) |
approval_policy=never | 非対話なので、聞かれても答えられない |
--json | イベントを JSONL で記録する。あとから何をやったか追える |
3. サンドボックスから Unity に届くか(実測)
ここが一番の心配でした。Unity CLI はエディターのローカル HTTP API(既定は 127.0.0.1 の 7800 番)を叩いて動きます。サンドボックスがこれを止めたら、Codex は Unity を触れません。
STEP 01
Codex(サンドボックス内)
workspace-write
STEP 02
unity command
HTTP で 127.0.0.1:7800
STEP 03
Unity エディター
Pipeline パッケージ
結果:届きました。 ただし条件が1つあります。
既定のまま
network_access を有効にする
-c sandbox_workspace_write.network_access=true
unity command がサンドボックスの中から動いた。公式の Windows サンドボックスの説明には Elevated(専用の低権限ユーザーで隔離)と Unelevated(制限付きトークン+ACL・分離は弱い)がありますが、ローカルへの接続が許されるかは書かれていません。実測するしかありませんでした。
4. プラグインは全プロジェクト共通
Claude Code と Codex で、プラグインの効く範囲の仕組みが違いました。
Claude Code
user / project / local)Codex
config.toml に書かれる入れたプラグインは、ユーザー設定の config.toml にこう書かれます。
[plugins."unity@unity-agent-plugin"]
enabled = true
手元の設定には、Unity と関係ないプラグインが13件入っていました。
- 1
CLI 引数
-c key=valueがいちばん強い - 2
プロジェクトの .codex/config.toml
信頼済みプロジェクトのときだけ読まれる - 3
プロファイル
-pで指定したもの - 4
ユーザー設定
プラグインはここに書かれている
設定はこの順で上書きされるので、プロジェクト側で打ち消せる余地はあります。比較のときは確実さを取って、--ignore-user-config でユーザー設定ごと外しました。 認証は別に持っているので、これで困りません。
5. モデルと思考レベルをそろえる
比較にするなら、同じ価格帯・同じ役割のモデルを選びます。
| 位置づけ | Claude | OpenAI |
|---|---|---|
| 最上位 | Claude Fable 5.1 | GPT-6 Astra |
| 主力(普段使い) | Claude Opus 5 | GPT-5.6 Sol |
Claude Code 側を Opus 5 / 思考レベル「高」で作ったので、Codex 側は GPT-5.6 Sol / high にしました。
思考レベルの指定は -c model_reasoning_effort=high です。設定リファレンスに載っているのは minimal から xhigh まで。モデル一覧のほうにはもっと上もありますが、リファレンスには書かれていません。
6. 作業フォルダを分ける
Unity は同じプロジェクトフォルダを2つのエディターで同時に開けません。 Codex 用は別フォルダにします。
git worktree add ../breakout-codex -b codex/v1 起点のコミット
2つ目のエディターは、操作用のポートが自動的に 7801 になります(1つ目は 7800)。Unity CLI を叩くときは --project-path を必ず付けてください。詳しくはgit worktree の記事に書きました。
Library を作り直すので、初回の読み込みに数分かかります(この題材で216秒)。
まとめ
codexは PATH に無い。 実行ファイルを探して、--versionで新しいものを選ぶ- 古い CLI は「モデルが使えない」という顔で失敗する。原因が版だと気づきにくい
- サンドボックスからでも Unity に届く。ただし
network_access=trueが要る - プラグインは全プロジェクト共通。 混ぜたくないなら
--ignore-user-config - 非対話では承認に答えられない。権限は起動時に決め切る
- 使用量は終わってから JSONL のセッション記録で拾う
準備が終わったあと、実際に走らせた結果はClaude Code と Codex の比較にあります。
FAQ
よくある質問
codex コマンドが見つかりません。
ChatGPT のデスクトップアプリに同梱されていますが、PATH には追加されません。実行ファイルを直接指定して呼ぶことになります。
「このモデルには新しい Codex が必要」と出ます。
古い CLI を掴んでいます。アプリの更新で新しい実行ファイルが別の場所に置かれても、前の場所のファイルは残ることがあります。--version を見て新しいほうを使ってください。
サンドボックスの中から Unity エディターを操作できますか?
できました。Unity CLI はエディターのローカル HTTP API(既定は 127.0.0.1 の 7800 番)と通信します。workspace-write のままでは外向きの通信が止まるので、sandbox_workspace_write.network_access を true にする必要がありました。
Codex のプラグインをプロジェクトごとに切り替えられますか?
既定では全プロジェクト共通です。入れたプラグインはユーザー設定の config.toml に書かれます。プロジェクト側の .codex/config.toml でも設定を重ねられますが(信頼済みプロジェクトのみ)、プラグインの有効・無効をそこで切り替えられるかは確認できていません。比較のときは --ignore-user-config でユーザー設定ごと外しました。
従量課金になりませんか?
codex exec は ChatGPT のログインを使うので、API の従量課金ではなく週間の利用枠から減ります。上限に達すると止まります。ただし枠を使い切ると、アプリ側の Codex もリセットまで使えなくなります。
SOURCES
出典
- 01Unity Plugin for CodexUnity Documentationプラグインの追加・インストール・更新・削除のコマンド
- 02Windows sandboxOpenAIElevated と Unelevated の違い、作業フォルダ外の書き込みとネットワークの扱い
- 03Config referenceOpenAIsandbox_mode / approval_policy / model_reasoning_effort などの設定キー
- 04Config basicsOpenAI設定の優先順位(CLI 引数 → プロジェクト → プロファイル → ユーザー設定 …)
この記事は役に立ちましたか?
NEXT
あわせて読む
Claude CodeとCodexに同じ仕様書でブロック崩しを作らせた
同じ仕様書1枚を Claude Code(Opus 5)と Codex(GPT-5.6 Sol)に渡し、Unity 6.6 でブロック崩しを作らせて比べました。かかった時間、テストの数、詰まった場所、消えた利用枠まで、実測値をそのまま載せています。
AIエージェントを放置して走らせると何が起きるか(3回の実測)
同じ指示文で Codex を3回、最長60分の無人実行にかけました。1回目は4秒で死に、2回目は自分のビルドを6分で強制終了してPCのスリープで中断、3回目でようやく42分で完走。放置する前に決めておくべきことを、起きたことそのままで残します。
Unityプロジェクトをgitで管理して、2つのAIに同時に作らせる
同じ仕様書で Claude Code と Codex に並行でゲームを作らせるために、git worktree でフォルダを2つに分けました。Unity の .gitignore と .meta の扱い、エディターを2つ立てたときのポート、スクショがアセットとして紛れ込む罠まで、実際に踏んだところを残します。