Skip to content

CHANGE: Rework Core Platforms Menu scene used for internal testing#2405

Open
Pauliusd01 wants to merge 10 commits intodevelopfrom
rework-scene-menu
Open

CHANGE: Rework Core Platforms Menu scene used for internal testing#2405
Pauliusd01 wants to merge 10 commits intodevelopfrom
rework-scene-menu

Conversation

@Pauliusd01
Copy link
Copy Markdown
Collaborator

@Pauliusd01 Pauliusd01 commented Apr 7, 2026

Description

Reworks the menu scene visuals, adds a search bar, adds the feature to auto fill the list with relevant scenes and improves gamepad controls. (You need to hold Start to go back to the main menu using the gamepad)

image

Testing status & QA

Run the menu scene and try loading the samples/qa scenes in playmode and build

Overall Product Risks

  • Complexity: Low
  • Halo Effect: Low

Comments to reviewers

N/A

Checklist

Before review:

  • Changelog entry added.
    • Explains the change in Changed, Fixed, Added sections.
    • For API change contains an example snippet and/or migration example.
    • JIRA ticket linked, example (case %%). If it is a private issue, just add the case ID without a link.
    • Jira port for the next release set as "Resolved".
  • Tests added/changed, if applicable.
    • Functional tests Area_CanDoX, Area_CanDoX_EvenIfYIsTheCase, Area_WhenIDoX_AndYHappens_ThisIsTheResult.
    • Performance tests.
    • Integration tests.
  • Docs for new/changed API's.
    • Xmldoc cross references are set correctly.
    • Added explanation how the API works.
    • Usage code examples added.
    • The manual is updated, if needed.

During merge:

  • Commit message for squash-merge is prefixed with one of the list:
    • NEW: ___.
    • FIX: ___.
    • DOCS: ___.
    • CHANGE: ___.
    • RELEASE: 1.1.0-preview.3.

@Pauliusd01 Pauliusd01 changed the title CHANGE: Rework Core Platform Menu scene used for internal testing CHANGE: Rework Core Platforms Menu scene used for internal testing Apr 7, 2026
u-pr[bot]

This comment was marked as resolved.

@codecov-github-com
Copy link
Copy Markdown

codecov-github-com bot commented Apr 7, 2026

Codecov Report

Attention: Patch coverage is 12.19512% with 36 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Assets/Tools/AddScenesToBuild.cs 12.19% 36 Missing ⚠️
@@             Coverage Diff             @@
##           develop    #2405      +/-   ##
===========================================
+ Coverage    77.92%   78.13%   +0.21%     
===========================================
  Files          482      483       +1     
  Lines        97755    98769    +1014     
===========================================
+ Hits         76175    77175    +1000     
- Misses       21580    21594      +14     
Flag Coverage Δ
inputsystem_MacOS_2022.3 5.34% <ø> (-0.22%) ⬇️
inputsystem_MacOS_2022.3_project 75.34% <12.19%> (-0.03%) ⬇️
inputsystem_MacOS_6000.0 5.31% <ø> (-0.03%) ⬇️
inputsystem_MacOS_6000.0_project 77.23% <12.19%> (-0.04%) ⬇️
inputsystem_MacOS_6000.3_project 77.23% <12.19%> (-0.04%) ⬇️
inputsystem_MacOS_6000.4 5.31% <ø> (-0.03%) ⬇️
inputsystem_MacOS_6000.4_project 77.24% <12.19%> (-0.04%) ⬇️
inputsystem_MacOS_6000.5 5.30% <ø> (-0.04%) ⬇️
inputsystem_MacOS_6000.5_project 77.27% <12.19%> (+<0.01%) ⬆️
inputsystem_MacOS_6000.6 5.30% <ø> (-0.04%) ⬇️
inputsystem_MacOS_6000.6_project 77.27% <12.19%> (-0.01%) ⬇️
inputsystem_Ubuntu_2022.3_project 75.24% <12.19%> (+0.07%) ⬆️
inputsystem_Ubuntu_6000.0 5.31% <ø> (-0.03%) ⬇️
inputsystem_Ubuntu_6000.0_project 77.14% <12.19%> (+0.07%) ⬆️
inputsystem_Ubuntu_6000.3 5.31% <ø> (-0.03%) ⬇️
inputsystem_Ubuntu_6000.3_project 77.13% <12.19%> (+0.06%) ⬆️
inputsystem_Ubuntu_6000.4 5.32% <ø> (-0.03%) ⬇️
inputsystem_Ubuntu_6000.4_project 77.15% <12.19%> (+0.06%) ⬆️
inputsystem_Ubuntu_6000.5 5.31% <ø> (-0.04%) ⬇️
inputsystem_Ubuntu_6000.5_project 77.18% <12.19%> (+0.09%) ⬆️
inputsystem_Ubuntu_6000.6 5.31% <ø> (-0.04%) ⬇️
inputsystem_Ubuntu_6000.6_project 77.18% <12.19%> (+0.10%) ⬆️
inputsystem_Windows_2022.3 5.34% <ø> (-0.22%) ⬇️
inputsystem_Windows_2022.3_project 75.46% <12.19%> (-0.03%) ⬇️
inputsystem_Windows_6000.0 5.31% <ø> (-0.03%) ⬇️
inputsystem_Windows_6000.0_project 77.36% <12.19%> (-0.03%) ⬇️
inputsystem_Windows_6000.3 5.31% <ø> (-0.03%) ⬇️
inputsystem_Windows_6000.3_project 77.35% <12.19%> (-0.04%) ⬇️
inputsystem_Windows_6000.4 5.31% <ø> (-0.03%) ⬇️
inputsystem_Windows_6000.4_project 77.36% <12.19%> (-0.04%) ⬇️
inputsystem_Windows_6000.5 5.30% <ø> (-0.04%) ⬇️
inputsystem_Windows_6000.5_project 77.40% <12.19%> (+0.01%) ⬆️
inputsystem_Windows_6000.6 5.30% <ø> (-0.04%) ⬇️
inputsystem_Windows_6000.6_project 77.40% <12.19%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
Assets/Tools/AddScenesToBuild.cs 10.00% <12.19%> (+10.00%) ⬆️

... and 7 files with indirect coverage changes

ℹ️ Need help interpreting these results?

@Pauliusd01
Copy link
Copy Markdown
Collaborator Author

@u-pr can you check that all issues were resolved? Note that some had to be skipped such as:

Intrusive scene suspension -- Intentional design choice. Blocking raycasts alone doesn't prevent scenes from processing their own InputActions, so disabling root objects is necessary for the overlay to work reliably.

Editor namespace in non-Editor folder -- Invalid concern. Assets/Tools/ has an asmdef with "includePlatforms": ["Editor"], so it's already Editor-only.

@u-pr
Copy link
Copy Markdown
Contributor

u-pr bot commented Apr 7, 2026

I've reviewed the latest changes against the feedback provided in the comments and your notes on skipped items. It appears that all identified issues have been addressed or clarified:

✅ Resolved Issues

  • Scrolling Logic Inversion: The signs in SceneMenu.LateUpdate have been corrected (lines 123 and 128) so the viewport now moves in the intended direction when navigating with a controller or keyboard.
  • Persistent EventSystem Handling: SceneMenu.SetupEventSystem was updated (lines 161–168) to only destroy the internal [OverlayEventSystem], leaving global/persistent EventSystems from other managers untouched.
  • UI Selection Timing: In ReturnToMenuOverlay.SetPanelVisible, you've implemented the SelectNextFrame coroutine (lines 156, 161) to ensure the Return to Menu button is correctly selected after the EventSystem is activated.
  • LateUpdate Efficiency: Added a HashSet<GameObject> m_ButtonSet in SceneMenu (lines 63, 105, 636) to perform O(1) lookups instead of the previous O(n) check every frame.
  • Memory Leak: Added an OnDestroy method to SceneMenu (line 90) that explicitly destroys the procedurally generated m_RoundSprite and its texture.

⏭️ Skipped (As per your notes)

  • Intrusive Scene Suspension: Accepted as a design necessity to ensure the overlay captures input reliably across diverse test scenes.
  • Editor Namespace in Assets/Tools/: Validated that the existing asmdef correctly limits this folder to the Editor platform, preventing build errors.

🤖 Helpful? 👍/👎

@ekcoh
Copy link
Copy Markdown
Collaborator

ekcoh commented Apr 7, 2026

Think I found an issue:

Run the sample

  1. QA Tools > Open Core Scene Menu.
  2. Press "Play" in editor.

Clicking the top-left sample takes me to that sample scene but "Menu" button in top-left corner doesn't take me back. It looks like some dialog is shown but "behind the current UI" where the dialog and the sample UI is fighting so I cannot click the dialog.

Or is the design intended to be so that you need to hold mouse button down after pressing Menu, then move to dialog with button down and then click your choice? In that case it works as expected.

Copy link
Copy Markdown
Collaborator

@ekcoh ekcoh left a comment

Choose a reason for hiding this comment

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

Nice, added a suggestion since I didn't like the clashing overlays due to no camera being active. Apart from that, looks much better and setting things up programatically had a great impact on reducing size (rows removed is great).

Added a note on unexpected behaviour (having to hold mouse button while navigating overlay instead of toggle)

Copy link
Copy Markdown
Collaborator

@MorganHoarau MorganHoarau left a comment

Choose a reason for hiding this comment

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

Minor change requested.

Not a fan of building entire uGUI from script, but good enough for internal testing.

Looks great, but haven't tested locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants