Godot 4.7.2ベースの「godot-dn2cpp」が公開、Godot C#でもWebビルドが可能に
こまっ(troubear)氏によるGodotのフォーク版「godot-dn2cpp」の最新版4.7.2-dn2cpp.7.0が公開されました。Godot 4.7.2をベースに、C#で作成したゲームをWeb向けにエクスポートするためのdn2cppバックエンドを組み込んだエディタです。
C#のILをC++へ変換してWebへ出力
通常のGodotゲームエンジンでは、C#でコーディングしていた場合、Webビルドは実行できません。Webブラウザで遊べるゲームを作るにはGDScriptで開発する必要があります。godot-dn2cppは、C#プロジェクトのIL(中間言語)をC++へトランスパイルすることでweb向けビルドを可能にするものです。エクスポート済みのゲームには.NETランタイムを同梱しない設計です。プロジェクトとC#ソースコードは、通常のGodotとの互換性を維持します。
最近の更新ではGodot 4.7.2ベースへの変更に加え、YetAnotherHttpHandler、MagicOnion、MessagePack-CSharp、MasterMemory、MemoryPackに関するサポートや検証が追加されました。
本フォーク利用時の留意点
Web向けのビルドには、エクスポートを行うマシンに対応する.NET SDKが必要です。Windows 10/11のx86_64環境の他、macOSはApple Silicon環境が対象です。また動作にはPython 3.10以降も必要です。Emscripten SDK、CMake、Ninjaは同梱されています。
加えてWeb出力を行うゲームでは、スレッドが利用できず、Task.Run、Thread、Timerは例外になるという制約があります。同様にブラウザにTCPソケット層がないため、HttpClientも呼び出し時に失敗します。FileStreamも利用できないため、既存のC#コードを持ち込む場合は、非同期処理、通信、ファイルI/Oを含む場面から小さなWebビルドで確認するとよいでしょう。





