I decided to do some research and write an upcoming experimental Unity feature: Scriptable Rendering Pipelines. Why? Because it concerns you, it concerns me. But do not panic. Or at least, not yet. Maybe not even next year, but it will eventually change the way you have to work. The readier you are, the better off you will be.
After working six months on the remake of Diamond Dash with Unity I can say that I learned quite a lot from the engineers at Wooga on top of self reflection. I often learned the soft way, but also the hard way. In any case, after experienced more successes than failures I present my perspective on how a great architecture could look like.
Whether you are building a Unity application or a Unity game, you are doing it from scratch or you are just unhappy with your current system, I think you would profit from reading.
Full-disclosure: a great part of the ideas and system implementations behind this document have been developed at Wooga. I mostly polished and enhanced them further so it would fit the needs of our new project and furthermore took my time to restructure it and write a blog post about it. Spread the knowledge!
Let us begin!
I bet you know already the productivity boost you get by adopting continuous integration processes, so I will roughly skip that part. But the moment you stop doing things manually you will realize how well you can focus on the work that really matters.
The main purpose of this document is to tell a story. That is the story about the steps and methodology I followed to diagnose and improve the performance of Catan Universe in mobile (iOS, Android) with important benefits to WebGL. As such, I may start by describing the relevant facts surrounding the game itself and I will conclude with general tips you may find helpful for your projects. The reader will surely be familiar with many of the hints I present, but I bet some other unknown facts will come surprisingly handy at times. All in all, I will present the techniques I used to move from virtually 0-2 FPS to 50-60 FPS in about two weeks. Indeed, it is not lots of time so managing it well was one of my priorities.
In Diamond Dash Android I received an alert because of an in-app vulnerability that is detailed here. The alert looked like this:
Your app is using an incorrect implementation of in-app billing. Please see this Google Help Center article for more information.
Affects APK versions xxxx and xxxxx.”
Oh man, not again. Let us face this issue.