// Overview
Crowd Cheer System is a ready-made solution for rendering large, lively crowds in Unity URP - with no rigged characters and no CPU load. The crowd is drawn on atlas-textured planes and animated entirely on the GPU in an HLSL shader, so it holds performance even on standalone VR (Meta Quest) and mobile.
In version 2.0 the asset went from „just a shader" to a full scripting system: one scene-level component drives the whole crowd, and waves and jumps fire from a key, a UI button, a collider or any gameplay event - no code required.
This is my own product, built from scratch and released under the Serwus Studio label. It is a separate piece of work from the crowd shader I wrote for Revocure - different project, different implementation.
// Demo / Showreel
// Key features
// Gallery
// My role
- HLSL shader - design and implementation of the atlas crowd shader with GPU animation, La Ola wave, clip bounds and full material-parameter control.
- Scripting system - component architecture (CrowdManager / CrowdController / CrowdWaveTrigger) and runtime API, using MaterialPropertyBlock instead of instancing materials.
- Tooling - custom inspectors with in-Play-mode effect previews, so the whole thing can be set up without touching code.
- Optimization - profiling and tuning for standalone VR (Meta Quest) and mobile - keeping the frame budget with a large crowd.
- Product - two demo scenes (Concert, Stadium), prefabs, materials, EN + PL documentation, and publishing to the Unity Asset Store and Fab.
- Maintenance - supporting the asset after release: both Unity input backends (legacy and the new Input System) are handled behind preprocessor switches, so the package drops into a Unity 6 project without the customer having to touch it.
The tool the buyer actually uses
CrowdManager collects every crowd plane in the scene - 42 in this stadium - and pushes global settings to all of them at once. Wave direction, speed and width, jump height with propagation and per-unit delay, distance fade and quality profiles are all exposed as sliders. The separate CrowdWaveTrigger fires a wave from a key press, a collider zone or a UnityEvent, with a cooldown. Labels are bilingual EN/PL, and the inspector warns that play-mode-only buttons do nothing in edit mode.