Vixen
02b45cc4
csharp
public sealed class XrActionSet

A group of actions that are relevant at the same time.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Sets exist so that a game can turn its whole input scheme over at once: the menu's set is active while the menu is up and the gameplay set is not, so the trigger means two things and neither piece of code has to know about the other.

Everything is declared before the session attaches them and nothing after. That is OpenXR's rule, not this module's — attaching is when the runtime resolves bindings, and it is also when the user's own remapping is applied. An action created afterwards can never be bound to anything.

Fields and properties (8)

  • public string Name

    Its name.

  • public string LocalisedName

    What it is called in the user's language.

  • public int Priority

    Which set wins a contested binding. Higher is stronger.

  • public bool IsActive

    Whether it is currently being synced.

  • public bool IsAttached

    Whether a session has attached it, after which it is frozen.

  • public object? BackendHandle

    Whatever the backend needs to find this set again. Not for callers.

  • public IReadOnlyList<XrAction> Actions

    Every action in it.

  • public IReadOnlyList<XrSuggestedBinding> Bindings

    Every binding suggested for it.

Methods (5)

  • public XrActionSet(string name, string localisedName = "", int priority = 0)

    Creates a set.

  • public XrAction CreateAction(string name, XrActionType type, string localisedName = "")

    Declares an action.

  • public void SuggestBinding(string interactionProfile, XrAction action, string bindingPath)

    Suggests where an action should come from on a particular controller.

  • public void SuggestBindingForBothHands(string interactionProfile, XrAction action, string component)

    Suggests the same binding for both hands, with /user/hand/{left,right} filled in.

  • public void MarkAttached()

    Marks the set attached. Called by the session.

Used by (7)

  • IXrSessionVixen.Xr
  • NullXrBackendTestsVixen.Xr.Tests
  • NullXrSessionVixen.Xr
  • OpenXrSessionVixen.Xr.OpenXR
  • XrActionVixen.Xr
  • XrActionSetTestsVixen.Xr.Tests
  • XrTrackingSystemTestsVixen.Xr.Tests