假设我想在 Steam 和 Epic Games 上发布我的游戏。两者都有一个包含某些服务(例如匹配)的 SDK。
我不想制作两个项目并基本上维护它们只是为了能够实现这一目标。如何根据我正在构建的版本(Steam 版本或 Epic Games 版本)激活/停用某些代码。我读到了 #if 指令,但这些指令似乎仅在检查构建目标平台(Android 等)时才起作用。
您可以添加和定义您自己的预处理器指令#if STEAM或#if EPIC.
#if STEAM
//do something with STEAM API
#elif EPIC
//do something with EPIC API
#endif
Run Code Online (Sandbox Code Playgroud)
为此,您需要打开“Project Settings->Player->Script Compilation->Scirpting Define Symbols”,您可以在其中找到 Unity 将用于编译项目的所有自定义预处理器指令的列表。
如果您希望在构建过程中自动执行相同的操作,您可以设置PlayerSettings.SetScriptingDefineSymbolsForGroup
PlayerSettings.SetScriptingDefineSymbolsForGroup
(BuildTargetGroup.Standalone, "STEAM");
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此PlatformDependentCompilation
您可以通过Define Constraints对要包含在项目中的所有插件和 DLL 执行相同的操作
| 归档时间: |
|
| 查看次数: |
499 次 |
| 最近记录: |