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

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
AstonJ
Probably more of a mid-sized team than small indie, but has gone viral after gameplay footage was released (which they did to attract mor...
New
AstonJ
This makes me want to watch the Mandalorian!
New
New
First poster: bot
The gaming firm is accused of using its market dominance to impose extra charges and drive up prices.
New
GiuseS84
Hi guys, I’ve developed a free game on Google Play Store, could you tell me what you think? The game is called “Structures: a building p...
New
RobertRichards
FEI Equestriad World Tour This game is mainly developed to amuse horse racing lovers. What makes this game quite engaging is the realist...
New
m0dE
Modd.io is a collaborative game editor that runs in the browser. It’s like Figma for game dev. We made this engine low-code and multipla...
New
HuntzUdwn
Hello everyone, I am a Student at CSUDH and was wondering about how to become a game developer. I would like to contact a developer and a...
New
AkilarLiao
Hello Devtalk Community, I’m sharing a GPU-Driven Procedural Grass System for Unity URP, heavily optimized for mobile. Key Features &amp...
New

Other popular topics Top

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
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
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
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New