godotengine / godotengine/godot

Edge case behavior in Project settings search

Open
#96,884 1 comment 0 reactions 0 assignees View on GitHub
discussion topic:editor
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

4.3stable

### System information

Windows 10

### Issue description

I'm not sure if this is a bug, or all this behavior is intended.

When using the Project Settings filter search box to search for an advanced setting, and the `Advanced Settings` toggle is `off`:
- The setting is found. **This is good.**
- The text box with the full name of the setting, and the tools to set overrides, is not shown. **I don't know if this is intended.**
- If you select a page and the setting itself, then clear out the search box, the setting disappeared. **This seems bad.** My use case was to search for a setting, then check its page to see if there are related settings that might matter, so I cleared the search box, then the setting I found disappeared.

I don't know what the right behavior for this is, though. The current behavior seems mostly intentional. It's good to surface advanced settings if searched for, even if the toggle is off. It's obviously good to only show advanced settings if the advanced settings toggle is on. But it interacts into a confusing edge case here.

I suppose we could switch on the advanced settings toggle for the user, especially if one of the advanced settings is *changed* during the search. Or we could display any changed advanced settings, even if the toggle is off. But that would create another case of "disappearing settings" if the setting is reverted.

Maybe none of this really matters, since turning on advanced settings is just correct for anyone seriously using the engine.

### Steps to reproduce

Turn off the `Advanced settings` toggle.
Search for an advanced setting, like `Anisotropic Filtering Level`. Navigate to the `Textures` page.
![Godot_v4 3-stable_win64_4EaHcJbX44](https://github.com/user-attachments/assets/4f2136c3-b3ef-4bdc-a642-c729dd5a34b9)

Observe that the setting is found. Observe that the panel with the full text name of the setting and overrides is not shown. Select the setting. Clear the `Filter Settings` search box. Observe that the Textures page is still selected, but now the setting we are looking for is gone.

![Godot_v4 3-stable_win64_cnbRZMheFV](https://github.com/user-attachments/assets/54b902ea-8dec-489e-ad5d-9f526d84ce1c)

Turn on the `Advanced settings` toggle. Observe that the panel with the full text name of the setting and overrides is shown:
![Godot_v4 3-stable_win64_0Hv1QOO1Fa](https://github.com/user-attachments/assets/e18d6008-cef4-4fae-b0a4-d91e0fccaee9)

### Minimal reproduction project (MRP)

N/A

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in the Project Settings UI using the Filter Settings box, the Advanced settings toggle, and the Textures page. Start by tracing how filtered advanced settings and the selected setting are handled when the search is cleared. Done means the intended behavior is defined and the confusing disappearance or visibility behavior is resolved without breaking advanced-setting filtering.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.