跳转至

Unity Windows

Hive SDK Unity Windows 应用程序开发在开发后构建应用时需要以下设置。

构建预配置

在构建Windows项目之前,请在编辑器的文件 > 构建设置...中配置以下设置:

  1. 设置构建:
    • 目标操作系统:Windows
    • 架构:x86_64
    • 生成Visual Studio解决方案(构建方法取决于是否选择)
  2. 配置播放器:您可以通过在“构建设置...”窗口左下角按下播放器设置...按钮或在检查器窗口的播放器类别中进行设置。
    • 脚本后端:IL2CPP
    • API兼容性级别:.NET Standard 2.1
    • Windows的自动图形API:Direct3D11或OpenGLCore
  3. 配置HIVE_PLUGIN.dll文件:请参阅下图,并在检查器窗口中将HIVE_PLUGIN.dll文件设置在Assets\Hive_SDK_v4\Plugins\Windows文件夹中。

构建配置

根据在构建配置中是否选择生成 Visual Studio 解决方案,请按照下面的选项 1.选项 2.进行操作。

选项 1. Visual Studio 解决方案生成:假

  1. 在编辑器的项目中准备Assets\Plugins\Windows\res\hive_config.xml文件。
  2. Hive SDK附加文件(如.dll, .pak, .bin的资源文件)将由Assets\Hive_SDK_v4\Editor\HivePostprocess.cs复制到Unity Build生成的可执行文件所在的文件夹。如果没有复制,请手动按如下方式复制:
    • Assets\Hive_SDK_v4\Plugins\desktop\hive_string → [可执行文件夹]\resources\hive_string
    • Assets\Hive_SDK_v4\Plugins\Windows\additional → [可执行文件夹](不包括.meta文件)
    • Assets\Plugins\Windows\res\hive_config.xml → [可执行文件夹]\resources\hive_config.xml
  3. 如果您在上一步中手动复制了文件,请将[可执行文件夹]\hive-sdk-res文件夹中的内容移动到[可执行文件夹]\resources文件夹。
    • 如果您已移动[可执行文件夹]\hive-sdk-res中的所有内容,可以删除hive-sdk-res文件夹。
  4. Assets\Hive\SDK\v4\Editor\HivePostprocess.cs脚本使用项目中指定的版本设置版本。如果可执行文件版本没有更改,您可以从CMD或PowerShell执行Assets\Hive\SDK\v4\Plugins\Windows\postBuildUtil\rcedit.exe手动更改
    • 示例命令行:rcedit.exe "D:\Hive\SDK\UnityPlugin\Sample\b\Hive\SDK\v4\Unity.exe" --set-product-version 1.0.3 --set-file-version 1.0.3
    • 示例结果:

选项 2. Visual Studio 解决方案生成: 真

在所需文件夹中执行 Windows 目标 Unity 构建,环境配置请参见 构建预配置

构建后配置

本节描述了构建 Hive SDK Unity Windows 应用后所需的设置。在 Unity 构建完成后,将生成以下文件。

  • 构建
  • Il2CppOutputProject
  • [项目名称] 文件夹
  • UnityPlayerStub
  • [项目名称].sln
  • UnityCommon.props
  • locales
  • resources
  • swiftshader
  • .dll
  • cef.subprocess.exe
  • .pak
  • .bin
  • icudtl.dat

版本设置

您可以通过修改WindowsPlayerVersion.rc文件中的FILEVERSIONPRODUCTVERSION来设置版本,该文件位于[项目名称]文件夹内。修改后的版本在与Hive 服务器通信时用作appversion信息。

Visual Studio 构建和 Hive SDK 复制

  1. 用Visual Studio打开sln,在构建过程中可执行文件将被创建在build\bin\x64\Debug(或Master)文件夹中。
  2. 在使用Visual Studio 2019运行Unity 2018.4.17的结果时,需要进行Retarget Solution过程。
  3. 从Unity构建过程中创建的文件夹中复制文件到与可执行文件相同的文件夹,排除[项目名称_Data].slnUnityCommon.props
  4. 以相同的方式复制localesresourcesswiftshader文件夹。
  5. 修改hive_config.xml的内容以匹配项目,并在可执行文件下的resources文件夹中指定位置。(Appid、Google相关、Facebook相关)
  6. 如果游戏需要在hive_config.xml中输入市场值,请输入HS,这是Hive商店的市场代码。(但是,输入在hive_config.xml中的市场值不会影响实际服务。)
  7. build\bin\项目名称_Data文件夹复制到可执行文件所在的文件夹。

  8. build\bin[Project name_Data]\plugins中的文件(.dll)是重复的,因此可以删除。

  9. 将额外的.dll和资源放置在build\bin[Project name_Data]\plugins中,而不是可执行文件所在的文件夹是部分可行的,但有些功能无法正常工作,因此需要复制到可执行文件所在的文件夹中使用。
Note

Redistributable packages 在开发者的 PC 以外的环境中是必需的。
在调试模式下构建时,需要调试版本的可再发行组件包 DLL:vccorlib140d.dll, vcruntime140d.dll, cruntime140_1d.dll, ucrtbased.dll, msvcp140d.dll, concrt140d.dl

删除未使用的 XML 文件

如果您通过 Unity 包 安装或更新了 Hive SDK Unity,而不是通过 Hive SDK 管理器,则在构建应用程序之前,必须删除位于以下路径中的所有 HIVESDK_{library_name}Dependencies.xml 文件。

  • 资产/Hive_SDK_v4/依赖项
  • 资产/Hive_SDK_v4/编辑器

要删除的文件示例如下: - HIVESDK_DefaultDependencies.xml - HIVESDK_HerculesDependencies.xml - HIVESDK_HiveAnalyticsConsentModeDependencies.xml - HIVESDK_HiveDataStoreDependencies.xml - HIVESDK_HiveDeviceManagementDependencies.xml - HIVESDK_HiveGoogleInAppReviewDependencies.xml - HIVESDK_HiveGoogleInAppUpdateDependencies.xml - HIVESDK_HivePromotionDependencies.xml - HIVESDK_HiveRealNameVerificationDependencies.xml - HIVESDK_MarketAmazonDependencies.xml - HIVESDK_MarketAppleDependencies.xml - HIVESDK_MarketGoogleDependencies.xml - HIVESDK_MarketHiveStoreDependencies.xml - HIVESDK_MarketHuaweiDependencies.xml - HIVESDK_MarketLebiDependencies.xml - HIVESDK_MarketOneStoreDependencies.xml - HIVESDK_MarketSamsungDependencies.xml - HIVESDK_ProviderAdjustDependencies.xml - HIVESDK_ProviderAppleDependencies.xml - HIVESDK_ProviderAppleSignInDependencies.xml - HIVESDK_ProviderAppsFlyerDependencies.xml - HIVESDK_ProviderFacebookDependencies.xml - HIVESDK_ProviderFirebaseDependencies.xml - HIVESDK_ProviderGoogleDependencies.xml - HIVESDK_ProviderGooglePlayGamesDependencies.xml - HIVESDK_ProviderHiveMembershipDependencies.xml - HIVESDK_ProviderHuaweiDependencies.xml - HIVESDK_ProviderLineDependencies.xml - HIVESDK_ProviderQQDependencies.xml - HIVESDK_ProviderRecaptchaDependencies.xml - HIVESDK_ProviderSingularDependencies.xml - HIVESDK_ProviderVKDependencies.xml - HIVESDK_ProviderWechatDependencies.xml - HIVESDK_ProviderWeverseDependencies.xml - HIVESDK_PushAmazonAdmDependencies.xml - HIVESDK_PushGoogleFcmDependencies.xml