Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions Assets/Tests/InputSystem/APIVerificationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,113 @@ public class DualShock4GamepadHID : DualShockGamepad
public InputTestFixture.ActionConstraint Performed(InputAction action, InputControl control = default(InputControl), System.Nullable<double> time = default(System.Nullable<double>), System.Nullable<double> duration = default(System.Nullable<double>));
public InputTestFixture.ActionConstraint Started(InputAction action, InputControl control = default(InputControl), System.Nullable<double> time = default(System.Nullable<double>));
")]
// API scraper output for these built-in XR controller types differs depending on installed XR replacement packages.
[Property("Exclusions", @"1.0.0
public class DaydreamController : UnityEngine.InputSystem.XR.XRController
public class GearVRTrackedController : UnityEngine.InputSystem.XR.XRController
public class OculusTouchController : UnityEngine.InputSystem.XR.XRControllerWithRumble
public class HandedViveTracker : ViveTracker
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium
The base class ViveTracker is the only one in this list missing the UnityEngine.InputSystem.XR namespace prefix. If the API scraper provides fully qualified names (as it seems to for the other controllers like DaydreamController), this exclusion might not match and could fail to suppress the intended output. Please verify if it should be UnityEngine.InputSystem.XR.ViveTracker.

🤖 Helpful? 👍/👎

public class OpenVRControllerWMR : UnityEngine.InputSystem.XR.XRController
public class OpenVROculusTouchController : UnityEngine.InputSystem.XR.XRControllerWithRumble
public class ViveWand : UnityEngine.InputSystem.XR.XRControllerWithRumble
")]
// API scraper in 1.0.0 emitted incomplete default argument expressions for these overloads.
[Property("Exclusions", @"1.0.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low
There are now multiple separate [Property("Exclusions", ...)] attributes for version 1.0.0. While this helps organize them by the reason for exclusion, it repeats the version header and the property key. Have you considered consolidating these into a single block or using a more structured way to manage exclusions to reduce duplication and potential maintenance overhead when adding new versions?

🤖 Helpful? 👍/👎

public static string GetBindingDisplayString(this InputAction action, int bindingIndex, InputBinding.DisplayStringOptions options = );
public static string GetBindingDisplayString(this InputAction action, InputBinding bindingMask, InputBinding.DisplayStringOptions options = );
public static string GetBindingDisplayString(this InputAction action, InputBinding.DisplayStringOptions options = , string group = default(string));
public static string GetBindingDisplayString(this InputAction action, int bindingIndex, out string deviceLayoutName, out string controlPath, InputBinding.DisplayStringOptions options = );
public string ToDisplayString(InputBinding.DisplayStringOptions options = , InputControl control = default(InputControl));
public string ToDisplayString(out string deviceLayoutName, out string controlPath, InputBinding.DisplayStringOptions options = , InputControl control = default(InputControl));
DontIncludeInteractions = 4,
DontOmitDevice = 2,
DontUseShortDisplayNames = 1,
IgnoreBindingOverrides = 8,
protected System.UInt32 stateOffsetRelativeToDeviceRoot { get; }
OmitDevice = 2,
UseShortNames = 4,
BufferedBytes = 256,
Constant = 1,
NonLinear = 16,
NoPreferred = 32,
NullState = 64,
Relative = 4,
Variable = 2,
Volatile = 128,
Wrap = 8,
public System.UInt32 bit { get; set; }
public System.UInt32 offset { get; set; }
public System.UInt32 sizeInBits { get; set; }
public InputControlLayout.Builder.ControlBuilder WithBitOffset(System.UInt32 bit);
public InputControlLayout.Builder.ControlBuilder WithByteOffset(System.UInt32 offset);
public InputControlLayout.Builder.ControlBuilder WithSizeInBits(System.UInt32 sizeInBits);
public System.UInt32 bit { get; }
public System.UInt32 offset { get; }
public System.UInt32 sizeInBits { get; }
public System.UInt32 stateOffset;
public System.UInt32 deltaStateSizeInBytes { get; }
public System.UInt32 buttons;
public bool GetStateOffsetForEvent(InputControl control, InputEventPtr eventPtr, ref System.UInt32 offset);
public System.UInt32 sizeInBytes { get; set; }
public System.UInt32 sizeInBytes { get; }
public static System.UInt32 updateCount { get; }
public const System.UInt32 AutomaticOffset = 4294967294;
public const System.UInt32 InvalidOffset = 4294967295;
public System.UInt32 bitOffset { get; set; }
public System.UInt32 byteOffset { get; set; }
public System.UInt32 version { get; }
public System.UInt32 version;
public System.UInt32 stateSizeInBytes { get; }
public const System.UInt32 InvalidId = 0;
public System.UInt32 id { get; }
public System.UInt32 parentBoneIndex { get; set; }
public System.UInt32 customSize;
public System.UInt32 samplesAvailable;
public System.UInt32 samplesQueued;
public System.UInt32 frequencyHz;
public System.UInt32 maxBufferSize;
public System.UInt32 numChannels;
public System.UInt32 frequencyHz { get; }
public System.UInt32 maxBufferSize { get; }
public System.UInt32 numChannels { get; }
public HapticCapabilities(System.UInt32 numChannels, System.UInt32 frequencyHz, System.UInt32 maxBufferSize) {}
public System.UInt32 samplesAvailable { get; }
public System.UInt32 samplesQueued { get; }
public HapticState(System.UInt32 samplesQueued, System.UInt32 samplesAvailable) {}
public PrimitiveValue(System.UInt16 value) {}
public PrimitiveValue(System.UInt32 value) {}
public PrimitiveValue(System.UInt64 value) {}
public static PrimitiveValue FromUInt16(System.UInt16 value);
public static PrimitiveValue FromUInt32(System.UInt32 value);
public static PrimitiveValue FromUInt64(System.UInt64 value);
public static PrimitiveValue op_Implicit(System.UInt16 value);
public static PrimitiveValue op_Implicit(System.UInt32 value);
public static PrimitiveValue op_Implicit(System.UInt64 value);
public System.UInt16 ToUInt16(System.IFormatProvider provider = default(System.IFormatProvider));
public System.UInt32 ToUInt32(System.IFormatProvider provider = default(System.IFormatProvider));
public System.UInt64 ToUInt64(System.IFormatProvider provider = default(System.IFormatProvider));
public System.UInt64 handle { get; }
public InputUserAccountHandle(string apiName, System.UInt64 handle) {}
public FourCC(char a, char b = , char c = , char d = ) {}
public static string ToHumanReadableString(string path, InputControlPath.HumanReadableStringOptions options = InputControlPath.HumanReadableStringOptions.None, InputControl control = default(InputControl));
public static string ToHumanReadableString(string path, out string deviceLayoutName, out string controlPath, InputControlPath.HumanReadableStringOptions options = InputControlPath.HumanReadableStringOptions.None, InputControl control = default(InputControl));
public class InputStateHistory<TValue> : InputStateHistory, System.Collections.Generic.IEnumerable<UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue>>, System.Collections.Generic.IReadOnlyCollection<UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue>>, System.Collections.Generic.IReadOnlyList<UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue>>, System.Collections.IEnumerable where TValue : struct, new()
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> this[int index] { get; set; }
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> AddRecord(UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> record);
public System.Collections.Generic.IEnumerator<UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue>> GetEnumerator();
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> RecordStateChange(UnityEngine.InputSystem.InputControl<TValue> control, TValue value, double time = -1d);
public struct Record : System.IEquatable<UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue>>
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> next { get; }
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> owner { get; }
public UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> previous { get; }
public void CopyFrom(UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> record);
public bool Equals(UnityEngine.InputSystem.LowLevel.InputStateHistory<TValue> other);
public System.UInt16 buttons;
public System.UInt16 clickCount;
public System.UInt64 handle;
public SteamHandle(System.UInt64 handle) {}
public static System.UInt64 op_Explicit(UnityEngine.InputSystem.Steam.SteamHandle<TObject> handle);
")]
// Api scraper seems to be unstable with fields with default values, sometimes "= 0;" appears (locally) and sometimes (on CI) doesn't.
[Property("Exclusions", @"1.0.0
public int negative = 0;
Expand Down
Loading