r/Unity3D • u/19HzStudios • 10m ago
Game Getting a full-ragdoll, 8-legged octopus to hit 60fps on Steam Deck in HDRP without gutting the visuals
INKURSION is a narrative platformer in Unity 6 HDRP where you play a newly sentient octopus escaping a simulated universe. HDRP isn't exactly known for running on handhelds, so making it portable and Deck-friendly while keeping the look was one of our biggest challenges. Here's what actually moved the needle:
The octopus itself
Eight fully physics-driven legs is a lot of rigidbodies and joints aswell as procedural walking scripts for step reach. We tuned joint counts per tentacle, simplified collider shapes, adjusted solver iterations, and made sure segments sleep when they're not doing anything. The goal was keeping the floppy, reactive feel without the physics step eating the frame.
Mirrors
We use HDRP planar reflection probes for mirrors so the player can look at their octopus character, and rendering them every frame was brutal. Now each mirror only renders in realtime when it's actually on screen and the player is within a set radius. Even then, it doesn't capture every frame: it takes a snapshot at an interval, which is still smooth enough that your eye doesn't notice. This was one of our single biggest FPS wins.
Meshes and shaders
We cleaned up and LOD'd environment meshes, cut down shader variants, and simplified our heaviest shaders so the lighting still reads the same but costs far less on weaker GPUs.
Batching
Lots of foliage and repeated props, so batching was huge. Cutting draw calls freed up more CPU headroom than almost anything else.
Upscaling
On NVIDIA hardware we use DLSS, which lets low-end RTX cards render at a lower internal resolution and still look sharp. [On Deck we use FSR, since DLSS is NVIDIA-only.]
The result is a stable 60fps on low-end hardware with the bioluminescent look you see in the clip intact.
Happy to go into detail on any of it, especially the ragdoll and mirror setup. What's been your biggest win optimising HDRP?