
UV Unwrapping Explained: Seams, Texel Density, and Why Your Texture Looks Stretched
You textured a model, dropped it in the engine, and the wood grain runs sideways down one plank while another face looks like a smeared thumbnail. Somewhere there is a hard line splitting the mesh where two texture halves refuse to meet. That is not a texturing problem. That is a UV problem, and it is the step most people rush through because it is the least fun part of making a 3D asset.
UV unwrapping is the bridge between a 3D surface and a flat 2D image. Get it right and nobody ever thinks about it. Get it wrong and every texture you paint fights you. Here is what is actually happening, and the handful of things that separate clean UVs from the ones that ship broken.
What UV unwrapping actually is
Your texture is a flat square image. Your model is a 3D surface. UVs are the instructions that tell the renderer which pixel of that flat image lands on which spot of the surface. The letters U and V just mean the two axes of the texture (X and Y were already taken by 3D space), and they run from 0 to 1 across the image regardless of resolution.
Unwrapping is the act of cutting your 3D mesh apart and flattening the pieces onto that square, the same way you would cut a cardboard box down the edges and press it flat. The flattened chunks are called UV islands. The cuts you make are called seams. Almost every UV headache comes down to two questions: where did you put the seams, and how much texture space did each island get.
Seams: where you cut decides where it breaks
You cannot flatten a curved surface without cutting it somewhere. Try to wrap a globe in a single flat sheet of paper and you get wrinkles and stretching. Same math here. So you choose where the mesh gets sliced, and every seam is a spot where the texture can visibly break if you are careless.
The trick pros use is simple: hide seams where the eye does not look. Run them along the inside of an arm, under a collar, down the back edge of a crate, along a hard 90 degree corner where the lighting already changes. Bad seam placement drops a visible line straight across a character's cheek or the front face of a prop. Good seam placement, and you could stare at the model all day and never find the cut.
There is a real tension here too. More seams means less stretching, because smaller pieces flatten more cleanly. Fewer seams means fewer places to hide, but also fewer spots where a texture can split. The job is finding the balance for that specific model, which is exactly why automatic "unwrap the whole thing" buttons work for background rocks and fail on anything a player looks at up close.
Texel density: the part nobody explains
Here is the concept that quietly ruins more assets than seams do. Texel density is how many texture pixels sit on a given amount of surface. If one island gets a big chunk of the UV square and another gets a tiny sliver, the first surface looks crisp and the second looks blurry, even though they share the same texture.
The classic way to catch this is a checker map. You slap a black and white grid texture on the model and look at the squares. Where the squares are even and the same size everywhere, your density is consistent. Where they stretch into rectangles, you have distortion. Where they shrink, that surface is wasting resolution it will never show.
A checker map on a sphere. Even squares mean even texel density; stretched or shrunken squares expose UV problems. Image: Wikimedia Commons.
In a first person game the rules are blunt. The gun in the player's hands, the door they press their face against, the hands themselves all need high texel density because people examine them. A rooftop they never reach can be a quarter of that and nobody notices. Spend your pixels where the camera goes.
Seams decide where your texture can break. Texel density decides whether it looks sharp or muddy. Nail those two and the rest of UV work is just tidiness.
Packing: fitting the islands in the square
Once your islands are cut and their density matches, you arrange them inside the 0 to 1 square. Empty space in that square is wasted resolution, so you rotate and nest the pieces to fill it. Anything that runs off the edge of the square wraps around and creates ugly repeats, so keep it all inside with a little padding between islands. That padding, sometimes called a gutter, stops neighboring textures from bleeding into each other when the engine downscales your texture for distant views (mipmapping).
Two tricks buy you free resolution. Mirroring lets a symmetrical object, like a face or a car, stack both halves on the same UV space so they share pixels and effectively double your density. Overlapping identical parts, like the four legs of a table, does the same thing. The catch is that mirrored and overlapped UVs cannot carry unique detail, so a scar on one cheek shows up on both. Know when you want the savings and when you need the uniqueness.
The second UV channel Unity and Unreal want
This one bites people who thought they were done. Game engines bake static lighting into a separate texture called a lightmap, and that bake needs its own UV layout with zero overlapping islands. Your main UVs can mirror and stack all they like, but the lightmap UVs (usually called UV2) have to give every surface its own non overlapping spot, or the baked shadows smear across the model.
Unity can auto generate this second channel on import, and it is fine for props. For hero assets you lay it out by hand. If your baked lighting looks blotchy or shadows leak where they should not, a broken second UV channel is the first place to look. This is also part of why the same clean unwrap that makes texturing easy is what lets a model participate in baked global illumination at all.
A workflow that does not fight you
The order that keeps you sane: mark your seams first, unwrap, then throw a checker map on immediately and fix stretching before you paint a single real texel. Match texel density across islands, pack tight with padding, then handle the lightmap channel last. Do it in that sequence and you almost never redo work.
UVs also decide how well a normal map bakes down onto your low poly mesh, so clean islands pay off twice. If you want the full picture on how that faked detail rides on top of your UVs, our breakdown of how normal maps work in Unity picks up exactly where this leaves off.
When to unwrap and when to just buy it
If you are modeling your own hero assets, learn this properly. It is a skill that separates stuff that looks amateur from stuff that looks shipped, and no amount of clever texturing rescues a bad unwrap. But if UVs are a means to an end and you just need a clean crate, a modular wall, or a game ready character that already textures correctly, buying a well made asset skips the whole fight. Clean, consistent UVs are a big part of what game-ready actually means, and it is one of the first things worth checking before you drop a model into your project. A marketplace like DevLoot exists partly so you do not have to unwrap every prop yourself.
Either way, the next time a texture stretches or a seam shows, you will know it is not the texture lying to you. It is the UVs, and now you know where to cut.