On the 21st of October 2016, I released my first Unity Asset Store item, a statistics plugin called Abaci. It was definitely an unprofitable venture, despite being updated with various new versions of Unity and reducing halved the price. Of course I should still do a post mortem, so here it is.
What Went Right
Development of Abaci was painless, having worked develop statistics and achievement systems for games like Homefront: The Revolution, Warface and Crysis 3, I had a great understand of what was needed and the sort of thing that’s been asked of my code before so it didn’t take long to have a decent version up and running.
Alongside the code I spend time putting together a series of interactive tutorials, showing users how the system works in a quickly through interaction. After doing lots of user testing on Polyology I was keen to keep up the tradition and took my tutorials to one of the excellent East Midlands Indies meetups, and people quickly understood the idea of the system and it’s advantages.
Finally putting together unit tests and the documentation (using Doxygen) went hand in hand. The unit tests helped develop the code samples for the documentation and writing the documentation helped me spot a few places for optimisations which in turn could be validated against the unit tests.
What Went Wrong
The idea of a statistics plugin is the biggest issue, most games don’t make good use of statistics and just track the simplest things using increment operator. There are a few games, like the lovely Alto’s Adventure (pictured below) that make great use of statistics (this game doesn’t use Abaci). It starts off asking you to collect stars and builds on it by asking you to collect stars over chasms, and then collecting staros over chasms in a single run, concepts which are easy to define in Abaci.
The other thing that went wrong was backwards compatibility, I started development of Abaci on the latest version of Unity and didn’t consider that you wouldn’t be able to open them in earlier versions of Unity. So while the code works fine in Unity 5, the tutorials and examples needed the most recent version of Unity.
I suspect Abaci will be the only toe I dip into the Unity Asset Store. It was enjoyable to write Abaci and it still gets used in my own projects. But unfortunately like most things in life, it boils down to money, and Abaci simply wasn’t profitable.