C#でゲームを書く|UnityとGodotで入れるものと設定
Unity は C# の IDE として Visual Studio・Visual Studio Code・JetBrains Rider に対応しています。Godot で C# を使うには、.NET SDK と、.NET に対応した版の Godot を入れている必要があります。
このページの目次
Unity の IDE と、デバッグに要るもの
Windows の既定の IDE は Visual Studio で、macOS の既定の IDE は Visual Studio Code です。Windows の新しいインストールには Visual Studio Community とデバッグに要るものが付き、macOS の新しいインストールには Visual Studio Code とデバッグに要るものが付きます。既存の Unity Editor のインストールには、IDE を新しいモジュールとして追加することもできます。
次の表は Unity 6.0(6000.0)の場合で、Visual Studio・Visual Studio Code・JetBrains Rider のそれぞれについて、載っている OS と、デバッグを含む IDE の全機能に要るものを並べます。
Unity の IDE ごとの OS とデバッグに要るもの
| IDE | OS | IDE 側に要るもの | Unity Editor 側に要るもの |
|---|---|---|---|
| Visual Studio | Windows | Visual Studio 本体のインストールに加えて、Visual Studio Tools for Unity | Unity Visual Studio Editor パッケージ(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Visual Studio にすること |
| Visual Studio Code | Windows・macOS・Linux | VS Code 本体のインストールに加えて、拡張機能の C# For Visual Studio Code・C# Dev Kit for Visual Studio Code・Unity for Visual Studio Code | Unity Visual Studio Editor パッケージ 2.0.20+(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Visual Studio Code にすること |
| JetBrains Rider | Windows・macOS・Linux | Rider 本体のインストール | Unity JetBrains Rider パッケージ(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Rider にすること |
既存の Visual Studio または Unity Editor のインストールを使っているときは、表の項目の一部を手作業でインストールまたは設定する必要が出ることがあります。Visual Studio Code でも同じで、既存の VS Code または Unity Editor のインストールを使っているときは、項目の一部を手作業でインストールまたは設定する必要が出ることがあります。
Unity の Visual Studio Code 用の Editor パッケージ com.unity.ide.vscode は、もうサポートされていません。Visual Studio Editor パッケージ com.unity.ide.visualstudio が、Visual Studio に加えて Visual Studio Code に対応しています。
External Script Editor の設定が、C# のスクリプトのファイルをどの IDE で開いて編集するかを決めます。場所は「Edit > Preferences(macOS は Unity > Settings)> External Tools > External Script Editor」です。Unity は、インストールに含まれる IDE を、既定の External Script Editor に自動で割り当てます。
この設定は、C# のソースファイルを開く・見る・単純な編集をするだけなら足ります。コード解析とデバッグを含む IDE の全機能には、通常、追加のプラグインか拡張機能が要ります。
Visual Studio を使うときは、Unity が .sln と .csproj を自動で作り、保守します。追加のパッケージ用の .csproj の生成は、Unity で制御できます。
Unity の C# の版と使えないもの
次の表は Unity 6.0(6000.0)の場合で、C# のコンパイラと言語の版、使えない機能、record と関数ポインターの扱いを並べます。
Unity 6.0 の C# のコンパイラと言語の版
| 項目 | 内容 |
|---|---|
| C# のコンパイラ | Roslyn |
| C# の言語の版 | C# 9.0 |
| 使えない C# 9.0 の機能 | 「Suppress emitting localsinit flag」・「Covariant return types」・「Module Initializers」・「Extensible calling conventions for unmanaged function pointers」・「Init only setters」。プロジェクトで使うと、コンパイルでエラーになります |
| record | record を完全にサポートするには 「System.Runtime.CompilerServices.IsExternalInit」の型が要りますが、この型は .NET 5 以降にだけあり、Unity は .NET 5 以降に対応していません。この型を自分のプロジェクトで宣言すると、この問題を回避できます。Unity のシリアライズの仕組みは C# の record に対応していません |
| アンマネージドの関数ポインター | C# 9 で導入されたアンマネージドの関数ポインターに対応していますが、拡張可能な呼び出し規約には対応していません |
Godot の .NET 版と .NET SDK
次の表は、Godot Engine 4.7.2 の Windows 向けのダウンロードと、C# での .NET 版と SDK の項目を並べます。
Godot の .NET 版と .NET SDK
| 項目 | 内容 |
|---|---|
| Windows 向けのダウンロード | Godot Engine 4.7.2 の標準の版と、「C# support」と付く Godot Engine – .NET 4.7.2 が並びます |
| CPU の種類 | 標準の版にも .NET 版にも、x86_64・x86_32・arm64 の Windows 向けのファイルがあります。.NET のバイナリは、アーキテクチャが合う Windows システムでだけ動き、エミュレーションでの実行は今のところ対応していません |
| ストアの版 | itch.io・Steam・EGS で入手できるデジタルストアの版には、.NET/C# のサポートが含まれません |
| 実行に要る部分とビルドのツール | Godot は、コンパイル済みのゲームを動かすのに要る .NET の部分を同梱しています。MSBuild と C# コンパイラなど、ゲームのビルドとコンパイルに要るツールは同梱しておらず、.NET SDK に含まれていて、別にインストールします |
| .NET の版と SDK のビット数 | Godot 4.5 では .NET 8 以降が要りますが、Android への書き出しには .NET 9 以降が要ります。64 ビット版の Godot を使う場合は、SDK も 64 ビット版を入れます |
Godot の外部のエディター
Godot の内蔵のスクリプトエディターの C# の対応は、最小限です。Visual Studio Code または Visual Studio などの外部の IDE かエディターは、C# のオートコンプリート・デバッグなどの機能を提供します。
Godot が現在対応している外部のエディターは、Visual Studio 2022・Visual Studio Code・MonoDevelop・Visual Studio for Mac・JetBrains Rider です。外部のエディターを選ぶには、Editor → Editor Settings を押して、Dotnet まで下にスクロールし、Dotnet の下の Editor を押して、使う外部のエディターを選びます。
このうち、Rider・Visual Studio Code・Visual Studio の設定は、次の表のとおりです。
Godot の外部のエディターの設定(Rider・Visual Studio Code・Visual Studio)
| エディター | Dotnet → Editor → External Editor に選ぶもの | エディター側の設定 |
|---|---|---|
| JetBrains Rider | JetBrains Rider | Rider で MSBuild version を .NET Core にします。Rider の版が 2024.2 より前なら、Godot のサポートのプラグインを入れます。この機能は今は Rider に組み込まれています |
| Visual Studio Code | Visual Studio Code | C# 拡張機能を入れます。デバッグ用に設定するプロジェクトには、`.vscode` フォルダに `tasks.json` と `launch.json` が要ります |
| Visual Studio(Windows のみ) | Visual Studio | インストール中に「.NET desktop development」のワークロードを選びます。適切なワークロードを選んでいれば、必要な SDK が Visual Studio に含まれるので、.NET SDK を手作業で入れる必要はありません |
Visual Studio Code のデバッグの設定
launch.json の program には、Godot の実行ファイルを指す GODOT4 の環境変数を作るか、program の値を Godot の実行ファイルの道に置き換えます。例の tasks.json では、build のタスクが dotnet に build を渡します。設定すると、VS Code でデバッガーを起動したときに、Godot のプロジェクトが実行されます。
Visual Studio のデバッグの設定
C# のスクリプトを最初に開くと生成される .sln を、Visual Studio で開きます。Debug メニューの Debug Properties で、Create a new profile のボタンを押して Executable を選び、Executable の欄に Godot エディターの C# 版の道を入れます。環境変数 GODOT4 を作ってあれば、%GODOT4% と入れることもできます。入れる道は、メインの Godot の実行ファイルのもので、「console」版のものではありません。Working Directory には、現在のフォルダを意味する . を入れ、Enable native code debugging のチェックボックスにもチェックを入れます。窓を閉じ、デバッグのプロファイルのドロップダウンの下向きの矢印を押して、作ったプロファイルを選び、緑の開始ボタンを押すと、ゲームがデバッグモードで始まります。
Godot.NET.Sdk のパッケージが見つからないというエラーが出たときは、NuGet の設定が間違っている場合があり、直す必要があります。直し方の1つは、設定ファイルを作り直すことです。ファイルエクスプローラーで %AppData%\NuGet に行き、NuGet.Config の名前を変えるか削除します。Godot のプロジェクトをもう一度ビルドすると、既定の値でファイルが自動で作られます。
Unity で C# を書き始める手順
- Unity Editor を新しくインストールします。Windows と macOS では、その OS の既定の IDE が付きます。既存のインストールには、IDE を新しいモジュールとして追加することもできます。
- External Script Editor の設定で、C# のスクリプトを開く IDE を確かめます。場所は前の節のとおりです。Unity は、インストールに含まれる IDE を、既定の External Script Editor に自動で割り当てます。
- C# のソースファイルを開く・見る・単純な編集をするだけなら、ここまでで足ります。コード解析とデバッグを含む IDE の全機能には、表の IDE 側のプラグインか拡張機能と、Unity Editor 側のパッケージが通常要ります。既存の Visual Studio・VS Code・Unity Editor のどれかのインストールを使っているときは、手作業でインストールまたは設定する項目が出ることがあります。
- Unity 6.0(6000.0)で書くコードは C# 9.0 の範囲で、使えない機能をプロジェクトで使うと、コンパイルでエラーになります。
Godot で C# を書き始める手順
- Godot の Windows 向けのダウンロードのページで、「C# support」と付く .NET 版を落とします。
- .NET のダウンロードのページから、SDK の最新の安定版を落としてインストールします。64 ビット版の Godot を使う場合は、64 ビット版の SDK を入れます。Visual Studio を使うときは、表の Visual Studio の行のとおりです。
- Godot で Editor → Editor Settings の Dotnet の Editor を押し、External Editor に外部のエディターを選びます。エディターごとの設定は、前の節の表のとおりです。
- C# の設定が成功したあと、シーンのノードのコンテキストメニューの Attach Script に、C# のスクリプトを作るオプションが出るはずです。
- 最初の C# のスクリプトを作ると、Godot が C# のプロジェクトのファイルを初期化します。C# のソリューション(
.sln)とプロジェクトのファイル(.csproj)、ユーティリティのファイルとフォルダ(.godot/mono)が作られます。 - エディターの右上にある Build ボタンを押して、プロジェクトのアセンブリをビルドします。
入れるものと設定の順を図で見る
UnityとGodotの入れるものと設定の順
失敗を避ける注意
Godot では、付けるクラスの名前を .cs のファイルの名前と同じにします。違うと、そのスクリプトのクラスが見つからないというエラーが出ます。エディターで新しい exported 変数かシグナルを見たいときは、プロジェクトのアセンブリをビルドし直す必要があり、Build ボタンを押して手動で実行できます。「tool」スクリプトの変更を反映するときも、ビルドし直す必要があります。
C# の API は、GDScript・C++ の snake_case ではなく、PascalCase を使います。Get()・Set()、Call()・CallDeferred()、シグナルの接続の Connect() のようなメソッドは、Godot の snake_case の API の命名に頼っています。たとえば CallDeferred("AddChild") は、API が元の snake_case の add_child を待っているので、AddChild では動きません。自分で作るプロパティやメソッドには、この制限はありません。
Position.X = 100.0f; のように、Node2D の X の座標を直接変えようとすると、CS1612 のエラーが出ることがあります。C# の構造体(この例では Vector2)は代入でコピーされるので、プロパティかインデクサーから取り出したものはコピーで、変えても何も起きません。構造体全体を取り出し、変えたい値を変えて、プロパティに入れ直します。
.godot/mono を除く、.sln・.csproj などは重要なファイルです。.godot の下にあるものは、バージョン管理システムの無視リストに安全に追加できます。困ったときは、.godot/mono のフォルダを削除して、作り直させると役立つことがあります。
Godot 4 で C# を使って書いたプロジェクトは、現在は Web プラットフォームに書き出せません。制限の一覧は、Webに書き出す|UnityとGodotの制限とサーバー設定にあります。Android と iOS のプラットフォームの対応は Godot 4.2 から使えますが、実験的で、いくつかの制限があります。
Unity では、Unity と Visual Studio でユーザーのコードのコンパイルのしかたが違うため、Microsoft.Unity.Analyzers.dll は Unity Editor で自動では設定されません。使えない C# 9.0 の機能と record の扱いは、「Unity の C# の版と使えないもの」の表のとおりです。
次に読む
C# で書く 1 本目に何を作るかは、1本目は何を作る?にあります。
情報源
- Integrated development environment (IDE) support(Unity ドキュメント・Unity 6.0)https://docs.unity3d.com/6000.0/Documentation/Manual/scripting-ide-support.html確認日 2026-10-24
- C# compiler and language version reference(Unity ドキュメント・Unity 6.0)https://docs.unity3d.com/6000.0/Documentation/Manual/csharp-compiler.html確認日 2026-10-24
- C# basics(Godot ドキュメント)https://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/c_sharp_basics.html確認日 2026-10-24
- Download for Windows(Godot Engine)https://godotengine.org/download/windows/確認日 2026-10-24