Skip to content

Commit

Permalink
Merge branch 'develop' into isxb-1024-action-navigation-after-rename
Browse files Browse the repository at this point in the history
  • Loading branch information
tspiller authored Jan 7, 2025
2 parents 9d3e504 + 7536131 commit 058c932
Show file tree
Hide file tree
Showing 17 changed files with 709 additions and 278 deletions.
17 changes: 10 additions & 7 deletions .yamato/config.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,35 @@ upm_ci_install: npm install -g upm-ci-utils@stable --registry https://artifactor
platforms_win:
- name: win
type: Unity::VM
image: package-ci/win10:default
image: package-ci/win10:v4
flavor: b1.large
- name: win_standalone
type: Unity::VM
image: package-ci/win10:default
image: package-ci/win10:v4
flavor: b1.large
runtime: StandaloneWindows64
- name: win_standalone_il2cpp
type: Unity::VM
image: package-ci/win10:default
image: package-ci/win10:v4
flavor: b1.large
runtime: StandaloneWindows64
scripting-backend: Il2Cpp
installscript: unity-downloader-cli -c editor -c StandaloneSupport-IL2CPP --wait --fast -u
platforms_nix:
- name: mac
type: Unity::VM::osx
image: package-ci/macos-13:default
image: package-ci/macos-13:v4
flavor: m1.mac
instabilities_run: sh ./run_standalone_instability_detection-latest.sh macos 0.5.1 || exit 0
- name: mac_standalone
type: Unity::VM::osx
image: package-ci/macos-13:default
image: package-ci/macos-13:v4
flavor: m1.mac
instabilities_run: sh ./run_standalone_instability_detection-latest.sh macos 0.5.1 || exit 0
runtime: StandaloneOSX
- name: mac_standalone_il2cpp
type: Unity::VM::osx
image: package-ci/macos-13:default
image: package-ci/macos-13:v4
flavor: m1.mac
instabilities_run: sh ./run_standalone_instability_detection-latest.sh macos 0.5.1 || exit 0
runtime: StandaloneOSX
Expand Down Expand Up @@ -84,4 +84,7 @@ instabilities_install_win: curl -s https://artifactory.prd.it.unity3d.com/artifa
instabilities_run_win: run_standalone_instability_detection-latest.bat 0.5.1 || exit 0

instabilities_install_nix: curl -s https://artifactory.prd.it.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0
instabilities_run_mac: sh ./run_standalone_instability_detection-latest.sh macos 0.5.1 || exit 0
instabilities_run_mac: sh ./run_standalone_instability_detection-latest.sh macos 0.5.1 || exit 0

yamato_source_dir_win: "%YAMATO_SOURCE_DIR%"
yamato_source_dir_nix: ${YAMATO_SOURCE_DIR}
38 changes: 28 additions & 10 deletions .yamato/upm-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
type: {{ platform.type }}
image: {{ platform.image }}
flavor: {{ platform.flavor }}
variables:
EDITOR_VERSION: {{ editor.version }}
commands:
- {{ utr_install_win }}
- {{ upm_ci_install }}
Expand All @@ -23,17 +25,19 @@
- move /Y .\Assets\Samples.meta .\Packages\com.unity.inputsystem
- upm-ci package pack --package-path ./Packages/com.unity.inputsystem/
# Run upm-ci verification tests as well as tests contained in the package.
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u {{ editor.version }}
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u %EDITOR_VERSION%
{% if platform.name == "win" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem"
--extra-utr-arg="--coverage-results-path={{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Package" {% endif %}
{% if platform.installscript %}
- {{ unity_downloader_install }}
- {{ platform.installscript }} {{ editor.version }}
- {{ platform.installscript }} %EDITOR_VERSION%
{% endif %}
# ADBv2 on 2019.4 causes the test runner to not start on initial import when the
# samples are in the package. Move the samples back into the project.
- move /Y .\Packages\com.unity.inputsystem\Samples .\Assets
- move /Y .\Packages\com.unity.inputsystem\Samples.meta .\Assets
# Now run our full test suite that sits in Assets/Tests by running UTR on our project.
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "win" %} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "win" %} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem {% if platform.name == "win" %}--enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
after:
- {{ instabilities_install_win }}
- {{ instabilities_run_win }}
Expand All @@ -52,6 +56,8 @@
type: {{ platform.type }}
image: {{ platform.image }}
flavor: {{ platform.flavor }}
variables:
EDITOR_VERSION: {{ editor.version }}
commands:
- {{ utr_install_nix }}
- {{ upm_ci_install }}
Expand All @@ -64,17 +70,17 @@
- mv ./Assets/Samples.meta ./Packages/com.unity.inputsystem
- upm-ci package pack --package-path ./Packages/com.unity.inputsystem/
# Run upm-ci verification tests as well as tests contained in the package.
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u {{ editor.version }}
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u $EDITOR_VERSION {% if platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --extra-utr-arg="--coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Package" {% endif %}
{% if platform.installscript %}
- {{ unity_downloader_install }}
- {{ platform.installscript }} {{ editor.version }}
- {{ platform.installscript }} $EDITOR_VERSION
{% endif %}
# ADBv2 on 2019.4 causes the test runner to not start on initial import when the
# samples are in the package. Move the samples back into the project.
- mv ./Packages/com.unity.inputsystem/Samples ./Assets
- mv ./Packages/com.unity.inputsystem/Samples.meta ./Assets
# Now run our full test suite that sits in Assets/Tests by running UTR on our project.
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "mac" %} --suite=editor {% endif %} {% if platform.name == "linux" %} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "mac" or platform.name == "linux"%} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem {% if platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
after:
- {{ instabilities_install_nix }}
- {{ platform.instabilities_run }}
Expand All @@ -94,10 +100,12 @@ build_ios_{{ editor.version }}_{{ category.name }}:
type: Unity::VM::osx
image: {{ ios_and_tvos_macos_bokken_image }}
flavor: b1.large
variables:
EDITOR_VERSION: {{ editor.version }}
commands:
- {{ utr_install_nix }}
- {{ unity_downloader_install }}
- unity-downloader-cli -c Editor -c iOS -u {{ editor.version }} --fast --wait
- unity-downloader-cli -c Editor -c iOS -u $EDITOR_VERSION --fast --wait
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=iOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only --report-performance-data --performance-project-id=InputSystem
after:
- {{ instabilities_install_nix }}
Expand All @@ -117,6 +125,8 @@ run_ios_{{ editor.version }}_{{ category.name }}:
image: {{ ios_and_tvos_macos_bokken_image }}
model: SE
flavor: b1.medium
variables:
EDITOR_VERSION: {{ editor.version }}
skip_checkout: true
dependencies:
- .yamato/upm-ci.yml#build_ios_{{ editor.version }}_{{ category.name }}
Expand All @@ -138,10 +148,12 @@ build_tvos_{{ editor.version }}:
type: Unity::VM::osx
image: {{ ios_and_tvos_macos_bokken_image }}
flavor: b1.large
variables:
EDITOR_VERSION: {{ editor.version }}
commands:
- {{ utr_install_nix }}
- {{ unity_downloader_install }}
- unity-downloader-cli -c Editor -c AppleTV -u {{ editor.version }} --fast --wait
- unity-downloader-cli -c Editor -c AppleTV -u $EDITOR_VERSION --fast --wait
- ./utr --suite=playmode --platform=tvOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only --report-performance-data --performance-project-id=InputSystem
after:
- {{ instabilities_install_nix }}
Expand All @@ -160,6 +172,8 @@ run_tvos_{{ editor.version }}:
type: Unity::mobile::appletv
image: {{ ios_and_tvos_macos_bokken_image }}
flavor: b1.medium
variables:
EDITOR_VERSION: {{ editor.version }}
skip_checkout: true
dependencies:
- .yamato/upm-ci.yml#build_tvos_{{ editor.version }}
Expand All @@ -182,10 +196,12 @@ build_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
type: Unity::VM
image: package-ci/win10:default
flavor: b1.xlarge
variables:
EDITOR_VERSION: {{ editor.version }}
commands:
- {{ utr_install_win }}
- {{ unity_downloader_install }}
- unity-downloader-cli -c Editor -c Android -u {{ editor.version }} --fast --wait
- unity-downloader-cli -c Editor -c Android -u %EDITOR_VERSION% --fast --wait
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=Android --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --scripting-backend={{ backend.name }} --build-only --repository --performance-project-id=InputSystem
after:
- {{ instabilities_install_win }}
Expand All @@ -204,6 +220,8 @@ run_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
type: Unity::mobile::shield
image: package-ci/win10:default
flavor: b1.medium
variables:
EDITOR_VERSION: {{ editor.version }}
# Skip repository cloning
skip_checkout: true
# Set a dependency on the build job
Expand Down Expand Up @@ -235,7 +253,7 @@ run_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
{% endfor %} # editors

all_tests:
name: All Tests
name: All Tests
dependencies:
{% for editor in editors %}
{% for platform in platforms_win %}
Expand Down
5 changes: 4 additions & 1 deletion Assets/Tests/InputSystem/CorePerformanceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,10 @@ public void Performance_OptimizedControls_ReadingPose4kTimes(OptimizationTestTyp
"InputSystem.onAfterUpdate",
"PreUpdate.NewInputUpdate",
"PreUpdate.InputForUIUpdate",
"FixedUpdate.NewInputFixedUpdate"
"FixedUpdate.NewInputFixedUpdate",
"InputAction.Disable",
"InputAction.Enable",
"InputActionMap.ResolveBindings"
};

[PrebuildSetup(typeof(ProjectWideActionsBuildSetup))]
Expand Down
2 changes: 2 additions & 0 deletions Assets/Tests/InputSystem/Plugins/UITests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1793,13 +1793,15 @@ public IEnumerator UI_CanReleaseAndPressTouchesOnSameFrame()
.Matches((UICallbackReceiver.Event e) => e.pointerData.pointerType == UIPointerType.Touch).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.position == secondPosition));

#if UNITY_2021_2_OR_NEWER
Assert.That(scene.rightChildReceiver.events,
Has.Exactly(1).With.Property("type").EqualTo(EventType.PointerMove).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.device == touchScreen).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.touchId == 2).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.pointerId == pointerIdTouch2).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.pointerType == UIPointerType.Touch).And
.Matches((UICallbackReceiver.Event e) => e.pointerData.position == secondPosition));
#endif

// Pointer 3
Assert.That(scene.rightChildReceiver.events,
Expand Down
5 changes: 5 additions & 0 deletions Packages/com.unity.inputsystem/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,20 @@ however, it has to be formatted properly to pass verification tests.
- Fixed an issue when displaying Serialized InputAction's Processor properties inside the Inspector window. [ISXB-1269](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-1269)
- Fixed an issue with default device selection when adding new Control Scheme.
- Fixed an issue where action map delegates were not updated when the asset already assigned to the PlayerInput component were changed [ISXB-711](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-711).
- Fixed Action properties edition in the UI Toolkit version of the Input Actions Asset editor. [ISXB-1277](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-1277)
- Fixed an issue where batch jobs would fail with "Error: Error building Player because scripts are compiling" if a source generated .inputactions asset is out of sync with its generated source code (ISXB-1300).
- Fixed arrow key navigation of Input Actions after Action rename. [ISXB-1024](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-1024)

### Changed
- Changed location of the link xml file (code stripping rules), from a temporary directory to the project Library folder (ISX-2140).
- Added back the InputManager to InputSystem project-wide asset migration code with performance improvement (ISX-2086).
- Changed `OnScreenControl` to automaticaly switch, in Single Player with autoswitch enabled, to the target device control scheme when the first component is enabled to prevent bad interactions when it start.
- Changed paremeter `overrideModifiersNeedToBePressedFirst` to obsolete for `ButtonWithOneModifier`, `ButtonWithTwoModifiers`, `OneModifierComposite` and `TwoModifiersComposite` in favour the new `modifiersOrder` parameter which is more explicit.
- Changed `Samples/Visualizers/GamepadVisualizer.unity` to visualize the control values of the current device instead of the first device.

### Added
- Added new API `InputSystem.settings.useIMGUIEditorForAssets` that should be used in custom `InputParameterEditor` that use both IMGUI and UI Toolkit.
- Added ProfilerMakers to `InputAction.Enable()` and `InputActionMap.ResolveBindings()` to enable gathering of profiling data.

## [1.11.2] - 2024-10-16

Expand Down Expand Up @@ -72,6 +76,7 @@ however, it has to be formatted properly to pass verification tests.
- Fixed potential crash on Mac when using stale references to deleted InputDevice objects [ISXB-606](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-606).
- Fixed conditional compilation for non-editor analytics on platforms not enabling analytics.
- Fixed simulated touch input not working with PlayerInput component [ISXB-483](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-483).
- Fixed unused PenState information to determine the displayIndex on platforms providing it. (PLAT-10123)

### Changed
- Renamed editor Resources directories to PackageResources to fix package validation warnings.
Expand Down
1 change: 1 addition & 0 deletions Packages/com.unity.inputsystem/Documentation~/UISupport.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ The three main UI solutions are **UI Toolkit**, **Unity UI**, and **IMGUI**. The

- From Unity 2023.2 and onwards, the UI actions defined in the default [project-wide actions](./ProjectWideActions.md) directly map to UI Toolkit input. You do not need to use the UI Input Module component.</br></br>
- In versions of Unity prior to 2023.2, you must use the UI Input Module component to define which actions are passed through from the Input System to the UI.
- Refer to UI Toolkit [Runtime UI event system and input handling](https://docs.unity3d.com/Manual/UIE-Runtime-Event-System.html) for more information on how to configure UI Toolkit input.

**For [**Unity UI**](https://docs.unity3d.com/Packages/com.unity.ugui@latest), also known as "uGUI" (a GameObject and Component style UI solution):**

Expand Down
Loading

0 comments on commit 058c932

Please sign in to comment.