假設我想在 Steam 和 Epic Games 上發布我的游戲。兩者都有一個帶有某些服務的 SDK,比如配對。
我不想制作 2 個專案并基本上維護它們只是為了能夠實作這一點。如何根據我正在構建的版本(Steam 版本或 Epic Games 版本)激活/停用某些代碼。我閱讀了有關#if 指令的資訊,但這些指令似乎僅在檢查構建目標平臺(Android 等)時才有效。
- 我可以利用這些指令來實作我的目標嗎?
- 我可以同時包含 sdks 并通過代碼檢查它是 Steam 版本還是 Epic 版本,并以某種方式相應地初始化正確的版本嗎?
uj5u.com熱心網友回復:
您可以添加和定義自己的前處理器指令#if STEAM或#if EPIC.
#if STEAM
//do something with STEAM API
#elif EPIC
//do something with EPIC API
#endif
為此,您需要打開“專案設定->播放器->腳本編譯->腳本定義符號”,在那里您可以找到 Unity 將用于編譯您的專案的所有自定義前處理器指令的串列。
如果您希望在構建程序中自動執行相同操作,您可以設定PlayerSettings.SetScriptingDefineSymbolsForGroup
PlayerSettings.SetScriptingDefineSymbolsForGroup
(BuildTargetGroup.Standalone, "STEAM");
有關更多資訊,請參閱此PlatformDependentCompilation
您可以通過定義約束對要包含在專案中的所有插件和 DLL 執行相同的操作
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/405085.html
標籤:
上一篇:沒有物理引擎的統一彈跳球
下一篇:統一。首次安裝時為游戲分配資料?
