<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>C# on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/tags/c%23/</link>
        <description>Recent content in C# on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Fri, 19 Jun 2026 21:39:51 +0800</lastBuildDate><atom:link href="https://knightli.com/zh-tw/tags/c%23/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Godot 標準版和 .NET 版怎麼選：GDScript、C# 與匯出平台對比</title>
        <link>https://knightli.com/zh-tw/2026/06/19/godot-standard-vs-dotnet-edition/</link>
        <pubDate>Fri, 19 Jun 2026 21:39:51 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/06/19/godot-standard-vs-dotnet-edition/</guid>
        <description>&lt;p&gt;下載 Godot Engine 時，經常會看到兩個版本：普通的 Godot Engine 標準版，以及帶 &lt;code&gt;.NET&lt;/code&gt; 標識的 Godot Engine - .NET 版。&lt;/p&gt;
&lt;p&gt;它們不是「免費版」和「專業版」的區別，也不是功能完整度的區別。真正的差異主要在於：你想用什麼語言寫遊戲邏輯，以及你準備匯出到哪些平台。&lt;/p&gt;
&lt;h2 id=&#34;簡單結論&#34;&gt;簡單結論
&lt;/h2&gt;&lt;p&gt;如果你是新手，或者想快速開始 Godot，優先下載標準版。&lt;/p&gt;
&lt;p&gt;如果你已經熟悉 C#、從 Unity 轉過來，或者專案確實需要 .NET 生態和更強的 CPU 邏輯效能，再考慮 .NET 版。&lt;/p&gt;
&lt;p&gt;尤其要注意一點：在 Godot 4.x 中，C#/.NET 專案目前不能匯出到 Web 平台。如果你的目標是 HTML5、瀏覽器小遊戲、Itch.io Web 版，標準版更穩。&lt;/p&gt;
&lt;h2 id=&#34;1-godot-engine-標準版&#34;&gt;1. Godot Engine 標準版
&lt;/h2&gt;&lt;p&gt;Godot Engine 標準版是預設下載版本，也是最輕量的版本。&lt;/p&gt;
&lt;p&gt;它主要面向 GDScript 開發。GDScript 是 Godot 自己設計的腳本語言，語法接近 Python，專門為 Godot 的節點、場景和資源系統服務。&lt;/p&gt;
&lt;p&gt;標準版的特點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主力語言是 GDScript。&lt;/li&gt;
&lt;li&gt;也可以透過 GDExtension 使用 C++ 擴充能力。&lt;/li&gt;
&lt;li&gt;不需要額外安裝 .NET SDK。&lt;/li&gt;
&lt;li&gt;下載體積更小。&lt;/li&gt;
&lt;li&gt;啟動更快。&lt;/li&gt;
&lt;li&gt;內建腳本編輯器開箱即用。&lt;/li&gt;
&lt;li&gt;桌面、行動和 Web 匯出支援更直接。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;對新手來說，標準版最大的好處是少折騰。下載後打開就能建立專案、寫腳本、執行場景，不需要先配置外部 SDK 和 IDE。&lt;/p&gt;
&lt;p&gt;GDScript 也更貼近 Godot 的思維方式。寫節點邏輯、連接訊號、存取場景樹、匯出變數，語法都比較直接。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript&#34; data-lang=&#34;gdscript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;CharacterBody2D&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nd&#34;&gt;@export&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;speed&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;float&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;300.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;_physics_process&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;delta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;float&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;direction&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;Input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;get_vector&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;move_left&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;move_right&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;move_up&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;move_down&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;velocity&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;direction&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;speed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nf&#34;&gt;move_and_slide&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你正在做第一個 Godot 專案，標準版通常就是正確選擇。&lt;/p&gt;
&lt;h2 id=&#34;2-godot-engine---net-版&#34;&gt;2. Godot Engine - .NET 版
&lt;/h2&gt;&lt;p&gt;Godot Engine - .NET 版以前常被稱為 Mono 版。它內建 .NET 支援，可以用 C# 寫遊戲邏輯。&lt;/p&gt;
&lt;p&gt;需要注意的是，.NET 版並不是只能寫 C#。它仍然支援 GDScript，也就是說你可以在同一個專案裡混用 GDScript 和 C#。&lt;/p&gt;
&lt;p&gt;.NET 版的特點：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主力語言是 C#，同時支援 GDScript。&lt;/li&gt;
&lt;li&gt;需要在電腦上安裝外部 &lt;code&gt;.NET SDK&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;通常會配合 Visual Studio、VS Code 或 JetBrains Rider 使用。&lt;/li&gt;
&lt;li&gt;可以使用 .NET 生態，例如 NuGet、LINQ、async/await。&lt;/li&gt;
&lt;li&gt;對重 CPU 邏輯、數學計算、系統型程式碼更有優勢。&lt;/li&gt;
&lt;li&gt;從 Unity 轉 Godot 的開發者會更容易上手。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C# 版本更適合已經有 C# 基礎的人。它的型別系統、IDE 補全、重構體驗和大型工程管理能力都不錯。&lt;/p&gt;
&lt;p&gt;例如，C# 更適合這類場景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;複雜戰鬥系統&lt;/li&gt;
&lt;li&gt;大量資料結構和模擬邏輯&lt;/li&gt;
&lt;li&gt;需要複用現有 .NET 函式庫&lt;/li&gt;
&lt;li&gt;從 Unity 遷移已有開發習慣&lt;/li&gt;
&lt;li&gt;團隊已經有 C# 工程經驗&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但代價是環境更重。你需要安裝 .NET SDK，配置外部編輯器，還要理解 Godot C# API 的命名風格和 GDScript 不同。&lt;/p&gt;
&lt;h2 id=&#34;關鍵差異對比&#34;&gt;關鍵差異對比
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;對比項&lt;/th&gt;
          &lt;th&gt;Godot 標準版&lt;/th&gt;
          &lt;th&gt;Godot .NET 版&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;主要語言&lt;/td&gt;
          &lt;td&gt;GDScript&lt;/td&gt;
          &lt;td&gt;C# 和 GDScript&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;外部依賴&lt;/td&gt;
          &lt;td&gt;無&lt;/td&gt;
          &lt;td&gt;需要 .NET SDK&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;上手難度&lt;/td&gt;
          &lt;td&gt;下載即用&lt;/td&gt;
          &lt;td&gt;需要配置 SDK 和 IDE&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;編輯體驗&lt;/td&gt;
          &lt;td&gt;Godot 內建編輯器即可&lt;/td&gt;
          &lt;td&gt;通常配合 VS Code、Visual Studio 或 Rider&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;效能&lt;/td&gt;
          &lt;td&gt;足夠應對大多數遊戲邏輯&lt;/td&gt;
          &lt;td&gt;CPU 密集邏輯更有優勢&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Web 匯出&lt;/td&gt;
          &lt;td&gt;支援&lt;/td&gt;
          &lt;td&gt;Godot 4.x 的 C# 專案目前不支援 Web 匯出&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;專案相容&lt;/td&gt;
          &lt;td&gt;不能執行 C# 腳本&lt;/td&gt;
          &lt;td&gt;可以執行 GDScript 和 C#&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;適合人群&lt;/td&gt;
          &lt;td&gt;新手、獨立開發、Web 遊戲&lt;/td&gt;
          &lt;td&gt;C# 使用者、Unity 遷移、系統較重的專案&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;web-匯出是關鍵分水嶺&#34;&gt;Web 匯出是關鍵分水嶺
&lt;/h2&gt;&lt;p&gt;很多人選擇 Godot 是為了快速做小遊戲，然後發布到 Web、Itch.io 或自己的網頁。這種情況下，建議優先選擇標準版。&lt;/p&gt;
&lt;p&gt;Godot 標準版可以直接匯出 Web/HTML5 專案。只要瀏覽器支援 WebAssembly 和 WebGL 2.0，就能執行。&lt;/p&gt;
&lt;p&gt;但 Godot 4.x 的 C#/.NET 專案目前不能匯出到 Web 平台。Godot 官方文件也明確提醒：如果需要 C# 的 Web 匯出，目前應考慮 Godot 3，而不是 Godot 4。&lt;/p&gt;
&lt;p&gt;所以如果你的目標包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML5&lt;/li&gt;
&lt;li&gt;瀏覽器試玩版&lt;/li&gt;
&lt;li&gt;Itch.io Web 版本&lt;/li&gt;
&lt;li&gt;嵌入網頁的小遊戲&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那麼標準版更安全。&lt;/p&gt;
&lt;h2 id=&#34;效能差異不要過度放大&#34;&gt;效能差異不要過度放大
&lt;/h2&gt;&lt;p&gt;C# 的原始執行效能通常強於 GDScript，尤其在大量數學計算、複雜資料結構、AI 模擬或系統邏輯裡會更明顯。&lt;/p&gt;
&lt;p&gt;但這不等於新手專案必須用 C#。&lt;/p&gt;
&lt;p&gt;大多數 2D 遊戲、獨立遊戲原型、UI 邏輯、角色控制、關卡互動，用 GDScript 完全夠用。真正影響效能的，往往是場景結構、物理體數量、資源載入、渲染設定和演算法設計，而不是一開始就換語言。&lt;/p&gt;
&lt;p&gt;更實際的判斷是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先用 GDScript 做出可玩的版本；&lt;/li&gt;
&lt;li&gt;如果後面確實出現 CPU 瓶頸，再考慮用 C# 或 C++ 承擔局部重邏輯；&lt;/li&gt;
&lt;li&gt;不要為了「可能更快」在第一天就增加環境複雜度。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;什麼時候選標準版&#34;&gt;什麼時候選標準版
&lt;/h2&gt;&lt;p&gt;以下情況建議選 Godot 標準版：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你是 Godot 新手。&lt;/li&gt;
&lt;li&gt;你想快速下載、打開、開始做專案。&lt;/li&gt;
&lt;li&gt;你喜歡 Python 風格語法。&lt;/li&gt;
&lt;li&gt;你主要做 2D 遊戲、原型或小型獨立遊戲。&lt;/li&gt;
&lt;li&gt;你想匯出 Web/HTML5。&lt;/li&gt;
&lt;li&gt;你希望減少 SDK、IDE 和建構鏈配置。&lt;/li&gt;
&lt;li&gt;你準備配合 VS Code + Codex 學 Godot。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你不確定自己該選哪個，也選標準版。等你明確需要 C# 時，再切到 .NET 版並不晚。&lt;/p&gt;
&lt;h2 id=&#34;什麼時候選-net-版&#34;&gt;什麼時候選 .NET 版
&lt;/h2&gt;&lt;p&gt;以下情況可以選 Godot .NET 版：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你已經熟悉 C#。&lt;/li&gt;
&lt;li&gt;你是從 Unity 轉過來的。&lt;/li&gt;
&lt;li&gt;你需要使用 NuGet 或已有 .NET 函式庫。&lt;/li&gt;
&lt;li&gt;你在做系統邏輯較重的遊戲。&lt;/li&gt;
&lt;li&gt;你非常依賴 C# 的靜態型別、IDE 重構和工程管理體驗。&lt;/li&gt;
&lt;li&gt;你的目標平台不是 Web，或者你確認目前平台支援滿足需求。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果專案團隊本來就是 C# 團隊，那麼 .NET 版會更自然。它能降低語言遷移成本，也更容易複用已有工程習慣。&lt;/p&gt;
&lt;h2 id=&#34;能不能混用-gdscript-和-c&#34;&gt;能不能混用 GDScript 和 C#
&lt;/h2&gt;&lt;p&gt;可以。.NET 版支援在同一個專案裡同時使用 GDScript 和 C#。&lt;/p&gt;
&lt;p&gt;一種常見做法是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;簡單節點邏輯、UI、原型程式碼用 GDScript；&lt;/li&gt;
&lt;li&gt;複雜系統、效能敏感模組、可複用函式庫用 C#。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但新手不建議一開始就混用兩種語言。混用會增加除錯、專案結構和團隊協作成本。除非你明確知道每種語言負責什麼，否則先保持一種語言更清晰。&lt;/p&gt;
&lt;h2 id=&#34;我的建議&#34;&gt;我的建議
&lt;/h2&gt;&lt;p&gt;如果你正在從零開始學 Godot，並且準備用 VS Code + Codex 輔助開發，第一個專案直接選標準版。&lt;/p&gt;
&lt;p&gt;理由很簡單：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;環境最少；&lt;/li&gt;
&lt;li&gt;教學最多；&lt;/li&gt;
&lt;li&gt;GDScript 更貼近 Godot；&lt;/li&gt;
&lt;li&gt;Web 匯出更穩；&lt;/li&gt;
&lt;li&gt;出問題時更容易排查；&lt;/li&gt;
&lt;li&gt;Codex 生成和修改 GDScript 的成本也更低。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等你做完一個小型 2D 專案，熟悉場景、節點、訊號、資源和匯出流程之後，再決定是否需要 .NET 版。&lt;/p&gt;
&lt;p&gt;對大多數初學者來說，正確路線不是「先選效能最強的語言」，而是先把遊戲做出來。標準版更適合完成這件事。&lt;/p&gt;
&lt;p&gt;參考：Godot 官方文件的 C#/.NET 說明中提到，Godot 4.x 的 C# 專案目前不能匯出到 Web 平台；官方 Web 匯出文件則說明 HTML5 匯出依賴瀏覽器的 WebAssembly 和 WebGL 2.0 支援。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
