Not sure if it's related, but I face weird behavior as well. If I try to add multiple bindings to the same tracker role, it tries to add the first bindings for all actions.
For example, if I add the following:
Bindings.Add(XrActionSuggestedBinding{ Tracker.GripAction, GetPath(InInstance, Role + "/input/grip/pose") });
Bindings.Add(XrActionSuggestedBinding{ Tracker.TriggerAction, GetPath(InInstance, Role + "/input/trigger/click") });
The output of the bindings ends up with:
...
"poses" : [
{
"output" : "/actions/ue4/in/vive-tracker-grip-tracker_shoulder_right",
"path" : "/user/shoulder/right/pose/raw"
},
{
"output" : "/actions/ue4/in/vive-tracker-grip-tracker_shoulder_right",
"path" : "/user/shoulder/right/pose/raw"
}
]
...
See the records are duplicated, and if I add three actions, there will be three identical records.
And if I change the order:
Bindings.Add(XrActionSuggestedBinding{ Tracker.TriggerAction, GetPath(InInstance, Role + "/input/trigger/click") });
Bindings.Add(XrActionSuggestedBinding{ Tracker.GripAction, GetPath(InInstance, Role + "/input/grip/pose") });
I get the following:
...
"sources" : [
{
"inputs" : {
"click" : {
"output" : "/actions/ue4/inavive-tracker-trigger-tracker_shoulder_right"
}
},
"mode" : "button",
"path" : "/user/shoulder/right/input/trigger"
},
{
"inputs" : {
"click" : {
"output" : "/actions/ue4/inavive-tracker-trigger-tracker_shoulder_right"
}
},
"mode" : "button",
"path" : "/user/shoulder/right/input/trigger"
}
]
...
I tried to add bindings to different profiles ("/interaction_profiles/khr/simple_controller", "/interaction_profiles/htc/vive_controller", "/interaction_profiles/htc/vive_tracker_htcx"), only "/interaction_profiles/htc/vive_tracker_htcx" has this issue.