godotengine / godotengine/godot

Per Instance Uniforms Silent Erroring

Open
#108,151 1 comment 0 reactions 0 assignees View on GitHub
bug platform:android platform:web topic:rendering
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

4.5 dev5 and 4.5 beta1

### System information

Godot v4.5.beta1 - Manjaro Linux #1 SMP PREEMPT_DYNAMIC Sun, 29 Jun 2025 07:02:15 +0000 on Wayland - X11 display driver, Multi-window, 1 monitor - OpenGL 3 (Compatibility) - NVIDIA GeForce RTX 3060 (nvidia; 575.64) - AMD Ryzen 9 9900X 12-Core Processor (24 threads) - 30.44 GiB memory

### Issue description

When using per Instance Uniforms on mobile (Quest 3) or Web, strange issues occur with no warnings. On Quest, some of the MSDF atlas based labels I have created flicker. On the web they display as though there was no uniform set. In the MRP you can see how labels appear correct in the editor, but when exporting for web, only some of them will render correctly. (And far less than the 1024 global uniform buffer limit should be, since there's only around 50 labels)

Editor:
![Image](https://github.com/user-attachments/assets/f96d439c-9d2c-4146-b332-dbbe05c1d494)

Web:
![Image](https://github.com/user-attachments/assets/3973324a-c5fe-41bb-90e8-8f844782cea1)

### Steps to reproduce

Download below MRP and export for web, notice that multiple labels show the same word due to the per instance uniform failing.

### Minimal reproduction project (MRP)

[Instance Unifrom Bug.zip](https://github.com/user-attachments/files/20987303/Instance.Unifrom.Bug.zip)

Apologies, this isn't the cleanest MRP ever, I just took the bare minimum for my label rendering to demo the issue.

Contributor guide

Open the contributing guide

Research direction

Start by downloading the attached minimal reproduction project and exporting it for the web, then compare the output with the editor result described in the issue. Investigate the per-instance uniform path for the MSDF labels across Web and Quest 3, and verify the fix by ensuring the labels render their distinct words consistently and failures no longer occur silently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.