Search Results for

    Project Setup Tool

    When developing Play For Dream apps with Unity, there are some project settings that need to be changed (refer to Configure Unity Settings). Play For Dream Unity project setup tool can automatically check the common issues occurred in the project and provide one-click fixes, related documentation and other functions to assist developers quickly configure the project and improve development and porting efficiency. It is recommended that developers ensure no critical issues are reported before making a build.

    After importing Unity SDK (version 2.5.0 and above), you can open the panel via menu > YVR > Project Setup Tool. After the project setup is modified, the check items may not be updated in time, you can click the Refresh button to manually update the status of the check items under the current category. The Feedback button allows you to provide feedback on this feature.

    SetupTool

    Also, in the bottom right corner of the Unity editor, the panel can be opened and viewed the current check status.

    Status

    Actions

    A Configuration Task is regularly checked for its validation status. The user can, however, interact directly with a Task in the following ways:

    • Fix: Provide one-click fixes for issues that can be fixed automatically.
    • Go To Source: Open the IDE and jump to the appropriate code location.
    • Related Documentation: For issues that cannot be fixed directly, provide links to the relevant documentation.
    • Ignore: Ignore this issue and do not check it again.

    Checklist

    The checks are categorized into three main sections: ProjectSetup, PerformanceLint, and Porting.

    ProjectSetup

    Project Setup checks the following:

    1. 【Required】BuildTarget if is Android
    2. 【Required】PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel25
    3. 【Required】PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto
    4. 【Required】PlayerSettings.SetScriptingBackend(buildTargetGroup, ScriptingImplementation.IL2CPP)
    5. 【Required】PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64
    6. 【Required】Set Graphics APIs for this build target to OpenGLES3
    7. 【Required】YVRLoader has been assigned.
    8. 【Required】PlayerSettings.Android.androidTVCompatibility = false

    PerformanceLint

    PerformanceLint checks the following:

    1. 【Recommended】Physics.defaultContactOffset = 0.01f
    2. 【Recommended】Physics.sleepThreshold = 0.005f
    3. 【Recommended】Physics.defaultSolverIterations = 8
    4. 【Recommended】QualitySettings.pixelLightCount = 1
    5. 【Recommended】QualitySettings.masterTextureLimit = 0
    6. 【Recommended】QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable
    7. 【Recommended】EditorUserBuildSettings.androidBuildSubtarget = MobileTextureSubtarget.ETC2
    8. 【Recommended】PlayerSettings.colorSpace = ColorSpace.Linear
    9. 【Recommended】PlayerSettings.graphicsJobs = false
    10. 【Recommended】PlayerSettings.MTRendering = true and PlayerSettings.SetMobileMTRendering(buildTargetGroup, true)
    11. 【Recommended】PlayerSettings.use32BitDisplayBuffer = true
    12. 【Recommended】renderingTier.renderingPath = RenderingPath.Forward
    13. 【Recommended】For GPU performance, please don't use parallax-mapped materials.
    14. 【Recommended】For GPU performance, please don't use specular shader on materials.
    15. 【Recommended】Please use 2 or fewer passes in materials.
    16. 【Recommended】For GPU performance, please use 4 or fewer CompositeLayers.
    17. 【Recommended】For visual quality, please use trilinear filtering and mipmap on your VR splash screen.
    18. 【Recommended】Recommend enabling useRecommendedMSAALevel in YVRManager
    19. 【Recommended】Render scale above 1.5 is extremely expensive on the GPU, with little if any positive visual benefit.
    20. 【Recommended】For GPU performance, please don't use Unity's built-in Skybox.
    21. 【Recommended】For GPU performance, please generate mipmaps or disable trilinear filtering for textures.
    22. 【Recommended】Please use less than 1GB of vertex and texture memory.
    23. 【Recommended】Please use less than 100000 triangles or vertices.
    24. 【Recommended】Please use less than 100 draw calls.
    25. 【Recommended】All lights in scene have up to date lightmap data
    26. 【Recommended】For CPU performance, consider disabling shadows on realtime lights.
    27. 【Recommended】For CPU performance, please disable all but the top 16 AudioSources.
    28. 【Recommended】For fast loading, please don't use decompress on load for audio clips
    29. 【Recommended】For fast loading, please don't preload data for audio clips.
    30. 【Recommended】Please avoid instanced materials on renderers.
    31. 【Recommended】Please don't use image effects.
    32. 【Recommended】For GPU performance, please don't use projectors.
    33. 【Recommended】Please use 2 or fewer camera clears.
    34. 【Recommended】For GPU performance, please don't enable forceIntoRenderTexture on your camera
    35. 【Optional】LightmapSettings.lightmapsMode = LightmapsMode.NonDirectional
    36. 【Optional】Lightmapping.realtimeGI = false
    37. 【Optional】PlayerSettings.gpuSkinning = true

    Porting

    Porting checks for common issues in projects ported from Quest/Pico:

    1. 【Recommended】PXR_Manager not exist in scene
    2. 【Recommended】OVRManager not exist in scene
    3. 【Recommended】YVREntitledManager exist in scene
    In This Article