gpt4 book ai didi

unity3d - 我将如何为 2 个不同的商店管理 2 个不同的构建,这需要在它们之间进行一些代码更改

转载 作者:行者123 更新时间:2023-12-02 18:23:08 26 4
gpt4 key购买 nike

假设我想在 Steam 和 Epic Games 上发布我的游戏。两者都有一个包含某些服务(例如配对)的 SDK。

我不想制作 2 个项目并基本上维护它们只是为了能够实现这一点。如何根据我正在构建的版本(Steam 版本或 Epic Games 版本)激活/停用某些代码。我阅读了有关 #if 指令的信息,但这些指令似乎仅在检查构建目标平台(Android 等)时有效。

  • 我可以利用这些指令来实现我的目标吗?
  • 我能否包含这两个 sdk 并通过代码检查它是 Steam 还是 Epic 版本,并以某种方式相应地初始化正确的版本?

最佳答案

您可以添加和定义自己的预处理器指令 #if STEAM#if EPIC

#if STEAM
//do something with STEAM API
#elif EPIC
//do something with EPIC API
#endif

为此,您需要打开“项目设置->播放器->脚本编译->Scirpting 定义符号”,您可以在其中找到 Unity 将用于编译您的项目的所有自定义预处理器指令的列表。

如果您希望在构建过程中自动执行相同的操作,您可以设置 PlayerSettings.SetScriptingDefineSymbolsForGroup

PlayerSettings.SetScriptingDefineSymbolsForGroup
(BuildTargetGroup.Standalone, "STEAM");

有关更多信息,请参阅此 PlatformDependentCompilation

您可以通过 Define Constraints 对所有要包含在项目中的插件和 DLL 执行相同的操作。

关于unity3d - 我将如何为 2 个不同的商店管理 2 个不同的构建,这需要在它们之间进行一些代码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70592507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com