Asset-Driven Game Development and Why You Should Avoid It

It seems like buying assets can save you a lot of efforts and do only good, isn't it?

When looking at the assets in the Unity Store, it might be very tempting to buy one or two to reuse it in your game’s development. And it seems like this could save you a lot of efforts. There’s only one answer to this – don’t do it! From our previous articles, it was made clear that games are all about the integrity of the player experience. And this is the main reason why all game- and art-related assets will never work for your project if you are serious about releasing it. In this post, CTO and Co-Founder of Knocknock Games Pavel Shylenok will tell you about the origin of ready-made creations, all the pitfalls of using them and rare exceptions when they can be a great contribution. So let’s begin!

 

Types of Assets on the Unity Store

First of all, let’s speak a bit about how genre-framework assets get in the store. For the most part, there are three cases:

 

  1. Half-baked work coming from indie developers who failed to complete a game, and, in an attempt to make at least something of their efforts, they release buggy-something on the store and are trying to sell that. Such assets usually contain unorganized code, written using only MonoBehavior without any development patterns. These works are rarely classified as “quality”, so you will just end up spending a ton of time fixing other person’s bugs.
  2. Assets that were extracted from the games previously released to the market. It is almost the same as the first case – a company releases a game and then loses money because the game is not selling well. They try to make at least something and start selling the resources and game code in pieces. At first, it might be tempting to base your work on the contents that have the quality of a market-ready product, but it is yet another huge misleading. Here’s why:
    1. No one will ever sell good-quality code with the game mechanics that are interesting to players – only failed products get to the stores, so why you should base your work on them?
    2.  If there’s already a product like yours on the market, what makes you think another clone will achieve commercial success? Even if you’re planning to create a clone, it should have brand-new mechanics. And working with third-party code (sometimes even without access to the sources) makes it extremely difficult to develop new mechanics without severe refactoring as games are never developed with reusability in mind.
  3.  Assets created from a bunch of tutorials. Some people release creations, which they try to advertise as “game constructors”. We won’t tell much about this case as, again, truly interesting games can’t be created from a typical set of code, with a ”Golden Hammer” syndrome. It’s not a piece of code that makes a game interesting, it is integrity.

 

There’s another section in Unity called content assets, which mostly present textures, models, particles and all other sorts of content. They have a similar destiny as code-based ones. For most parts, they are the products of failure and come from unsuccessful concepts, 3d modeling tutorials, unreleased projects, etc.

 

There’s another section in Unity called content assets, which mostly present textures, models, particles and all other sorts of content. They have a similar destiny as code-based ones. For most parts, they are the products of failure and come from unsuccessful concepts, 3d modeling tutorials, unreleased projects, etc. We suggest avoiding those at all costs unless you really know what you are doing. And here’s a brief explanation why.

Have any questions?

Ask us

Why You Should Avoid Using Store Assets

As we mentioned previously, a game is a product that should have integrity, meaning that characters, levels, environments, menus and effects should have the same unique visual style. What are the odds ready-made assets will contain all of the above to assemble an entire game from it? You’re right! None!

 

Most creations you can find on the store have a very limited amount of objects, e.g. a typical medieval village asset contains a couple of trees, 4-5 houses, 2-3 types of a road and some other minor ones if you are lucky. Now just think about it: what are the chances of finding character’s models to match the medieval village? What about medieval caves, medieval cities, other environments that your game will likely contain? You won’t be able to find all of those on the store and there’s a chance that your artist will not be able to recreate the asset’s visual style, and you’ll end up with another failed product.

 

Most creations you can find on the store have a very limited amount of objects, e.g. a typical medieval village asset contains a couple of trees, 4-5 houses, 2-3 types of a road and some other minor ones if you are lucky.

 

Another topic is the quality of assets, it’s a big one, so we’ll just briefly touch on it. What is the most important part of each game development project? Right, it’s optimization. The problem is that it is highly genre-dependant. It means that first-person shooters have different optimization tasks compared to, let’s say, strategy games. So, if the asset developer created it with an FPS game in mind, there’s a 99% chance that the asset won’t work for your Clash-of-Clans-like game, because you will need a different approach to optimization (e.g. lower polygon count, no LODs or even trimmed faces for fixed-camera games, etc.).

 

One of the real-world examples of using third party art assets from online stores (not only from Unity’s) is trying to create a new movie out of cuts or deleted scenes from the previous movies. Would you watch it? I’d rather not. It is the same with games as it’s hard to expect much from a game that is essentially a puzzle, assembled from the pieces found all over the internet.

 

 

Useful Store Assets: Do They Exist?

So, are all the assets found in the store bad? Well, not, of course, there are some really good ones that you can safely use in your projects, but those should have as narrow and dedicated functions as possible. In that case, you will be able to save time. These are some good examples of how store works can be used in your game’s development:

 

  1. Input management assets. Unity’s input system is far from best, to say the least, so it is really hard to use it in production, especially if you have a cross-platform project with different inputs: keyboard, gamepad, mouse, touch controls. And what if you have a local multiplayer game and need to support several players/gamepads for a single console? Luckily, there are some really good creations that help you save a ton of time by providing an additional layer of input management.
  2. Audio management assets. Maintaining audio data is a separate discipline, especially when you have tens of thousands of files. There are assets that can help you automate and optimize your work with sound resources. But since the task of assets management is more intimate (i.e. game-dependant), you need to be careful with your expectations as no assets will give you bundle management you might need out of the box. However, it is worth noting that Unity’s own sound engine provides great management capabilities, including Audio Mixer and Snapshots, which is enough for most games.
  3. Specific assets might also work for you. For example, if you have an open world game, you could find a use for terrain management creations, but that’s also a point to consider.

 

HINT: Also, keep in mind that Unity Technologies is mostly interested in a wide audience and tries to get rid of (recently quite successfully) ill-famed “Engine for beginners and hobbyists” by extending their platform. So they purchase companies standing behind really useful high-quality assets and embed them into Unity Platform. Examples are Cinemachine and TextMesh Pro. Right now, a new Input System package is available for preview as well.

 

In the article, we explained the origin of the majority of assets on the store, the most possible pitfalls of using them and provided you with some cases of their safe usage in game development. Whatever way you decide to go with third-party recourses, always follow this advice: never consider using a third-party tech for the parts of your game that form the core experience mechanics!

Latest news