
前言
今天要推薦的是 In-game Debug Console,一款專為 Unity 開發者打造的即時除錯工具,能在遊戲建置執行階段即時顯示【日誌】、【警告】、【錯誤】與【異常】等訊息,甚至支援執行內建命令,讓你不必依賴編輯器 Console 也能完整掌握程式運行狀況!
此插件以 uGUI 建構直觀的控制台視窗,不僅支援 Sprite Packing 最佳化,還能在遊戲過程中【調整】或【隱藏】顯示,並以彈出視窗方式持續追蹤訊息數量。
控制台介面也使用了高效能的回收清單設計,大幅減少 Instantiate 呼叫次數,提升執行效率。
特別是在【AR】或【行動平台】的專案中,若需於實機調試但無法使用傳統開發工具時,In-game Debug Console 就是最實用的即時除錯利器!
Unity In-game Debug Console 插件介紹
In-game Debug Console 是一款開源 Unity 插件,讓你能在遊戲運行期間直接開啟控制台,查看所有【偵錯日誌(Log)】、【錯誤訊息(Error)】、【警告(Warning)】與【異常(Exception)】,並能透過命令列直接執行【特定函數】或【操作變數】。
只需將官方提供的預製件拖入場景,就能在【手機】、【電腦】或【任何支援的平台】上輕鬆啟用除錯功能。
除了基本的訊息顯示,插件還支援彈出視窗提醒機制,當 Console 被隱藏時,畫面右上角會出現小圖示顯示目前累積的訊息數量,點擊即可快速展開詳細控制台。
整體【設計輕巧】、【效能優化】,對於重視【實機測試】、【QA 調整流程】或【無法連接編輯器】的開發場景來說,是不可或缺的實用插件!

功能特色
- 即時顯示偵錯訊息
能在遊戲建置執行期間即時顯示來自【Debug.Log()】、【Debug.LogWarning()】、【Debug.LogError()】的【日誌】、【警告】與【錯誤】訊息,支援多種訊息等級分類,開發過程中一目了然。 - 彈出式控制台與訊息提醒
控制台可自由開關,隱藏後會以小視窗取代,顯示目前訊息總數,且可以拖曳位置,有效節省畫面空間,也便於追蹤訊息變化。 - 高效能 UI 設計
採用 uGUI 與回收清單視圖(Recycle ListView)構建,避免頻繁呼叫 Instantiate(),提升實機執行效能,特別適合行動平台開發。
適用場景
- 行動平台實機除錯
在【Android】、【iOS】裝置無法透過編輯器 Console 檢視日誌時,內建控制台就是最佳選擇,可大幅加快【測試】與【排錯】效率。 - AR / VR 專案開發
若開發環境無法模擬真實設備操作,必須打包後才能測試的情況下,能即時看到控制台資訊會是關鍵幫手。 - 測試人員使用工具
提供【QA】、【測試工程師】可操作的內部命令介面,用於【觸發關卡】、【開關功能】、【變更遊戲狀態】,減少技術支援依賴。

Unity In-game Debug Console 建置運行時調試訊息
將【Plugins /IngameDebugConsole】目錄下的【IngameDebugConsole】預製件添加到場景中即可。

運行以後,圖示會提示偵錯資訊的數量,如果有錯誤,則圖示會變成紅色。

點擊圖示以後,會在螢幕上方顯示調試資訊的詳細內容。

Unity In-game Debug Console 配置參數
IngameDebugConsole 下暴露了很多參數,可以給我們配置,主要我們關注這幾個。

其他參數翻譯。


Unity In-game Debug Console 命令控制台
命令基本上是一個可以透過命令輸入欄位從控制台呼叫的函數。這個函數可以是靜態的,也可以是實例函數(非靜態的),在這種情況下,需要一個活的實例來呼叫這個函數。
函數的返回類型可以是任何類型(包括 void)。
如果函數傳回一個對象,它將被印到控制台。
此函數也可以接受任意數量的參數;唯一的限制適用於這些參數的類型。
支援的參數類型有:
Primitive types, enums, string, Vector2, Vector3, Vector4, Color, Color32, Vector2Int, Vector3Int, Quaternion, Rect, RectInt, RectOffset, Bounds, BoundsInt, GameObject, any Component type, arrays/supports of these
注意 GameObject 和 Component 參數需要使用 GameObject.Find 賦值。
註冊自訂命令
只需簡單地將 IngameLogsConsole.ConsoleMethod 屬性新增至您的函數。
這些函數必須是公共靜態的,並且必須駐留在公共類別中。
這裡我只舉了不需要掛載腳本最簡單的實現方式,當然還有其他方式可以實現,具體可以參考官方文檔。
public class TestScript
{
[ConsoleMethod( "Log", "打印一條日志" )]
public static void Log()
{
Debug.Log("Log命令執行成功");
}
[ConsoleMethod( "cube", "在位置創建一個cube" )]
public static void CreateCubeAt( Vector3 position )
{
GameObject.CreatePrimitive( PrimitiveType.Cube
).transform.position = position;
}
[ConsoleMethod( "Log", "打印一條日志" )]
public static void Log( Vector3 position, int count )
{
Debug.Log($"位置:{position},數量:{count}");
}
}
執行無參數指令。
log

執行帶參數指令,可以使用 " 或 ' 或 [ ] 或 ( ) 來包裹參數,當然如果你想也可以交替使用,只是不太美觀而已
# 注意带參數名命令之間是有空格的
log [1 2 3] [10]
或
log (1 2 3) (10)
或者
log "1 2 3" “10”
或者
log '1 2 3' '10'
語法也有一定的彈性:
- 您可以提供一個 [ ] 來表示 Vector_.zero:。
- 您可以輸入 1 代替 true,或輸入 0 代替 false。
- 您可以為空遊戲物件 GameObject 或 Component 組件參數輸入 null 。
![您可以提供一個 [ ] 來表示 Vector_.zero:。 您可以輸入 1 代替 true,或輸入 0 代替 false。 您可以為空遊戲物件 GameObject 或 Component 組件參數輸入 null 。](/upload/1338/ckeditor_images/a0211e2e-5c67-49e5-abcf-83b69534ce79.webp)
效果。

查看所有可用的命令
您可以使用控制台底部的輸入欄位輸入命令。
若要查看所有可用的命令,只需鍵入“help“。

效果。

Unity In-game Debug Console 相關介紹 & 教學影片
Unity 開發中處理靈異事件的利器 In-Game Debug Console
Unity In-game Debug Console 除錯神器相關網站 & 插件下載點
【In-game Debug Console】
GitHub 下載連結:In-game Debug Console
————————————————
更多好用插件:【Unity 好用插件推薦】持續更新,一起讓遊戲開發事半功倍!
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC |
![]() |
352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze |
|
ETH |
![]() |
0x795442E321a953363a442C76d39f3fbf9b6bC666 |
|
TRON |
![]() |
TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f |