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
AstonJ
Not sure how much I missed but: Anyone else been watching it?
New
First poster: bot
Sony Unveils ‘Spatial Reality Display’ with Eye-tracking for Glasses-free 3D Viewing. Sony recently unveiled Spatial Reality Display, a ...
New
AstonJ
This makes me want to watch the Mandalorian!
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
mollyerin
Which operating system should I choose for gaming? I’ve been using Windows since I started, but now I’m wondering about switching to Luni...
New
AtlantiaKing
Watch the trailer here: More info available on our steam page here: Don't Forget on Steam Don’t Forget is a 3D singlepl...
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
axenteflorin24
In this clip, is present final design of scene and realistic multicolor bullets. In the next video (approximate 2025 or 2026) is presente...
New
First poster: Eiji
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

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
xiji2646-netizen
There’s a GitHub repo at forrestchang/andrej-karpathy-skills that’s sitting at 97.8k stars. It’s a single CLAUDE.md file with four behavi...
New