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):

First Post!

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

First poster: bot
It’s been confirmed that E3, the biggest video game event in the world, is set to go ahead this year. Instead of its usual Los Angeles l...
New
First poster: bot
Stride is an open-source C# game engine for realistic rendering and VR. The engine is highly modular and aims at giving game makers more ...
New
New
New
New
gulshan212
Hello this is Gulshan Negi Well, I have developed a program in C++ to print a man (reference taken from here). On the attached site, I a...
New
RobertRichards
The quality of gaming has already received a terrific boost with the arrival of next-gen AR (Augmented Reality), VR (Virtual Reality), an...
#vr
New
grlnwrld
Founder, Barcelonam Spain I am looking for web game devs with experience in Javascript / React and backend (Dynamo/GraphQL) for a Gamifi...
New
bic
Hello everybody :slight_smile: I’m making a tool with the goal to help creating branching dialogues for game development. I want to make...
New
First poster: AstonJ
It’s well known that video games today are disposable pieces of slop. Modern multiplayer games tend to fall into one of two categories: t...
New

Other popular topics Top

AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
AstonJ
Or looking forward to? :nerd_face:
498 13326 269
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
New
New
First poster: AstonJ
Jan | Rethink the Computer. Jan turns your computer into an AI machine by running LLMs locally on your computer. It’s a privacy-focus, l...
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New