Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Performance Issues: High SetPass Calls per SuperTextMesh (even with shared material)

A topic by MinhPc273 created Mar 21, 2026 Views: 225 Replies: 3
Viewing posts 1 to 4

Hi,

I’m currently using the latest version of Super Text Mesh and noticed a performance issue related to rendering.

Each SuperTextMesh object generates its own SetPass Call, even when all instances are using the exact same material. This results in SetPass scaling linearly with the number of text objects (e.g., 20 texts → ~20 SetPass Calls).

This becomes a significant performance concern, especially on lower-end devices or when many text elements are active at once.

The issue becomes much worse when:

  • Using the Ultra shader
  • Enabling effects like Outline
  • In these cases, both CPU usage and FPS drop noticeably.

Are there any recommended ways to reduce SetPass Calls when using multiple SuperTextMesh instances?

Are there plans for batching or optimization improvements in future versions?

Developer (1 edit)

Hello!


This could be something potentially fixed by an update I haven't released yet... (Enabling batching with the Ultra shader) If you'd like to try this version, please send me an email (with the address on my website) with your invoice no.! It would be a huge help,  (especially if you happen to be building for android) but I really need to test this update more to make sure enabling batching won't break effect rendering before sending it out!


As a secondary option, try the Universal shader, add an "STMMaskableGraphic" component to your UI object, and then add an "Outline" component. This is Unity's standard outline method for UI objects and the STMMaskableGraphic component lets it work together with STM so I'd expect it to perform a bit better since it's much simpler. (I'm also due to attempt a clean-up of the Ultra shader again, I got very close to removing many unnecessary calculations, but there were one or two I couldn't find a way around and ran out of time I had so I had to revert it all)

Okay, I hope to receive the update from you soon.

Developer

Please send me an email with the invoice info if you can! I'll try to get back to you tomorrow with the build