Search Unity

“First of all, don’t start with the mentality “I have to do everything myself, I’m an indie”. Sometimes it’s good to learn. But if you say that over and over again it starts to be destructive,” says Alejandro Garza, the CEO of start-up studio Authentic Illusions.

The Authentic Illusions team is full of PhD researchers in the field of Artificial Intelligence. So the studio has no lack of programmer talent. But that doesn’t mean that they love coding their games from scratch and they’d like to share the reasons why.

Alejandro Garza thinks that indies often believe that they have unlimited time, but forget to factor in their own living costs. “What’s worth it in the end is finishing your game. If you’re completely out of money, you won’t finish it”. He sees many crowdfunding campaigns that are setting themselves to fail by asking for too little money.

He suggests that when you decide to add a new functionality, you should always first consider your own skills. Can you code it yourself? Do you have something in your old work you can base this on?

Then you need to consider the value of your own time and how much of it is going to be taken by the development of the plug in. “If it’s going to take a week and a week of your work is worth 300 dollars, you should see the project in that perspective. But experienced project managers know that it’s hard to put together an accurate estimate, it’s necessary to include a buffer for unexpected delays,” warns Alejandro.

If you decided that buying a plugin is more cost effective, do some research before buying. Consider how well documented the different options are and how much time will you spend integrating them. Read comments and reviews and make sure to take other people’s experiences into account.

“I have not yet stumbled across badly documented assets, but I know it can happen. You just need to do a little research before paying. Of course, even very good assets take a little time to integrate, but so do assets that you develop yourself,” he points out.

When the budget of your project is zero, the equation might look very different. “If you don’t have any money at all and need the assets right now, there’s really nothing else to do but get cracking. But when you have a budget, even a small one, you should really remember to take your own wages into account”.

In the beginning, it’s good to learn by developing from scratch and not think too much about the time spent on the project. But to have this attitude throughout the whole development process of a commercial game is extremely risky. “It might be sheer arrogance that will end up costing you your game,” warns Alejandro. For example, you can lose some valuable promotion opportunities by not being able to put something together to a deadline.


Authentic Illusions are happy to show they prototypes externally, because they feel it’s important to get feedback from people as soon as possible. With the Asset Store, they saved a lot of time and effort programming, but they also use 3D models for prototyping. “Being able to have the prototype up and running is really great. Even just internally, showing the artist what you had in mind can be extremely valuable. But externally, having something up and running that looks good, that’s indispensable”.

Even though the placeholder art has helped the team a lot, editor extensions are still their favorite category. “Obviously the first one would be NGUI, it is great. But seeing the new tools, maybe it will be redundant, let’s see!”

Another favorite is Editor Console Pro, which is a great way to customize your scripting workflow. “For example, if you want to print out the steps that each class is performing, it shows them all, in different colors as you want them. It’s super useful for debugging”.

Advanced PlayerPrefs Window is an example of a game functionality that they decided to buy on the Asset Store instead of developing themselves. It’s a little console with all the player preferences that you can modify on the go. It saves quite a bit of time, which is extremely valuable, especially considering it only costs $10.

Alejandro’s radiating with optimism about the future of the team as well as the Unity ecosystem. The team is developing a 2D tool for the Asset Store, but they’re also thinking about how to use Unity for their research. “In the end, if you work on AI, you don’t want to use many different systems to build and test your project. Unity is an awesome platform to bring everything together and run it right away,” he says.

The Authentic Illusions team is collaborating with Arbor Sheep, an art studio, on a 2D side scrolling puzzle adventure called REalM.


24 replies on “Should I do it myself, or use the Asset Store?”

[…] Should I Do It Myself, or Use the Asset Store? […]

I do use the asset store because they have some rely nice toolkits like suimono and terrainkit, but when it comes to characters i do prefer to make them myself. One reason you can see on the oculus rift horror games. I dont know how many times i have seen that black haired woman from Dreadhals. As a player you wil get bored when the same characters pops up al the time. But of course i gladly use models from asset store to insignificant parts of the game (filling the gap), thow i try to avoid the most common characters that are used. Nature models is something i use allot from the asset store, but i am very picky about graphics and must sometimes re texture them.

My point is that asset store has some realy nice toolkits and are perfect to help you with the not so important stuff, but some of the models can get “used up”

I’ve spend a fair amount of money on the asset store, some things have been great, some sucked. I wish Unity would dedicate some resources to testing these assets and extensions themselves, work with the top devs to improve their assets and make some sort of “certified by Unity” system that makes it easier for us to pick the best assets.

Plenty, I’d say. I spent more than the pro license on assets. Many developers are the same. You’d say that not all of the 2M registered devs are actually working on something to finish and show, but those who are, they are purchasing it.

I wonder how many users (out of the published 2M registered devs) actually purchased (or are willing to purchase) assets from the asset store.

I’m studying game development, that’s why I want to understand how everything work, such as 3d (modelling,rigging,animation), coding and art (already know both of this), I want to do these by myself, as I take pleasure in honing these skills.

I only consider using assets in extension and editors, as I don’t want to spend time coding a feature when a better and cheap solution is available.

Obviously, if I’m working for a client, I want to finish it fast – which means I’ll use cheap quality assets if fits right. But if it’s for my own game, I will spend more time on it. More quality time for my personal creation.

Totally agree on your last point. I tend to use asset store stuff like the graph based shader constructors (no longer really needed in Unity 5 when using standard shader and light probes). Or models that can be dropped in for placeholders or ambient scenes i.e. a barrel is just a barrel and a crate/box will always be a crate/box no matter who creates it.
The real art to making your games is where you place that box and in what context. Is it perched on a ledge waiting to fall on the unwary adventurer etc. etc.
I will tend to use assets that are for things I can’t do myself or couldn’t do in a reasonable time frame. I will never use assets as a quick fix solution. They have to be necessary to progress the project. I always ask this question first “Am I really stuck without this asset?” 9/10 the answer will be no.

I’m all for using the Asset Store or existing solutions when they fit and are well written, but there’s two issues with pushing this too avidly.

First, I find a lot of people I work with try to make tools that are “kinda what we need” work in projects and it just ends up being buggy, complicated, spaghetti code. Also, often what we need would literally be 50 – 200 lines of code if we wrote it ourselves, but the library or asset does way more than we need and is many thousands of lines of code. To me that makes bugs more likely and tougher to find/fix.

Second, I find there’s a lot of tools that don’t actually make anything easier, but just add another layer that slows down your code and adds to the risk of bugs. And all these tools do is try to make something perfectly fine mimic something else that the author thinks is “easier” because they are more familiar with it. I can’t think of any examples on the Unity Asset Store, but this is how I view things like CoffeeScript and jQuery.

These recommended editor assets should be built into editor. It’s sad we have to buy it. Unreal4 would come with these useful handy features built in.

I think the “do it yourself” vs. “buy it off the store” is an endless debate.

The key takeaway from this post, and for using the asset store, is DO YOUR HOMEWORK! As with any technology that you evaluate for purchasing, you must check that it suits your needs, easy to use, “approved” by other users who have used it to their satisfaction, can provide support when needed, etc.

Some assets will be probably be awesome, and some will probably suck.

I do agree with some of the said above regarding the fact that for core-APIs of the game, it may feel like “stitching” things together when building your game systems from different assets made by different people.

I guess there may be certain types of assets that lend themselves to easier integration (e.g: editor extensions, workflow-enhancement tools, artwork, etc).

What interests me is how well do assets on the asset store sell (if most of them sell at all). My guess is that it’s the same as other “app stores” – few assets get all the heat, while the others get very little or 0 traction.

With all that being said, as a developer, I will always prefer to look for assets that suit my needs on the Asset store (and even sell my own assets there).

I love the Asset Store, I’m almost addicted to it.

In my mind, if the Asset Store has a package on it that directly fulfills a requirement that you have, get it.
By not choosing something made on the Asset Store, and going with your own solution, you’re not only saying that you have unlimited time, you’re also assuming that you are as (or more) experienced than the creator of the Asset in that particular field.

David above me has summed it up pretty nicely – even if you use the Asset Store, it doesn’t mean you learn nothing – often it means you learn the right way to do something, the first time!

For those who say “I’d rather do the whole game from scratch” I say, good… less competition for me. As someone who’s no longer in their twenties, I’ve had the do it yourself mentality and found that bragging rights only get you so far… And no matter what method you use, you gain a lot of experience – whether it’s using what someone else began or using what you begin. There’s nothing wrong with saving time, or using someone else’s starting point. There are many programmers who don’t like using Unity because they’d rather do it all in Xcode. So, if you’re on this blog than you already understand my point of view. For those people who solely use Xcode, I would say, then go all the way and don’t use photoshop either. Hard code your images! Hehe. If you’re too good for the asset store, then you must have unlimited time. I’ve learned that the best challenge isn’t how little help can you survive on, but how much help you can live off, and then do bigger and better things with. No matter what asset you buy, you’ll be learning a great deal from using it. Maybe you’ll learn a new concept, or it’ll force you to see design a different way, or reinforce code principles in a different light, or have an end users standpoint. Whatever you learn, you can use in your next game – whether it’s using the same asset or the new concepts you picked up.

People always come to me saying ‘It’s better to do it yourself’ and I answer them ‘Then write your own engine and use it.’ And for the people who tell me it is better to write my/their own engine, I tell them ‘Then write your own OS and use it to develop your own engine.’

The point is, you’ll always be using something that was written/done long before you. There is no point in acting like you are starting from dark ages, inventing writing for the first time.

A programmer may not be efficient and/or competent enough program every single aspect of the game, a 3D modeler may not be efficient and/or competent enough to model characters, buildings and props. And the team may not be able to afford to hire another person to do those for the project. I am a programmer and I see no point writing, say, nGUI from scratch, while it is already out there, working fully functional, and being updated regularly.

For prototyping, nothing is as fast and as useful as Asset Store, unless you already have your own repository. But keep in mind that most people and teams don’t have that, not yet.

on my first game i did almost everything myself, coding, modelling, rigging ect. think the only asset i used was NGUI. but now i think if its on the asset store i will probably end up using it if its good. like probuilder will definitily be my top pick for my next game a feature i personally miss from UDK

Got to disagree with you there about “for any developer looking to improve his career as a serious game developer…”. We haven’t used our own engine tech in AAA games for a while now. Frequently if you need assets like art of AI etc. etc. you bring in a specialist in that area. Even multiplayer is typically farmed out to a whole new team! What is most important for AAA “serious” game development is someone who can come in and work with this third party tech and is comfortable adding and using it.
From experience in the AAA sector I can say this. If someone were to come in and I asked them “So if you had to work with a system you haven’t written how would you feel?” I would be inclined to hire them if they told me about how they had worked with third party assets. Bought in models from third parties, did some of the work themselves but, understood time and cost management enough to know that it’s simply impractical (no matter the size of the team) to do it all yourself. If on the other hand they went for the outdated answer of “Never use em as I like to do stuff from scratch every time to learn”. That’s commendable if they were in full time education but, in the real world, that rings alarm bells for me because already you are going to be adding a lot of time to my budget with that attitude. Something that I can just plug in and customise in a few weeks is now going to take months of writing and testing and tweaking and feature adding etc. etc. just to get to the same spot.
Don’t get me wrong. The key is getting the quality assets. There are a few dogs out there on the asset store that will act as quicksand and suck in your time and effort for no gain but, these are the exception rather than the rule.

Asset store should be the last resort, imo. For casual indie devs looking to grab a quick cash without much programming knowledge, making an AI system is out of the question. But, for any developer looking to improve his career as a serious game developer, relying too much on the asset store would do more harm than good in the long run.
Sure, there are some cool apps.. but that`s about it.
There is nothing worse than a game with several apps taken from the asset store poorly stitched togather. It usually yields poor performance.
For a simple mobile game, the performance hit would be negilgible.
But for a performance-intensive game, the inconsistencies across the apps stiched togater cause lots of issues that are so hard to debug that you may as well start writing your own system.
I like Unity in general.
But I wish they would stop posting blogs promoting the Asset store. Just let the people decide.

That simplification of the indie field flatly assumes no upkeep cost – IE no salary / rent or similar cost.

One of the core points here is comparing the price of the asset vs. how much upkeep cost would accumulate in the time it would take you to produce it yourself.

If you are indeed without upkeep cost – working from home, in your spare time, with a day job, then sure your grouping makes sense. Otherwise – not so much.

I do not agree with “But if you say that over and over again it starts to be destructive”.
I use to do everything from scratch.
A bit overkilling sometime and it boosts skill as well.
There are 2 kind of indie :
1 – those looking for right income with their product with less production spending.
2 – whatever it cost, lets have fun, have more challenge, and well if lucky and good income we won’t let it pass anyway,

I agree with this article. There are many assets that are widely usable (like LOD implementations f.e.). Normaly they are cheap enough to buy anyway and when the developer is worth something, you get an asset that is perfectly usable for you for a great price.
When you buy “general” assets, you can concentrate more on your own assets without loosing to much time in reinventing the wheel.

I personally like to start many things from scratch, as I can see things myself more clear. I find out that adopting and understanding many assets takes much more time for me than to write simple logic scripts on my own.

I fully agree with this blog. I am a fully qualified software engineer but, I try to reinvent the wheel as little as possible. It’s the reason I use unity after all.

These are actually some pretty cool assets! Player Prefs especially!

I feel the asset store is decent for things like editor extensions and simple functionality Unity is missing. Personally though, any relatively important game system like camera movement, animation, AI, i couldn’t imagine using the asset store for. I want to keep my game coding vernacular consistent. Nothing sounds weirder than essentially using 4 different API’s with different logic in the same game.

Comments are closed.