This project is used to verify behavior of Unity configurations, compare features between Unity releases, and test for changes in performance.
Перейти к файлу
benjamins 39e6f67d83 Removes old XRManager from material scene. 2019-07-25 13:35:04 -07:00
.gradle Removes batch building of WSA targets due to reworking of EditorUserBuildSettings in 2019.1.0a6 which broke the HoloToolkit. 2018-11-16 13:32:44 -08:00
Assets Removes old XRManager from material scene. 2019-07-25 13:35:04 -07:00
Documentation Adds documentation images. 2018-10-03 09:59:50 -07:00
Packages Adds xrsdk-master branch. 2019-07-12 14:49:24 -07:00
ProjectSettings Adds xrsdk-master branch. 2019-07-12 14:49:24 -07:00
assetSources Initial commit 2018-08-07 14:08:18 -07:00
.gitignore Initial commit 2018-08-07 14:08:18 -07:00
CONTRIBUTING Adds documentation and placeholder readme. 2018-10-02 11:01:28 -07:00
CONTRIBUTIONS.md Adds documentation and placeholder readme. 2018-10-02 11:01:28 -07:00
LICENSE.md Adds documentation and placeholder readme. 2018-10-02 11:01:28 -07:00
README.md Update README.md 2019-07-23 12:51:22 -07:00

README.md

Unity XR Acceptance Tests

This project is used to test Unitys XR features. Tests in this project are designed to be simple and platform agnostic. The behavior of specific features can be targeted by isolating the systems under test, therefore the scenes have been constructed to limit interaction between different systems and components. Furthermore, display and input systems have been implemented in a generic way so that the project does not rely on the platform specific features of plugins. The project should be used to verify behavior of player configurations, compare features between Unity releases, and test for changes in performance.

Full documentation including comparison images and expected results for all tests are included in the repo as XRAssessmentDocumentation.pdf

XR SDK Setup

See https://forum.unity.com/threads/xr-plugins-and-subsystems.693463/ for instructions.

Test Scenes

  • Materials
  • Baked Lighting
  • Real-time Lighting
  • Effects
  • Terrain
  • Canvas
  • API Checks
  • Performance
  • Input

Configurations

These tests are designed to be run in the built-in renderer with multi-pass, single-pass, and single-pass instanced stereo rendering modes. Scenes should be tested to make sure they are displayed the same in the left eye, right eye, Editor GameView, and the players standalone mirror (if applicable). All combinations of settings supported by the target platform should be tested:

Stereo Rendering Modes

  • Multi Pass
  • Single Pass
  • Single Pass Instanced

Graphics APIs

  • Direct3D11
  • Direct3D12 (Experimental)
  • OpenGL
  • Vulkan
  • OpenES2
  • OpenES3
  • Metal

Players

  • Editor
  • Standalone

Building

Tests can be run manually in the editor or in a built player. Batch building functionality has been included in this project to provide an easy-to-use script and build configuration system that can build a common set of configurations for testing. In addition, this system allows for multiple build configurations to be built at once to reduce overhead of managing multiple test build configurations. Finally, utilization of the batch builds will maintain a consistent set of build settings across test passes to reduce configuration errors.

Usage The build scripts located in the root of this project are available to build the most common configurations of the project for testing across supported platforms. Scripts are available for Windows (.bat) and macOS (.command) in the BuildScripts folder. A Build Windows UI is available in the Editor to run batch builds and allow customization of the build configurations

Pass the location of the Unity executable to run from the command line:

Windows Example:

BuildWindows.bat <location of Unity.exe>

MacOS Example:

BuildmacOS.command <location of Unity.app>/Content/Unity...

The builds will be located in:

<Project Directory>\Builds\<Build Target>\<VR SDK>\<Stereo Rendering Method>-<Graphics API>

For example,

...\Builds\StandaloneWindows64\Oculus\Instancing-Direct3D11.exe

...\Builds\StandaloneWindows64\Oculus\MultiPass-Direct3D11.exe

Scene Navigation

Gaze based controls have been implemented for scene navigation to allow the project to run on a variety of platforms without platform specific input dependencies. Gaze at the gray arrows in any scene to transition to the next or previous scene. The arrows will progressively fill for several seconds as long as gaze focus is maintained. The scene will transition once the arrow is completely filled.