Hi, I'm Ruben from TheGamedev.Guru
Fellow game developer
Nowadays, it’s easier and cheaper than ever to buy huge asset packages from the Asset Store and toss them into your game. High-detailed landscapes, a multitude of characters, high bit-rate soundtracks and PBR materials are among the most popular.
And it’s easy to see why we do this — to offer the engaging gameplay that our users demand.
But, there is a hidden cost of implementing that much content into your game.
Adding more content explodes the download size and increases the loading times of your game. And we all know that players really hate waiting.
Yet, as more and moreo assets are loaded it doesn’t take too long before your game puts critical memory pressure on the device. What happens next is irreversible: the OS kills your application just before your players can save their game.
The result: players requesting refunds, negative reviews, lost sales and stress.
Resource-heavy assets are preventing players with legacy devices from enjoying your game. And bad reviews are hurting your reputation and your wallet.
So what can you do about this? Reduce asset quality?
Well, quality is one of the features that people were looking for in your game in the first place. You’re not doing them a favor by sacrificing quality for playability. Doing that only ruins their experience.
Ok, so how about you maintain an updated device blacklist? Well, that is just painfully time-intensive, not to say tedious, and this keeps excluding players.
BUT there is a way.
I recently ported a very famous PS4 game to Oculus Quest. This is what it meant:
But, my journey to achieving this feat was NOT a smooth path.
I first looked at achieving the port using the conventional asset management approaches. Let’s examine them.
Traditionally speaking, there are three main ways of dealing with asset management in Unity.
Unity Resources API
Load on demand from the Resources folder
Additive Scene Loading
Structure your content into scenes and load them as needed
Prepare asset packages in advance and load them on demand
These three methods have their pros and cons, but they all have something in common: they’re incredibly costly at different points of the game development cycle.
So how do the AAA studios do it? What’s their secret?
AAA studios regularly deliver high-performing, stunning-quality assets to an endless market.
Nintendo, EA, Ubisoft, ID, Guerrilla and others all have almost unlimited budget and talent to accomplish this. AAA studios spend millions of dollars in tools, pipelines and talent.
It is not uncommon to see beautifully crafted graphics running on lower spec-hardware. Years of continuous dedication in automated pipelines and exclusive developers dedicated to the smallest of the tasks allow just that.
But, you don’t have the budgets or human resources of AAA game companies.
This was the challenge I faced at the start of 2019 when I wanted to port a famous and demanding PSVR game to a tiny VR platform (yes, we’re talking about Oculus Quest).
I needed to reduce memory pressure by 50%, increase rendering performance and at the very least, maintain (if not enhance) the games’ visuals.
It was daunting.
I was working late into the night, using the best of my skills, but I just couldn’t make it work. The numbers didn’t add up. Not by following the traditional asset management workflows. I didn’t have the budget or time to accomplish my mission.
I’ll admit, the frustration I was feeling was starting to show to those around me. I was short-tempered and not pleasant to be around.
But I kept pushing, because I knew we, game developers, are here to pull off impossible feat. We are here to surprise our players.
And that’s when a new hero spawned on my screen.
THE ADDRESSABLES PACKAGE
What’s that? I thought.
I had not heard of it before, and despite its lack of documentation, I managed to see the only keyword I needed — Indirect References.
So I rolled up my sleeves and got to work. Prototype after prototype; all of them succeeded in delivering what I needed to port the game successfully.
Namely, having full control over when I loaded the big assets that my players expected for great gameplay.
I have to say, Unity hired an excellent team to develop this powerful API, because it combines:
Addressables is a beast of a package. And if you can learn to tame that beast, you’ll take your game to the next level.
Lower Loading Times
Meet your players’ requirements on loading times
Tiny Iteration Times
Massively reduce editor play and deploy times
Eradicate Memory Pressure
Target more devices Reduce crashes
Sell Your Next DLC
Plan, produce and ship your DLC with almost zero effort
Cure the technical issues plaguing most of the games made today.
Cure the pain of your users’ gameplay.
…And remove negative reviews.
When I shared the results I got with friends and colleagues, they naturally wanted to know how to do it. But, how could I explain to them what had taken me 6 months to learn by trial and error?
It was a problem.
Unfortunately, the Unity developers are incredibly busy improving the overall package, and the Addressables documentation is still very much lacking. Only after a long period of grinding, as I did, could others sharpen their skills enough to get to the production level they wanted.
Then it struck me — it was possible to achieve the kind of results I was getting if I applied the 80/20 principle to my knowledge. The Pareto law enabled me to distill the most useful aspects of Addressables into a simple to follow set of instructions, that meant I could help others share in my techniques.
And now I want to make the instructions available to you.
So, here I present you the best piece of content I ever created. A course carefully crafted with one unique goal in mind: to secure you instant gains in your game right from the start.
You’ll be gaining 80% of the Addressables benefits by just spending 20% of the time on it.
My course will show you how to:
And this is the map of the journey you and I are about to go on…
It is time for you to level up.
Prices do not include VAT, if applicable
I'm a videogame programmer who's led and/or shipped several titles on Steam, PS4, Switch and Oculus Quest, including Star Trek Bridge Crew, Time Stall, Catan Universe, Carcassonne, Diamond Dash and at least 10 more, accounting for more than 30 million players worldwide.
In my free-time I write blog posts and craft courses based on my hands-on wide industry experience. I'm also an expert blogger in places such as Gamasutra and GameDev.net.
Ever since I started developing games with Unity about 10 years ago, I witnessed several key turning points in technology that greatly changed the way I worked.
Additive scene loading was a paradigm switch for me, just like scriptable rendering pipelines also was.
This is the last shift I experienced: Addressables. It changed my workflows so much that I decided to write a course on it to help you leveling up your development skills.
I am very proud of the course that I have put together, but don’t just take my word for it. Here’s what previous students have said about the course and my coaching.
It’s thanks to Ruben and his really well structured blogs that I was able to first of all understand these and then also to transform my whole project to Addressables in record time.
He looks at so many angles and even has been available to personally help with additional questions I had. I can only applaud his passion and willingness to share as this is what in my eyes moves game-dev forward for all of us, helping us to reach more professional levels easier and more confident.
His new blog posts are always an instant read for me.
Allow me to begin by saying I am a happy customer, it was a lovely course on Addressables!
After requesting additional content on integrating Mirror Networking with Addressables, Ruben went as far as to add a lesson about it.
Ruben: if you ever make another course, please do hit me up with an e-mail!
The knowledge and passion Ruben has for optimization is to be admired.
I highly recommend his course.
I am a artist and not very skilled in technical things to properly optimize a project in Unity. I know some bits and pieces but definitely not enough to do it properly. Rubén was very helpful with that. Especially by going through things directly on my project with Teamviewer. That way, he could make quick changes while explaining to me what and why he is doing them. I also got a lot better understanding on how to use the built-in Profiler from Unity and other tools. Last but not least, I am very happy that he offers this 1:1 coaching at all, because I can read through tons of articles and lists of possible improvements, and still not understand (or be able to apply) the different steps to my very own project. The 1:1 coaching, with my own project, was definitely not only a time- and money-saver for this project, but also gave me a much better understanding on what to consider for future projects. Rubén is very efficient, professional and has great skills to boil down complex information into chunks that are easy to understand and apply. I can highly recommend him!
I want to let you know that I appreciate all the posts you wrote. They really helped me grasp the true power of the addressables package.
I used to struggle a lot with memory consumption, crashes, high cpu usage etc.. and your content helped me overcome a lot of obstacles.
I signed up to the course you’ve created and finished several chapters already and am very excited to keep reading
Before signing up for this course, I used to frantically search Unity Answers, Forums, Documentation, and YouTube for relevant information, but there just weren’t many useful information around regarding new Addressables System.
I decided to your course on Addressables because, well, you were pretty much the only one who’s trying to help and make new system easier to implement to other developers.
One thing I know now about Addressables is that it is a very efficient system compared to Asset Bundles or any other previous system in terms of loading and updating assets.
I will be applying addressables for both of our current project and future project to improve development cycle as well as Live Ops for our players.
Ruben is deeply knowledgeable about every aspect of Unity development.
He figured out the issue I had been struggling within minutes.
His expertise is worth any price.
Now, if you have the time, you probably can piece Addressables together by yourself, just like I did. But, I am offering to save you all that extra time and heartache in figuring it all out for yourself.
I’m so pleased with the course, and how comprehensive it is, that I feel confident in offering you a 30-day satisfaction guarantee. If you don’t get the benefits that I promise in 30 days, then send me an email to firstname.lastname@example.org and I’ll send you a full refund. And I offer this because I’m sure you’ll love it.
As the saying goes — if you want different results, then you have to try different things. Commit today to learning a new approach to high-performing game asset management.
You can start getting results this week, click on the button below to order now.
Yes, I want to get:
You are fully protected by my 100% Satisfaction-Guarantee.
If you don't get the benefits that I promised you by 30 days, just send me an e-mail to email@example.com and I'll send you a full refund.
I often hear the same concern: is it production-ready?
My answer is always the same: Addressables is as production-ready as Unity itself. I’ve shipped commercially successful games using this powerful API.
You’ll probably find bugs, but most of the times, if not always, you’ll find acceptable workarounds.
Personally speaking, I only had one major drawback regarding duplicated assets in memory. That one took me 2 hours to solve using the Addressables Profiler.
The API is relatively stable now, but I understand some of you might be concerned of possible changes.
Well, that’s also the case for most of the Unity API. Every time I upgrade my Unity version, I get a new juicy set of deprecation warnings that I have to fix. I expect this to be less of a problem with Addressables.
Here, you have the advantage of Addressables being a small API. On top of that, you have the guarantee that I’ll be refreshing the Addressables course to reflect future changes.
No matter what, you’ll be safe
I prepare this course with the 80/20 rule in mind to give you results in matter of hours, even if you never worked with the Addressables package.
Of course, this depends on your development skills and also on how your game is structured.
Personally speaking, I have upgraded legacy and complex projects to Addressables relatively quickly.
But if you want to squeeze all the juice from Addressables, you can extend this journey well over 20 hours
Yes, you can. In fact, I’ve shipped a multiplayer game on Oculus Quest entirely based on Addressables and Photon.
I prepared a section to help you making the necessary changes for Addressables to play nice with Photon.
That’s up to the tool creator to add support to it.
I’ll be gradually adding content to the course after its release to cover the tools you demand the most.
Of course, you’ll not be charged for any new content. You’ll always get free updates.
If you do not know programming and do not have programmers to help you at hand, then do not take this course. There’s little to be done on the programming side, but you’ll need some basic knowledge on programming.
But, if you work in a team of any size with a programmer, then you should totally sign up for it. I encourage you to go even further and share it with your colleagues.
You see, Addressables can be seen as team sports. This package requires collaboration between all members to gain the most out of it. Artists and designers have to be aware of the basic Addressable properties and set them so programmers can make the most of this technology.
An example workflow looks like this:
The documentation is work in progress, meaning there’s too much room to misinterpretation and making mistakes.
I want to save you from those.
You’ll absorb my experience in real production projects.
For this blog to happen and reach users, I had to create my own company.
Running the company has costed me 200+ hours and well above 3.000 EUR: the half of the budget in marketing, about 400 EUR in paperwork and the rest in technology and licenses.
To continue I definitely need to cover the expenses.
Individual blog posts are great to give you my fine-grain knowledge on specific topics.
But posts lack the high-level overview, the bigger picture that shows everything connects together to craft a final product as a whole.
A course gives me the space to offer you all of the missing pieces.
This is a digital course that I’m hosting on this website through an e-learning platform.
You’ll receive your login details within a few hours after purchasing it.
Oh, and feel free to share your account with your work colleagues (up to 5 people).
Is anything unclear?
No problem, send me an e-mail to firstname.lastname@example.org and I’ll add your question to this section within a day.
P.S. The unique information you can find in my course can easily save you months of trial and error if you try to learn it by yourself. Why not apply this knowledge now? Imagine what progress you could game with your game in the next weeks when you apply the lessons. Why not take the extra room and resources you free up to implement fun gameplay for your players? Don't forget, it's risk-free!