Version: 2021.3
配置
范围注册表身份验证

解决网络问题

使用这些过程来:

配置防火墙

将以下域名添加到防火墙的允许域列表中:

  • packages.unity.com
  • download.packages.unity.com
  • upm-cdn.unity.com(对于中国的地点,则是 upm-cdn-china.unitychina.cn

这样可确保 Unity Package Manager 可以使用 HTTPS 访问这些域名。

提示:请参阅操作系统的帮助以了解如何将域名添加到防火墙的安全列表中。

配置代理服务器

使用代理服务器时,请配置 Unity Package Manager 的 HTTP_PROXYHTTPS_PROXY 环境变量(用于针对 Unity 包注册表执行请求)。

您可以根据操作系统来全局设置这些变量(系统变量或用户变量)。或者,您可以仅为 Unity Hub 设置环境变量(在 Unity Hub 启动后)。

对于代理服务器之后的环境,要使用 Package Manager 无法识别的证书,您可以配置自定义证书颁发机构

自定义证书颁发机构

在某些公司和机构中,用户只能通过代理服务器访问互联网。有些代理会解压缩 HTTPS 内容,并使用自己的 SSL 证书重新打包这些内容。某些情况下,Unity Package Manager 的基础 HTTPS 层会拒绝这些证书,因为它无法识别发出这些证书的颁发机构,因此将该连接视为可能是中间人攻击。这意味着除非您配置其他 SSL 证书颁发机构以允许这些证书,否则您将无法在 Unity 中使用许多功能,包括 Package Manager。

要配置其他 SSL 证书颁发机构,请执行以下操作:

  1. 找到 upmconfig.toml 全局配置文件位置。如果该文件尚不存在,请创建一个空文本文件。

  2. 创建一个文本文件,其中包含一个或多个自定义证书颁发机构的证书。该文件应包含一个或多个 Privacy-Enhanced Mail (PEM) 格式的受信任证书。例如:

    -----BEGIN CERTIFICATE-----
    MIIC+zCCAeOgAwIBAgIJAO0U6hVJnbvjMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
    BAMMCWxvY2FsaG9zdDAeFw0xOTAzMTIwMTIxMzRaFw0yOTAzMDkwMTIxMzRaMBQx
    EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
    ggEBAKNh0EM7j57pXorGs5OHzlk9TYeUqITtXXdWfY1fbqRdj+a8qLNs4m/nDsDW
    KgibHYG3FUqIidjPL61DLQuWUPY9Zo+uQaccIe0E5wb+To9mwMlLuhMD6iCPFRpe
    jcDhNj4vG1RVARMO1jupeZqdb+xHBZqtmMJmtiDOBxt662Z4hvoH8mdqNEuSkozz
    HqXmcdigrTO37DspGRBx08GJlHFHUs7C+hYOsOdNjME3dH/8uihjKYiqQb1E12dN
    PNL7jYm3AZv+qUmDFM3BJE0hSmAP00GuTJxbe31Kh4e7N5/XSiLsnqwircOj/Hfi
    eWjtsoXbCNDIiWUQtXBeLD/BdvkCAwEAAaNQME4wHQYDVR0OBBYEFDFw8VDkgMne
    mDjgo+b1iaPfUkdVMB8GA1UdIwQYMBaAFDFw8VDkgMnemDjgo+b1iaPfUkdVMAwG
    A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFEjUWGz1r3xSsbwUJsRhbMc
    M7Jjf9/r833H7eq31mbl/JbXPnpo8IctMuWyw42ccMtgq7i+coQeKwvWnHtI5rhe
    vshEkIqNPAoCnpW5NLprYDDTG1PDEhv6FYpW8Alq65i03tptzaoHlH3sH+97E/h0
    qSYI7yNHWMC5u0r1DB0BR+lZsj6RnwWPySMSuXx5sSiKIS/HkkMVwwmxKa4ZwuwS
    LFwHSUdqk0lJK4b0mCwyTHNvYO1IDziE5EKwfuaKVgOa62iCHVahgIVa+een4EfS
    hCCr3M3cq11Mi+mnRi1scxxrOno4OEEChWg2szZLlxBrkVJllrrq620XJ6RLB/8=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
    b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
    EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
    cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
    MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
    JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
    mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
    wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
    VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
    AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
    AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
    BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
    pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
    dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
    fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
    NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
    H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
    +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
    -----END CERTIFICATE-----
    
  3. 尽管 Unity 支持文件系统上的任何位置,请尽量将此文件与全局配置文件保存在同一个文件夹中。

  4. 在全局配置文件中,将 caFile 属性集添加到 PEM 文件的绝对文件路径。例如:

    caFile = "C:\\ProgramData\\Unity\\config\\cert.pem"
    

为 Unity Hub 设置环境变量

本节说明了如何创建一个可从 Windows 命令提示符macOS 或 Linux 终端运行的命令文件。或者,也可以将命令直接复制并粘贴到提示窗口或终端窗口中。

注意:在运行命令文件之前,请完全关闭 Hub。如果 Hub 正在运行,则脚本会将焦点切换到 Hub,而不会重新启动,因此不会应用更改的代理设置。

Windows

请按照以下说明在 Windows 上创建一个命令文件。

该文件将启动设置了环境变量的 Hub。您可以双击文件,也可以从命令提示符调用文件。Unity 将这些环境变量传递给从 Hub 启动的任何 Unity Editor 进程。

  1. 打开一个文本编辑器,如记事本。

  2. 输入以下文本,将 proxy-url 替换为正确的代理服务器 URL,并根据需要调整 Hub 安装路径:

    @echo off
    set HTTP_PROXY=proxy-url
    set HTTPS_PROXY=proxy-url
    start "" "C:\Program Files\Unity Hub\Unity Hub.exe"
    
    

    注意:如果路径中有空格,则必须在程序路径的两边使用双引号。

  3. 将文件保存到易于找到的位置(例如 Desktop),并确保文件具有 .cmd 后缀(例如 launchUnityHub.cmd)。

macOS

请按照以下说明在 macOS 上创建 launchUnityHub.command 文件。

该文件将启动设置了环境变量的 Hub。您可以双击文件,也可以从 Bash 终端调用文件。Unity 将这些环境变量传递给从 Hub 启动的任何 Unity Editor 进程。

注意:双击命令文件将打开一个终端窗口或选项卡,即使在脚本执行完毕后,这个窗口或选项卡也会保持打开状态。可以在 Terminal.app 的偏好设置中更改此行为。

  1. 打开终端窗口。

  2. 输入以下脚本,将 proxy-url 替换为正确的代理服务器 URL,并根据需要调整 Hub 安装路径:

    echo '#!/bin/bash
    export HTTP_PROXY=proxy-url
    export HTTPS_PROXY=proxy-url
    nohup "/Applications/Unity Hub.app/Contents/MacOS/Unity Hub" &>/dev/null &' > launchUnityHub.command
    chmod +x launchUnityHub.command
    

    注意:如果路径中有空格,则必须在程序路径的两边使用双引号。

  3. 如果愿意,可以将 launchUnityHub.command 文件移动到方便的位置(例如,Desktop)。

配置
范围注册表身份验证