Request for Proposal
OpenXR Input Binding Infrastructure RFP
Project Goal
The main goal of this project is to address the broken promises relating to the action system and develop the missing components that have kept the Action System from being fully usable/useful.
Deliverables
The Work consists of small suites of code and programs to improve the state of input bindings for developers targeting OpenXR. Its objective is to be a starting point for runtimes to improve their binding and rebinding capabilities. It must be available on all 3 major XR platforms (Windows, Android, and Linux), unless specified otherwise.
3.1. Code
What follows is a list of deliverables for the project.
- 3.1.1. Report of capabilities of engines and runtimes with respect to binding and rebinding.
- 3.1.2. Development of tests that ensure that rebinding works as specified.
- 3.1.2.1. Testing default rebinding common controller pairs.
- 3.1.2.2. Testing of rebinding files taking effect as expected.
- 3.1.3. Development of a Helper Library for managing the bindings. This library must allow:
- 3.1.3.1. Reading and displaying existing bindings.
- 3.1.3.2. Editing existing bindings.
- 3.1.3.3. Generating new bindings.
- 3.1.4. Development of a sample/template UI for binding and rebinding management for developers and end-users that use the Helper Library.
- 3.1.4.1. Preliminary investigation and comparison of various UI frameworks for use when developing the UI.
Note: All code delivered within this project scope shall be properly commented source code, published into the various repositories that were set up for this project.
The design of the UI should take into consideration the integration of runtimes (language, supported platforms, etc.) but should also be usable with only minor modification if any. The supported platforms must include Windows, Android, and Linux.
3.2. Tests and CI
- 3.2.1. Unit tests for helper library.
- 3.2.2. General CI building each merge request:
- 3.2.2.1. Windows
- 3.2.2.1. Linux
3.3. Documentation
- 3.3.1. Code documentation at both function level and high level overview that explains how the different pieces are intended to be used and how they fit together.
- 3.3.2. Developer documentation on how to use sample UI to generate a binding for an app.
3.4. Action and Binding Data File
- 3.4.1 Investigation into existing file formats for conveying action and binding data, including e.g. game engine action/binding authoring, SteamVR Input v2.0, SteamInput, OpenXR-Action-Code-Generator.
- 3.4.2 Simple schema(s) for file format for exchanging actions and binding data, that maps to the design of the OpenXR action system API, suitable for use by application authors, runtimes, and potentially end users (in sharing customized rebindings).
The contractor shall submit the aforementioned deliverables at the specified dates. All deliverables (including verbal and written) are to be in US English.
Ownership and licensing of the work is specified in the Contractor's Agreement.
Estimated Amount of Work: View PDF
Responses Deadline: Friday, 15 September 2023 at 9am PDT
Contact Email: .(JavaScript must be enabled to view this email address)
RFP Document: This RFP document contains a detailed outline for this project and is not under NDA: