ExtendRealityLtd / ExtendRealityLtd/Tilia.Input.UnityInputSystem

Duplicated PlayerInput.cs in prefabs disable input in builds for Windows Mixed Reality

Open
#54 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### Environment

* Code source: Tilia.Input.UnityInputSystem
* Code version: 2.4.3
* Platform version: Unity 2021.3.24
* 3rd party dependencies: Windows Mixed Reality Portal

### Steps to reproduce

In a simple scene, or in the tilia farm, add the `UnityInputSystem.Poses.GenericXR.prefab` into the scene. Optionally, have the pointers follow the prefab's `LeftPointer` and `RightPointer` instead of the `LeftControllerAlias` and `RightControllerAlias`. If not there already, add the `UnityInputSystem.InputActionMappings.GenericXR.prefab` and map actions to it.

### Expected behavior

After a build, and using WMR OpenXR, pointers follow the controller pointer pose, like in the editor.

### Current behavior

Controllers are tracked, but no controller input is received.

### Testing done

I tested multiple configurations and builds. It seems that if multiple instances of `PlayerInput.cs` are enabled, the Windows Mixed Reality OpenXR runtime stops processing input. This happens only on builds, and only for WMR. Disabling all but one of the scripts fixes the issue.

I recommend adding a script to both Tilia input prefabs that `OnReset()` checks for enabled instances of `PlayerInput.cs` in the scene hierarchy, and disables it from its own prefab if another instance is active. A debug warning would be useful as well.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.