godotengine / godotengine/godot

GraphEdit in the editor scales GraphNodes according to editor scale but not positions, leading to broken display at scales different than the design scale

Open
#98,513 6 comments 6 reactions 0 assignees View on GitHub
bug confirmed topic:editor topic:shaders topic:visualscript
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

Godot 4.3 Stable

### System information

Windows 10 64, Godot 4.3 Stable, Forward+

### Issue description

Godot Engine does not respect the grid of visual nodes (in shaders or other graphs) if the UI scale has changed. It is crucial for public projects or games developed by multiple people on different screens. Or even if a single person tries to work on a desktop (100% scale) and laptop (150-200% scale).

### You made a node graph, when your system is at 100% scale, it looks clean:
![Godot_Visual_Shaders_Bug](https://github.com/user-attachments/assets/dfd5555c-0217-48e9-aa3e-b8b0ee076238)

### With 150% scale, nodes are mashed together:
![Godot_Visual_Shaders_Bug2](https://github.com/user-attachments/assets/e068ead6-c6cf-42b6-9f17-f985f5b920ba)

### With 200% scale, it gets even worse:
![Godot_Visual_Shaders_Bug3](https://github.com/user-attachments/assets/78da3312-59b0-4cc4-835c-93de1459e808)

The solution is not just change sizes of nodes themselves, but also make them respect the grid (and reorganize accordingly).

### Steps to reproduce

1. Use system scale of 100% (and/or editor scale of 100%)
2. Make a visual shader with several nodes aligned in a grid, save it
3. Change UI scale (in the system or in the Godot Editor), relaunch
4. Grid is now messed up completely

### Minimal reproduction project (MRP)

You can try my graph from here: https://github.com/ArseniyMirniy/Godot-4-Free-Color-Correction-and-Screen-Effects-Visual-Shader

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.