●准备工作
◇xbox one机器(需要官方授权的机器)
◇和unity对应版本的UnitySetup-Xbox-One-Support-for-Editor-5.3.2p3,俗称unity add-on。
◇和unity版本对应的XDK
◇最新的XboxOneUpdate更新包
●环境搭建
1、将网线接入xbox one后面的lan口(必须用网线)
2、进入设置-系统,按手柄键左上、右上、左下、右下连续4下,会弹出开发者模式选项
3、进入开发者模式后,通过电脑打开软件Xbox One Manager
4、点击Add Console,输入机器上的IP
5、点击Update console,选择下载的XboxOneUpdate更新包
●开始发布
和ps4一样,在发布设置中点击Build And Run即可
●常见问题
●安装不上,或者打开闪退?报错An unknown error has occurred
1、XDK 版本, OS 版本任意一个改变了,都需要重新做 provision
2、cmd到C:\Program Files (x86)\Microsoft Durango XDK\bin目录,执行xbconnect.exe [ip],连接成功后执行xbprovision.exe
●xbox one打包报错:[VALIDATOR ERROR] Available Version Check
.A required update to Submission Validator is available. XDK users must download from /fwlink/?LinkId=393356. ADK users must download from /fwlink/?LinkId=393357. Download and install the update, then rebuild the package. Contact your Developer Account Manager for assistance. 并且打不开报错信息的网站
解决办法:登录开发者网站Certification-Certification Tools下载最新的Submission Validator,拷贝到XDK\bin覆盖
登录:选择Microsoft partner登录
●xbox one总是安装不上,或者安装上了打开闪退(提示,等太久时间了
原来是Unity的QualitySetting设置成Fantasy,而且安装后的文件是200G,把Quality降一点就好
●unity发布到机器上,帧数有几百帧?并且摄像机有闪屏
是因为垂直同步没有开启,在Edit-Project Setting-Quality中,默认是Fastest,这个没有开启垂直同步,默认修改为Good即可解决。
●xbox one用5.4.1f1打包项目,开始会闪现拉扯问号,项目也没找到问号图标 解决办法: 1、进入Player Setting 2、在inspector面板右上角选择debug mode 3、设置属性Xbox one splash screen的图片为项目的splash图片,注意,不是xbox splash screen。 ●打包报错System.InvalidOperationException: The process must exit before getting the requested information. 解决办法:重启下unity再打包一遍 ●shader报错:Xbox One shader compiler could not be loaded (on xboxone) reimport下shader就好了 如果还不行,就是XDK版本和unity版本不对应 ●打包报错Exception: BuildPlayer failure: Error building Player: Exception: GetInstalledXDKVersion: Unable to retrieve version 10.0.14393.2152 from Registry for the XboxOne XDK XDK版本和unity版本不对应,即XDK版本要10.0.14393.2152 ●Input.GetJoystickNames ()在xbox one上运行总是获得8个设备,大部分都是UnknownController 之前5.3.2的版本没问题,切换到5.3.6p8就出现这个问题,于是继续升级到5.3.8f1,情况依旧 解决办法未知,实在不行,只能通过xbox提供的手柄相关接口了 ●如何激活xbox开发机 1、用二维码软件扫描机器正面的二维码图片,得到一个网址 2、用电脑浏览器打开网址,点击确认即可激活
●Input.GetJoystickNames()接口返回错误
切换到xbox one平台使用unity提供的Input.getJoystickNames()接口返回错乱,返回各种UnknownController。如图
测试了好几个版本,从5.3.6到5.3.8到5.4.5f1也是错误,之前版本5.3.2是好的,好像从5.3.2以后就不对了。
解决办法:
看官方日志,升级到5.4.1p1应该已经修复。可是我升级到5.4.1p1也不行......已经提问官方
(更新:终于找到问题所在,pc打开xboxOneManager算一个手柄,如果pc还插着手柄,那么会是两个手柄,这时候如果在xbox上插入手柄,从第三个序号开始,所以可以忽略该问题,正式玩家环境应该是没问题)