Human-written article

From 70 to 100+ FPS: How a Solo Dev Overhauled a Game with URP & DOTS

From 70 to 100+ FPS: How a Solo Dev Overhauled a Game with URP & DOTS

TL;DR: Benjamin Creusot, solo dev behind One Boss One Fight, rebuilt his survivor game for v2.0. He switched from HDRP to URP in a week, gaining 20 FPS in his main town, from 70 to 90 or 100+. He pairs MonoBehaviour bosses with ECS creatures using Unity DOTS, jobs, Burst, and ISystem structs for performance.

I recently came across a Reddit post by a solo developer who managed to pull off something incredibly impressive: a complete v2.0 overhaul of their game, including a full render pipeline migration and a deep dive into Unity's high-performance tech stack.

Today, we're talking to Benjamin Creusot, the creator behind One Boss One Fight, a survivor game with a heavy focus on MMO-style boss encounters.

Benjamin's journey involved moving from HDRP to URP and implementing Unity's Data-Oriented Technology Stack (DOTS). If you are a student wondering about the real-world performance of ECS or how to move a project between pipelines, this war story is for you.

Migrating from HDRP to URP

The Question: Moving from HDRP to URP in a week sounds like a headache. What was the biggest gotcha during that move?

Benjamin: "The switch was more annoying than difficult. The biggest hassle was the amount of shader / material you have to change. Also because my game has a lot of spells and combinations of spells, there was a lot of checking to do. I didn't use a lot of custom features of HDRP so no issues on this front. I think it's much harder to switch from URP to HDRP. Even though, with the direction HDRP is taking I would not advise to do so.

But there were two big gains from switching to URP. First, is you gain access to a lot more packages in the Unity Asset Store to handle specific things like Outlines for example. Second, is you gain a big boost in performance. I was not using HDRP to its full potential (lighting, fog etc.), so I didn't lose much in terms of quality but gained a solid 20 fps (going in my main town from 70 fps to 90 or 100+)."

One Boss One Fight screenshot 1

Bridging MonoBehaviours and ECS

The Question: How do you get your ECS creatures to talk to your MonoBehaviour bosses? (My students always struggle with that bridge!)

Benjamin: "Most of the stuff related to creatures needs to be optimized as much as possible, so job + burst + ISystem struct. But in order to transfer orders from MonoBehaviour to the ECS creatures, I use transition classes. For example, I have a SystemBase class in ECS whose role is to listen to Events sent from the MonoBehaviour side and update different buffers / components on the main thread which will be handled by other pure ECS ISystem structs."

One Boss One Fight screenshot 2

Solving the Animation Problem in ECS

The Question: Why did you go with the Rukhanka plugin instead of the native Unity tools?

Benjamin: "Unity doesn't handle natively animations in ECS so there is not really a choice here. Either you buy a plugin from the Asset Store or you code something yourself. Rukhanka is amazing and the dev is very responsive on his Discord if you have an issue."

One Boss One Fight screenshot 3

Solo Developer Productivity and AI

The Question: As a solo dev, are you using stuff like Copilot or AI tools to speed things up, or are you doing it all by hand?

Benjamin: "I don't have AI plugged directly into my IDE but I use some AI in order to bootstrap some classes or quickly browse the doc."

One Boss One Fight screenshot 4

How to Get Hired as an Indie Game Artist

The Question: What was it about your artist's portfolio that made you say "this is the one"? My artist students are always asking what actually gets them hired by indies.

Benjamin: "It's a very personal choice but it's a mix between the previous work the artist has done and the price the artist is asking. As a solo dev, it's quite difficult to spend let's say $10k in a Steam capsule. Budget is always a factor. My artist was a new artist which had only done one game project but I really loved the artwork and his prices were in my budget so I went for it."

Managing Assets and Collaboration

The Question: Did having a second person force you to clean up your Prefabs or asset pipelines?

Benjamin: "I work on this project solo so no second person. The artist only did the Steam Capsule and marketing artworks."

Technical Summary for Learners

Based on this interview, here are three high-level takeaways for your own projects:

Performance over Pride: Do not be afraid to move to a different render pipeline if it provides a significant boost in frame rate. Performance is often more important for player retention than high-end visual features that are not being fully utilized.

The Hybrid Approach: You do not need to rewrite your entire game to see the benefits of DOTS. Bridging traditional MonoBehaviours with ECS via SystemBase is a highly effective way to handle large-scale entity counts. (We dive deeper into these hybrid architectures in our mentorship program if you're looking for 1-on-1 guidance).

Community and Tooling: Unity’s ecosystem includes lots of third-party plugins (e.g. for ECS animation) on the Asset Store. Separately, developer communities like Discord are where you go for help and to talk to plugin authors—they’re not part of Unity, but they’re where a lot of that support happens.

Support the Developer

Play One Boss One Fight on Steam: Store Page

Check out the game website: onebossonefight.com

Want more technical deep dives? Subscribe to the DarkoUnity Blog for more war stories from the Unity frontline.