INDIE INDEX

レベル:入門

C#でゲームを書く|UnityとGodotで入れるものと設定

公開 2026-10-24更新 2026-10-24

Unity は C# の IDE として Visual Studio・Visual Studio Code・JetBrains Rider に対応しています。Godot で C# を使うには、.NET SDK と、.NET に対応した版の Godot を入れている必要があります。

このページの目次
  1. Unity の IDE と、デバッグに要るもの
  2. Unity の C# の版と使えないもの
  3. Godot の .NET 版と .NET SDK
  4. Godot の外部のエディター
  5. Unity で C# を書き始める手順
  6. Godot で C# を書き始める手順
  7. 入れるものと設定の順を図で見る
  8. 失敗を避ける注意
  9. 次に読む
  10. 情報源

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 とデバッグに要るもの

IDEOSIDE 側に要るものUnity Editor 側に要るもの
Visual StudioWindowsVisual Studio 本体のインストールに加えて、Visual Studio Tools for UnityUnity Visual Studio Editor パッケージ(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Visual Studio にすること
Visual Studio CodeWindows・macOS・LinuxVS Code 本体のインストールに加えて、拡張機能の C# For Visual Studio Code・C# Dev Kit for Visual Studio Code・Unity for Visual Studio CodeUnity Visual Studio Editor パッケージ 2.0.20+(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Visual Studio Code にすること
JetBrains RiderWindows・macOS・LinuxRider 本体のインストールUnity JetBrains Rider パッケージ(Engineering feature set の一部として Unity Editor のインストールに含まれます)と、External Script Editor を Rider にすること
表1

既存の 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」。プロジェクトで使うと、コンパイルでエラーになります
recordrecord を完全にサポートするには 「System.Runtime.CompilerServices.IsExternalInit」の型が要りますが、この型は .NET 5 以降にだけあり、Unity は .NET 5 以降に対応していません。この型を自分のプロジェクトで宣言すると、この問題を回避できます。Unity のシリアライズの仕組みは C# の record に対応していません
アンマネージドの関数ポインターC# 9 で導入されたアンマネージドの関数ポインターに対応していますが、拡張可能な呼び出し規約には対応していません
表2

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 ビット版を入れます
表3

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 RiderJetBrains RiderRider で MSBuild version を .NET Core にします。Rider の版が 2024.2 より前なら、Godot のサポートのプラグインを入れます。この機能は今は Rider に組み込まれています
Visual Studio CodeVisual Studio CodeC# 拡張機能を入れます。デバッグ用に設定するプロジェクトには、`.vscode` フォルダに `tasks.json` と `launch.json` が要ります
Visual Studio(Windows のみ)Visual Studioインストール中に「.NET desktop development」のワークロードを選びます。適切なワークロードを選んでいれば、必要な SDK が Visual Studio に含まれるので、.NET SDK を手作業で入れる必要はありません
表4

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# を書き始める手順

  1. Unity Editor を新しくインストールします。Windows と macOS では、その OS の既定の IDE が付きます。既存のインストールには、IDE を新しいモジュールとして追加することもできます。
  2. External Script Editor の設定で、C# のスクリプトを開く IDE を確かめます。場所は前の節のとおりです。Unity は、インストールに含まれる IDE を、既定の External Script Editor に自動で割り当てます。
  3. C# のソースファイルを開く・見る・単純な編集をするだけなら、ここまでで足ります。コード解析とデバッグを含む IDE の全機能には、表の IDE 側のプラグインか拡張機能と、Unity Editor 側のパッケージが通常要ります。既存の Visual Studio・VS Code・Unity Editor のどれかのインストールを使っているときは、手作業でインストールまたは設定する項目が出ることがあります。
  4. Unity 6.0(6000.0)で書くコードは C# 9.0 の範囲で、使えない機能をプロジェクトで使うと、コンパイルでエラーになります。

Godot で C# を書き始める手順

  1. Godot の Windows 向けのダウンロードのページで、「C# support」と付く .NET 版を落とします。
  2. .NET のダウンロードのページから、SDK の最新の安定版を落としてインストールします。64 ビット版の Godot を使う場合は、64 ビット版の SDK を入れます。Visual Studio を使うときは、表の Visual Studio の行のとおりです。
  3. Godot で Editor → Editor Settings の Dotnet の Editor を押し、External Editor に外部のエディターを選びます。エディターごとの設定は、前の節の表のとおりです。
  4. C# の設定が成功したあと、シーンのノードのコンテキストメニューの Attach Script に、C# のスクリプトを作るオプションが出るはずです。
  5. 最初の C# のスクリプトを作ると、Godot が C# のプロジェクトのファイルを初期化します。C# のソリューション(.sln)とプロジェクトのファイル(.csproj)、ユーティリティのファイルとフォルダ(.godot/mono)が作られます。
  6. エディターの右上にある Build ボタンを押して、プロジェクトのアセンブリをビルドします。

入れるものと設定の順を図で見る

UnityとGodotの入れるものと設定の順

UnityとGodotの入れるものと設定の順C# を書き始めるまでの順どちらも、最後は同じ「IDE で C# を編集」につながりますUnity1 Unity Editor をインストールするWindows と macOS の新しいインストールには、既定の IDE が付きます2 External Script Editor を確かめるEdit > Preferences(macOS は Unity > Settings)> External Tools3 デバッグに要るものを入れるIDE 側の拡張機能と、Unity Editor 側のパッケージ4 IDE で C# を編集Unity 6.0 では C# 9.0 の範囲ですGodot1 .NET 版の Godot を入れる「C# support」と付く版です2 .NET SDK を入れるGodot とは別にインストールします3 External Editor を選ぶEditor Settings の Dotnet4 Attach Script で C# のスクリプトを作る最初のスクリプトで .sln と .csproj ができます5 Build するエディターの右上のボタンです6 IDE で C# を編集外部のエディターで書きます
図1

失敗を避ける注意

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本目は何を作る?にあります。

情報源

このページに出た言葉

このページの内容の誤りは、問い合わせの窓口で受け付けています。