使用这些过程来:
将以下域名添加到防火墙的允许域列表中:
packages.unity.com
download.packages.unity.com
upm-cdn.unity.com
(对于中国的地点,则是 upm-cdn-china.unitychina.cn
)这样可确保 Unity Package Manager 可以使用 HTTPS 访问这些域名。
提示:请参阅操作系统的帮助以了解如何将域名添加到防火墙的安全列表中。
使用代理服务器时,请配置 Unity Package Manager 的 HTTP_PROXY
和 HTTPS_PROXY
环境变量(用于针对 Unity 包注册表执行请求)。
您可以根据操作系统来全局设置这些变量(系统变量或用户变量)。或者,您可以仅为 Unity Hub 设置环境变量(在 Unity Hub 启动后)。
对于代理服务器之后的环境,要使用 Package Manager 无法识别的证书,您可以配置自定义证书颁发机构。
在某些公司和机构中,用户只能通过代理服务器访问互联网。有些代理会解压缩 HTTPS 内容,并使用自己的 SSL 证书重新打包这些内容。某些情况下,Unity Package Manager 的基础 HTTPS 层会拒绝这些证书,因为它无法识别发出这些证书的颁发机构,因此将该连接视为可能是中间人攻击。这意味着除非您配置其他 SSL 证书颁发机构以允许这些证书,否则您将无法在 Unity 中使用许多功能,包括 Package Manager。
要配置其他 SSL 证书颁发机构,请执行以下操作:
找到 upmconfig.toml
全局配置文件位置。如果该文件尚不存在,请创建一个空文本文件。
创建一个文本文件,其中包含一个或多个自定义证书颁发机构的证书。该文件应包含一个或多个 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-----
尽管 Unity 支持文件系统上的任何位置,请尽量将此文件与全局配置文件保存在同一个文件夹中。
In the global configuration file, add the caFile key and set its value as an absolute file path to your PEM file. Important: When setting Windows paths in TOML files, use forward slashes (/
) or double backslashes (\\
). Don’t use single backslashes (\
) because they’re special characters which mark escape sequences and can cause TOML parsing errors.
Windows example
caFile = "C:\\ProgramData\\Unity\\config\\cert.pem"
macOS and Linux example
caFile = "/etc/cert.pem"
本节说明了如何创建一个可从 Windows 命令提示符或 macOS 或 Linux 终端运行的命令文件。或者,也可以将命令直接复制并粘贴到提示窗口或终端窗口中。
注意:在运行命令文件之前,请完全关闭 Hub。如果 Hub 正在运行,则脚本会将焦点切换到 Hub,而不会重新启动,因此不会应用更改的代理设置。
请按照以下说明在 Windows 上创建一个命令文件。
该文件将启动设置了环境变量的 Hub。您可以双击文件,也可以从命令提示符调用文件。Unity 将这些环境变量传递给从 Hub 启动的任何 Unity Editor 进程。
打开一个文本编辑器,如记事本。
输入以下文本,将 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"
注意:如果路径中有空格,则必须在程序路径的两边使用双引号。
将文件保存到易于找到的位置(例如 Desktop
),并确保文件具有 .cmd
后缀(例如 launchUnityHub.cmd
)。
请按照以下说明在 macOS 上创建 launchUnityHub.command
文件。
该文件将启动设置了环境变量的 Hub。您可以双击文件,也可以从 Bash 终端调用文件。Unity 将这些环境变量传递给从 Hub 启动的任何 Unity Editor 进程。
注意:双击命令文件将打开一个终端窗口或选项卡,即使在脚本执行完毕后,这个窗口或选项卡也会保持打开状态。可以在 Terminal.app 的偏好设置中更改此行为。
打开终端窗口。
输入以下脚本,将 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
注意:如果路径中有空格,则必须在程序路径的两边使用双引号。
如果愿意,可以将 launchUnityHub.command
文件移动到方便的位置(例如,Desktop
)。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.