An amusing story of how we almost killed our product

5
(2)
9 min read
1364 views
An amusing story of how we almost killed our product
webdev01
By Stanislav Osipov
April 13, 2022

Unity is one of the most popular game engines in the world. Now our team creates plugins that are used by hundreds of thousands of Unity developers. But when we’ve just started, we made a huge mistake, which, fortunately, led us to a great experience. So let’s talk about the situation that almost crashed our careers.

Successful start

There are two ways to create games or applications in Unity. You can write all the code yourself, which is very long and difficult. Or you can use ready-made plugins. These are packages with a set of development, design and other tools that you can just download and straight forward use in the game. Those plugins help to use all the parts of the project as playing with a constructor.

To simplify the development process, Unity created its own Asset Store (as an analogy of the App Store for iPhone), where developers posted and sold their plugins so others would not waste time and use ready-made solutions for their tasks.

At the same time, my colleagues from the KAPPS team and me started developing such plugins for Unity. We are developers. This means that no one but us better understands how to create products that will make developer’s life easier.

Our plugins really made us well-known around the community. Soon, we became one of the top 5 teams by downloading at the global Asset Store. The most popular of our plugins are Ultimate Mobile Pro, iOS Native Pro, Android Native Pro.

Therefore, the support of the Asset Store recommended us for Unity users itself. Because of this, such famous companies as Moon Studios and OneSignal asked us to help with their development. And we successfully work with them to this day.

But just as in every good story, right when we became popular among Unity users, we made one of the biggest failures in our career.

Loss of control and money

We started working on plugins as soon as they appeared in Unity. Back than we didn’t have that much of a experience, so we thought we were doing everything right. But at some point, the process started to snowball. And here’s why.

The creation of the plugins looks like this:

  • you create plugins and upload them to the store;
  • other developers download and use them;
  • if something does not work, they write reviews or requests to fix it.

Everything here is just like in any other service: you get feedback and start doing everything to improve the situation. So we have been releasing new plugins and at the same time have been fixing everything that users asked us about.

Meanwhile, the competition and the demands of our audience were growing. We were shown a problem – we solved it, we were given a request – we fixed it. But again due to lack of experience, it had turned out that our plugin architecture was really bad. We worked fast and tried to quickly deliver fixed products, but forgot about the quality of the original code.

At that time, we launched twelve plugins for general use, which we were “renewing” all the time. It took a lot of effort, and, of course, money. And we realized two things:

  • Fixing all the problems people complain about is unrealistic. It’s easier to just rewrite everything.
  • The financial costs of supporting and developing the project went beyond what we have earned at the Asset Store.

Basically we had earned $ 5-7k a month from plugins sales. And exactly the same amount was paid to developers to fix bugs. This is an perfect example how bad code and bad architecture “killed” a really good product – our plugins. We did not cover the cost of product development. And it could not go on like this.

Difficult decision

So we made a very difficult decision. We stopped the current developing processes. We took a break, removed all our old plugins from the Asset Store and started writing new ones. It all took about a year. Every day we were writing new products from scratch. But this time it was different: it was a clean code and good architecture.

Product quality

The effect was amazing. After we rewrote the products, it became 10 times cheaper to maintain them! Whereas in the beginning our developers spent days fixing problems, now it takes several hours a week.

Previously, plugin support cost us $ 7-10k, but now it costs only $ 800. After this incident, we have learned forever that the correct architecture, clean and well-thought-out code will help us to develop the product way easier, cheaper and better. This principle applies to any job, project, or career.

Always put quality first. Then you do not have to redo the work and spend money on fixing errors that could have been avoided and therefore there would be no need to risk your reputation.

How helpful was this article?

Average rating 5 / 5. Vote count: 2

No votes so far! Be the first to rate this post.

about the author
Stanislav Osipov
CEO, Co-founder
Meet Stanislav Osipov, CEO of KAPPS. He has over eight years of experience in the game dev industry as a Unity developer, designing solutions for multiple game dev leaders, like One Signal and Moon Studios. Besides, he worked as ECS Developer in Unity Technologies, contributing to Project Tiny, UI Elements, UI Builder projects.

Recent Articles

9 min read
1113 views
Nadia Rakovska
By Pavel Klymentenko
October 30, 2023

How test tasks for junior developers being reviewed in KAPPS

If you are a junior developer and you decide to apply to our company, first of all, you will have an interview...
10 min read
4063 views
webdev01
By Pavel Klymentenko
July 25, 2022

Recruitment during the war

How to successfully recruit IT specialists during wartime: our experience Even in peacetime, IT recruiters had...
6 min read
1097 views
webdev01
By Pavel Klymentenko
June 24, 2022

Nunu Spirits x KAPPS

One of the recent projects we’ve created was in partnership with an amazing team of Nunu Spirits. What challen...
17 min read
798 views
webdev01
By Stanislav Osipov
March 28, 2022

War stories

The war took us by surprise: someone heard the first explosions at home, and someone learned the terrible news...
3 min read
1417 views
webdev01
By Pavel Klymentenko
March 15, 2022

We stand with Ukraine

The war has found each of us in different positions and situations. But we’re all united by our willingness to...
16 min read
1613 views
webdev01
By Stanislav Osipov
February 3, 2022

Improving a Unity project: what is ECS and is it worth using it... Improving a Unity project: what is ECS and is it worth using it in development

Today, there is plenty amount of information about how well Unity ECS performs compared to MonoBehaviour. But ...