项目设置工具
使用 Unity 开发玩出梦想应用时,需要修改一些项目设置(配置 Unity 设置 介绍了相关设置)。玩出梦想 Unity 项目设置工具可以自动检查项目中的常见问题,并提供一键修复、相关文档查询等功能,帮助开发者快速配置项目,提高开发和移植效率。建议开发者确认没有任何严重问题(Critical Issue)报错后,再进行打包。
导入 Unity SDK(版本 2.5.0 及以上)后,可通过菜单 > YVR > Project Setup Tool 打开面板。在项目设置修改后,检查项可能不能及时更新,可点击刷新(Refresh)按钮,手动更新当前类别下的检查项状态。反馈(Feedback)按钮可就该功能进行意见反馈。
同时,可以在 Unity 编辑器窗口的右下角查看当前检查状态和打开面板。
任务处理
玩出梦想 Unity 项目设置工具会定期检查检查项的状态。开发者可以进行的操作:
- 修复:对于可自动修复的问题,提供一键修复功能。
- 转到源代码:打开 IDE,跳转到相应的代码位置。
- 相关文档:对于无法直接修复的问题,提供相关文档的链接。
- 忽略:忽略这个问题,不再进行检查。
检查清单
检查项分为三个主要类别: ProjectSetup, PerformanceLint, 和 Porting。
ProjectSetup
Project Setup 检查项如下:
- 【必要】BuildTarget if is Android
- 【必要】PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel25
- 【必要】PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto
- 【必要】PlayerSettings.SetScriptingBackend(buildTargetGroup, ScriptingImplementation.IL2CPP)
- 【必要】PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64
- 【必要】Set Graphics APIs for this build target to OpenGLES3
- 【必要】YVRLoader has been assigned.
- 【必要】PlayerSettings.Android.androidTVCompatibility = false
PerformanceLint
PerformanceLint 检查项如下:
- 【推荐】Physics.defaultContactOffset = 0.01f
- 【推荐】Physics.sleepThreshold = 0.005f
- 【推荐】Physics.defaultSolverIterations = 8
- 【推荐】QualitySettings.pixelLightCount = 1
- 【推荐】QualitySettings.masterTextureLimit = 0
- 【推荐】QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable
- 【推荐】EditorUserBuildSettings.androidBuildSubtarget = MobileTextureSubtarget.ETC2
- 【推荐】PlayerSettings.colorSpace = ColorSpace.Linear
- 【推荐】PlayerSettings.graphicsJobs = false
- 【推荐】PlayerSettings.MTRendering = true and PlayerSettings.SetMobileMTRendering(buildTargetGroup, true)
- 【推荐】PlayerSettings.use32BitDisplayBuffer = true
- 【推荐】renderingTier.renderingPath = RenderingPath.Forward
- 【推荐】For GPU performance, please don't use parallax-mapped materials.
- 【推荐】For GPU performance, please don't use specular shader on materials.
- 【推荐】Please use 2 or fewer passes in materials.
- 【推荐】For GPU performance, please use 4 or fewer CompositeLayers.
- 【推荐】For visual quality, please use trilinear filtering and mipmap on your VR splash screen.
- 【推荐】Recommend enabling useRecommendedMSAALevel in YVRManager
- 【推荐】Render scale above 1.5 is extremely expensive on the GPU, with little if any positive visual benefit.
- 【推荐】For GPU performance, please don't use Unity's built-in Skybox.
- 【推荐】For GPU performance, please generate mipmaps or disable trilinear filtering for textures.
- 【推荐】Please use less than 1GB of vertex and texture memory.
- 【推荐】Please use less than 100000 triangles or vertices.
- 【推荐】Please use less than 100 draw calls.
- 【推荐】All lights in scene have up to date lightmap data
- 【推荐】For CPU performance, consider disabling shadows on realtime lights.
- 【推荐】For CPU performance, please disable all but the top 16 AudioSources.
- 【推荐】For fast loading, please don't use decompress on load for audio clips
- 【推荐】For fast loading, please don't preload data for audio clips.
- 【推荐】Please avoid instanced materials on renderers.
- 【推荐】Please don't use image effects.
- 【推荐】For GPU performance, please don't use projectors.
- 【推荐】Please use 2 or fewer camera clears.
- 【推荐】For GPU performance, please don't enable forceIntoRenderTexture on your camera
- 【可选】LightmapSettings.lightmapsMode = LightmapsMode.NonDirectional
- 【可选】Lightmapping.realtimeGI = false
- 【可选】PlayerSettings.gpuSkinning = true
Porting
Porting 可以检查从 Quest/Pico 移植的项目中常见的问题:
- 【推荐】PXR_Manager not exist in scene
- 【推荐】OVRManager not exist in scene
- 【推荐】YVREntitledManager exist in scene