godotengine / godotengine/godot
SubViewport's descendant tool nodes do not receive input in editor
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
4.0.stable
4.3.stable.mono
4.4.dev7
### System information
Godot v4.3.stable.mono - Arch Linux #1 SMP PREEMPT_DYNAMIC Fri, 27 Dec 2024 14:24:37 +0000 - Wayland - Vulkan (Forward+) - dedicated AMD Radeon RX 6600 (RADV NAVI23) - AMD Ryzen 7 9700X 8-Core Processor (16 Threads)
### Issue description
Tool Nodes under a SubViewport do not receive input in the editor. Nodes which are not descendants receive input. When the scene is run then all nodes receive input.
Expected behaviour: All tool nodes receive input in the editor.
### Steps to reproduce
An MRP is included. It loads a scene as a plugin. When a node with an attached script receives key input it will print the node's name and the event received.
1. In the editor press a key
2. Note that SubViewport and ControlContainer print output
3. Clear the output
4. Open and run test.tscn
5. Press a key
6. Note that SubViewport, ControlContainer and ControlSub print output
https://github.com/user-attachments/assets/dbf27f6b-dd85-4887-b4c8-97964f239c7f
### Minimal reproduction project (MRP)
[input_test.zip](https://github.com/user-attachments/files/18269579/input_test.zip)
Contributor guide
Research direction
Start by opening the attached input_test.zip reproduction and running test.tscn in the editor. Compare the key-input output from SubViewport, ControlContainer, and ControlSub with the output when the scene is run. Done means descendant tool nodes such as ControlSub receive editor input as described in the expected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100