Unity多人游戏中如何在Relay请求中指定服务器区域
Unity Relay 区域参数正确取值指南
你遇到的问题我之前刚踩过坑!Unity Relay的region参数需要传标准化的区域ID,而不是界面上显示的中文名称或者自定义字符串,这很容易搞混。
针对你提到的四个可用区域,对应的正确参数值如下:
- 东南亚-新加坡:
"ap-southeast-1" - 西欧-伦敦:
"eu-west-2" - 美国东部-北弗吉尼亚:
"us-east-1" - 美国中部-爱荷华:
"us-central-1"
验证方法(避免以后区域更新出错)
如果不确定区域ID,或者以后Unity新增了区域,你可以通过调用ListRegionsAsync()接口获取官方返回的所有可用区域信息,里面会包含每个区域的显示名称和对应的ID:
// 获取所有可用区域列表 var availableRegions = await Relay.Instance.ListRegionsAsync(); foreach (var region in availableRegions) { Debug.Log($"区域显示名:{region.Name},对应参数ID:{region.Id}"); }
运行这段代码后,你就能在控制台看到每个区域的准确ID,直接复制使用就不会出错了。
补充说明
这些区域ID其实是AWS的标准区域代码,因为Unity Relay底层依赖AWS的基础设施,所以沿用了这套命名规则,记住这点以后就不会再踩类似的坑啦。
内容的提问来源于stack exchange,提问作者Farrukh Sajjad
相关产品推荐
相关产品推荐

