godotengine / godotengine/godot
Shader instance parameter is not removed from inspector immediately when it's no longer a instance
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
Master
### System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 () - 11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz (16 Threads)
### Issue description
When debugging https://github.com/godotengine/godot/issues/90936, I noticed that when change the `Vector2Parameter`'s qualifier from `Instance` to `None` , the value is still present under `Instance Shader Parameters` where it should not, unless manually de-select the mesh instance and select it again.
See the gif below, also note when changed to `None`, the parameter is also present under `Shader Parameters` immediately, which is expected.

### Steps to reproduce
See the above description and gif.
### Minimal reproduction project (MRP)
Same as https://github.com/godotengine/godot/issues/90936
Contributor guide
Research direction
Start by reproducing the behavior on master using the steps and GIF in this issue, then read the related issue #90936 for context. Trace the Godot inspector's shader parameter handling when a Vector2Parameter qualifier changes from Instance to None. Done means the parameter disappears from Instance Shader Parameters immediately without reselecting the mesh instance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100