.scroll_div { -ms-overflow-style: none; /* for Internet Explorer, Edge */ scrollbar-width: none; /* for Firefox */ overflow-y: scroll; } .scroll_div::-webkit-scrollbar { display: none; /* for Chrome, Safari, and Opera */ }

Intro to Optimisation

Latest update
October 29, 2025
academy

LESSON OVERVIEW

What does optimization really mean in game development, and why does it matter so much? In this lesson, we’ll break down the concept, explain the differences between animated and static meshes, and look at what optimized assets actually look like in practice. We’ll also check out real in-game examples across different platforms to see how things have changed (and improved!) over time.

‍

WHAT IS OPTIMIZATION?

VIDEO PLACEHOLDER

Optimizing a model means making smart choices about geometry, texture resolution, and UV layout to get the most out of your asset without wasting important system and game resources. This keeps your game running smoothly, helps maintain good frame rates, and eases the load on memory and performance. The workflow used has a big impact on the amount of polygons that an assets would have, for example vertex paint etc…

But optimization isn’t just about using the fewest polygons or smallest textures. It’s all about context. Is the model for a high-end PC game, a mobile title, or a portfolio piece? Different goals demand different degree’s and techniques for optimisation.

For example, where do you need to use a normal map instead of using geometry for a nice result, is the asset going to be animated? What do I need to do to the geometry to get the best result if so?These questions are really common and are what we will explore in this topic.

‍

OPTIMIZING GEOMETRY

First, let’s explore the different types of topology optimization, the common rules that apply, when it makes sense to follow them, and the various approaches you can take.

‍

NON-ANIMATED

Meshes that won’t be animated, known as Static Meshes, are much simpler to optimize than those that include animation.

The key idea here is to only keep edges if they affect the shape’s silhouette or help with shading. If your asset is standalone and will be uniquely baked, meaning it will have its own unique UV unwrap and will not be using  you don’t need to worry too much about shading, since a normal map will handle that. That lets you focus on reducing the triangle count.

For assets like rocks that have been decimated to cut down on geometry, it’s also a good idea to go in and clean up any small triangles or faces that won’t be visible.

‍

Using a mid-poly workflow? You’ll probably need more geometry to get nice shading, since you won’t have a high-poly version to bake from. That’s okay — it’s just part of the approach.

‍

One thing worth pointing out: it’s totally fine to have an edge just for UVs. You’ll sometimes see a clean mesh with an odd edge through the middle, and that’s usually because the artist mirrored the model and overlapped the UVs to save space or arranged the UV shells in a specific way for better layout.

‍

📍 Here’s a tip! To better evaluate your mesh’s silhouette, switch your modelling software’s viewport to “unlit” mode without placing any lights in the scene. Giving a lot on contrast to your object in the environment. Helping you see the shape more clearly. Rotate around the model to examine how it reads from different angles. When you're unsure whether an edge you deleted had any real impact, toggle between modes to make the difference more obvious.

‍

<aside>📍

Another tip!

If you’re at the end of the pipeline for a single asset and want to push optimization a bit further, try thinking in this way:

  • Activate vertex mode and look for overly dense areas.
  • If the geometry doesn’t contribute to the silhouette especially at the distance it will be viewed it can likely be removed.
  • Ask yourself: Does it really need geometry, or could it be handled with a texture instead? For example, small surface details on flat areas are often better suited to normal maps or baked textures.</aside>

‍

ANIMATED MESHES

When it comes to animated meshes, optimization follows a different set of rules. These models typically require a higher polycount with evenly distributed topology, often favouring quads over triangles, though this isn’t always mandatory. This structure helps ensure smoother deformations and makes the rigger’s job easier during the skinning process. Often times there is also more density around the area’s that will see a lot of deformation compared to other area’s. Think a character’s shoulder for example.

However, not all animated meshes need the same level of complexity. Consider the type of movement the object will perform. A rigid robot, for example, doesn’t need a dense mesh to animate convincingly. In contrast, soft, flexible assets, like cloth, bags, or plush toys, will benefit from carefully planned geometry that allows for natural stretching and bending. In these cases, a higher tri-count is often justified.

‍

‍

📍 Ask yourself: Does this geometry need to do something?
If it’s not needed for animation, doesn’t help define the silhouette, isn’t used for vertex painting and isn’t improving the way light and shading behave on the surface — chances are, you don’t need it.

‍

As with static meshes, don’t be afraid to experiment. Try removing edges or simplifying areas. If it changes the model too much, you can always undo it. The goal is to keep things clean, purposeful, and efficient.

‍

LODs

VIDEO PLACEHOLDER

LODs, standing for Levels of Detail, help keep your game running efficiently by swapping in simpler versions of a model when it’s farther from the camera. Instead of rendering the full-detail mesh, the engine uses a lower-poly version — often paired with a smaller texture map — to save on performance.

This reduction in texture size is part of a technique called mip-mapping, which we’ll dig into a bit later.

Your fully optimized main model is called LOD 0, sometimes referred to as the Base LOD. Every simpler version after that is labelled LOD 1, LOD 2, LOD 3, and so on. Each one tries to keep as close to the original shape as possible until, eventually, the model might become a simple flat plane called a billboard.

There’s no hard rule for when your model switches between LODs. It depends on factors like the asset’s size, its placement in the scene, and how important it is visually. Typically, games use around five LOD levels, but smaller or simpler assets usually need fewer.

A common example is grass. You’ve probably noticed how it sometimes pops in and out as your character moves or the camera shifts! To avoid a sudden, jarring switch between LODs, artists use a dithering effect in the material. This technique helps the model fade smoothly between levels, making the transition feel natural.

‍

Sometimes, grass in games can be a detailed cluster of geometry to give it a rich, three-dimensional look. At the next LOD, it might simplify down to just a few polygons, and beyond that, there might not even be another LOD, because the green grass texture on the ground is enough to sell the effect.

Talk about Dithering, random culling and billboards

Nowadays, we’re lucky because many engines, like Unreal, can automatically generate LODs for us during import. In studios with custom engines, technical artists often build tools that help artists create LODs quickly. While these auto-generated LODs might need some tweaking, the process is generally fast and efficient.

If you want to dive deeper into LODs, check out this Level Of Detail lesson!

‍

TEXTURES

VIDEO PLACEHOLDER

ℹ️ For more information on UV’s go to the UV UNWRAPPING LESSON

‍

OPTIMIZING YOUR TEXTURES

To optimize your textures, it’s important to use your UV space efficiently, make smart decisions during texture creation, and choose the right resolution. Once again, this depends on the size and importance of your asset.

Hero props usually use unique texture to give them maximum detail. But when working with a group of similar assets — like books, bottles, or stickers — you can often pack multiple objects into a single texture. This approach, known as a texture atlas, helps maintain consistent texel density while saving memory and draw calls.

‍

UV OPTIMISATION

When working with UV space, the goal is to pack your UV shells efficiently. This often means scaling down faces that won’t be seen much — or even stacking them with other similar shells to save space.

When working with UV space, the goal is to pack your UV shells efficiently to get the most out of your texture map. A big part of that is deciding where detail really matters — and where you can save space. The main points of boil down to this:

  • Use symmetry wherever possible. If both sides of an object look the same (or nearly the same), you can mirror the UVs and reuse the same texture area. This cuts down on texture size without losing quality.
  • Scale down UV islands for parts of the model that won’t be seen much, like the bottom of a prop or the inside of a mesh. You’ll free up more room for the important areas that need crisp detail.
  • Stack similar UV shells if they’ll share the same texture look, like repeating elements, bolts, or wooden planks. This way, you can reuse texture information without wasting space.

Efficient UV packing isn’t just about cramming everything in, it’s about being smart with where your pixels go.

‍

TEXTURES

Texture atlassing is the process of combining multiple textures into a single texture map, often called a texture atlas. Instead of having one texture per asset, you pack several assets’ UVs into the same texture space. This helps reduce draw calls and improves performance, especially in real-time environments like games.

‍

📍Note: A draw call is a command sent to the graphics card to render something in a game engine — more draw calls mean more work for your hardware.

‍

A great example of texture atlassing in action can be seen in Derk Elshof’s work here.

Another common technique is creating 2:1 textures. In this method, you only fill half of the UV space, then stretch it to double its size. You’ll bake your maps using 2:1 settings and export them that way too. Most engines will adjust the map’s size automatically during import, and you’ll end up saving valuable memory while keeping good texture coverage.

‍

TILEABLE TEXTURES AND TRIM SHEETS

Another great way to optimize texture usage is by working with tileable textures or trim sheets. These techniques let you skip the baking process entirely and will allow you to build a wide range of assets using just one pre-made material. While the result might look a bit plain at first, vertex painting and decal sheets come in to save the day with additional details.

These techniques do require some extra geometry, such as more segments for vertex painting or extra planes for decals, which can increase your tri-count slightly, but the trade-off is worth it: you gain a lot of flexibility and speed in your asset workflow, especially when iterating or making changes.

If you’re curious to learn more, you can check out our Tileable Materials and Tileable Textures lessons!

‍

MIP-MAPPING

VIDEO PLACEHOLDER

Remember LODs? Well, textures also play an important part in performance! Mip-mapping is to textures what LODs are to meshes. As an object gets farther from the camera, its texture is displayed at a lower resolution using the mip mapping process. Mip-mapping is not exactly part of the LOD system, but it works alongside it to keep things running smoothly. The technique is used to improve performance and visual quality by automatically generating and using lower-resolution versions of a texture when an object is far from the camera, making textures less resource heavy.

📍Fun fact, mip mapping comes from the Latin phrase "multum in parvo", which means "much in little." The "mip" in mip map refers to these smaller, pre-filtered versions of a texture that represent the same image at progressively lower resolutions!

‍

UV padding becomes especially important when using mip-mapping. As discussed in the Unwrapping I lesson, having enough space between your UV shells helps prevent texture bleeding, ****which is especially a concern during mip-mapping and LOD transitions. Engines create a bit of dilation — essentially stretching the texture beyond the UV borders — to help fill in any gaps at lower resolutions.

You can see how this change looks in the following image:

The lower the resolution, the fewer pixels your texture map has to work with. That means the space between your UV shells — let’s say 8 pixels at full resolution — might shrink to just 4 pixels (or less) at a lower mip level. On smaller textures, this makes pixel precision even more important. When every pixel counts, even slight overlaps or alignment issues can become noticeable. Add in anti-aliasing, which blends neighbouring pixels to smooth out edges, and you’ve got an even higher chance of colors bleeding across UV borders if there’s not enough space.

As the resolution drops, details become blurrier, and colors from one UV shell can start to bleed into another. That’s why padding is so important — it gives your texture enough breathing room to hold up, even as it gets downscaled. With the right amount of padding, you can avoid those visual glitches and keep things looking clean.

‍

GAME-READY OR SHOW-OFF READY?

While we’ve explored different ways to optimize props, it’s worth pointing out that portfolio optimization isn’t always the same as production optimization. In a real game environment, you’ll follow strict rules to hit performance targets — but in your portfolio, there’s a bit more creative freedom!

It’s totally fine to go a little overboard with tri-count or texture resolution, as long as you respect the fundamentals: keep form-defining edges, don’t use a 4K texture for something that’s meant to sit in the background, and so on.

If you were to optimize everything exactly like you would for a game, you might miss the chance to fully show off your skills. Take something simple, like a Rubik’s Cube: in a real game, it might be so small on screen that bevels and fine details wouldn’t even be noticeable. But in a portfolio piece, where you're doing close-up beauty shots, adding those bevels and modelled indents can really showcase your texturing and material work.

The same goes for textures: don’t be afraid to use higher texel density and larger maps to bring out those finer details. After all, your portfolio needs to show what you can do.

‍

IN-GAME OPTIMIZATION EXAMPLES

Finally, let’s take a look at how different games tackle geometry optimization, and how the approaches can vary a lot depending on the genre. Here are a few examples to get you thinking:

⚠️CREDIT: https://blog.playstation.com/2019/12/16/the-polygonal-evolution-of-5-iconic-playstation-characters/ - SirDanielFortesque

A+Start - https://www.youtube.com/watch?v=A2gXyEyy_2U - Mario

Edgar A. Martinez - https://www.artstation.com/artwork/Xv9o0 - Uncharted cView Studios - ttps://www.artstation.com/artwork/JlO4VR - Metro Wagen

cView Studios - https://www.artstation.com/artwork/zAkadd

Matthias Develtere - https://www.artstation.com/artwork/lRR2vO - Wolfenstein Laserhund ⚠️

An interesting thread about polycounts in next gen-consoles can also be found here {{https://polycount.com/discussion/141061/polycounts-in-next-gen-games-thread}} and a few are also listed down at the resources.

No items found.
No items found.
No items found.

SHARE FEEDBACK

We're actively working on this lesson, let us know what you think is missing, what was unclear or anything you found that could be improved.
Max file size 10MB.
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you!
Your submission has been received!
Oops! Something went wrong while submitting the form.