AkilarLiao

AkilarLiao

Building a Cross-Platform GPU Procedural Grass System in Unity URP (Optimized for Mobile)

Hello Devtalk Community,

I’m sharing a GPU-Driven Procedural Grass System for Unity URP, heavily optimized for mobile. Key Features & Challenge: This system handles Procedural Generation and implements precise ViewFrustum, Distance, and FilterMap Culling entirely on the GPU. However, I faced the common mobile hurdle: SSBOs being unstable in the Vertex Shader on low-end hardware. My Solution: To ensure robust cross-platform stability, I bypassed the unstable SSBO path. The Compute Shader now writes instance data (including culling results) to a RenderTexture (UAV), which is then sampled by the final shader. Seeking Expert Opinion: This RenderTexture method guarantees stability, but introduces potential texture cache overhead. Is this the most practical performance/stability trade-off for commercial URP Mobile development today?

I’m keen to hear your critical thoughts. — Full Technical Breakdown (Including implementation details on Culling):

Source Code (GitHub):

Most Liked

AkilarLiao

AkilarLiao

Just to close the loop on this thread:

The discussion influenced how the system evolved,
especially regarding cross-platform stability and GPU-only workflows.
I later summarized the technical reasoning and lessons learned in this write-up:

The same approach has since been packaged into a Unity tool for practical use:

Where Next?

Popular Game Dev topics Top

PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
Margaret
Hello game developers. I’m an editor at The Pragmatic Bookshelf. I have a book by our own Tammy Coron on Native Apple Game Development wi...
New
bot
A new item has been posted: This thread was posted automatically, if you feel it could be in a better category and are at Trust Level ...
New
AstonJ
I’m beginning to think the Series S is going to be game-changer for Microsoft and figures for the gen ending up with a lot of people buyi...
New
AstonJ
This makes me want to watch the Mandalorian!
New
Jsdr3398
I just had a random thought come to my head: is there something like pygame for Elixir? Would Elixir be better or worse for game dev?
New
First poster: bot
Develop for Playdate. It’s yellow. It fits in your pocket. There’s a crank. It comes with 24 free games to get you started. Say hi to Pl...
New
LoL_Sam
Hey everyone! My name is Sam and I represent Legends of Learning - a platform for game based learning in schools, and a marketplace for ...
New
First poster: bot
TL;DR unreal-rust allows you to write games with Unreal Engine in Rust. unreal-rust is an opinionated Rust integration for Unreal. Rust ...
New
First poster: bot
Friday Facts #370 - The journey to Nintendo Switch | Factorio. We have a long history of trying to bring Factorio to other platforms, in...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1063 24245 395
New
PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
PragmaticBookshelf
From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an ...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New
PragmaticBookshelf
Escape callback hell and ship fast, clean code that reads as smoothly as it runs. Squash bugs and stamp out memory leaks with an intuitiv...
New