Putting Decals on Models in Roblox Studio
Decals in Roblox Studio are image textures applied to the surface of a single part. Unlike normal materials, which repeat or stretch across the entire geometry, a decal sits on top as a separate layer. You place it, adjust its size and transparency, and move on. That's basically it.The process is straightforward but there are quirks that trip people up repeatedly. I'll walk through the workflow, then cover the things that actually matter once you start using them in a real project. To add a decal, select the part you want to modify. In the Explorer, right-click the part and insert a new Decal object. Or go to the Home tab, click the dropdown next to Insert Object, and search for Decal. Either way gets you the same result. Once it's placed, the decal automatically centers on the largest face of that part by default, which is convenient until it isn't. You'll then set the Image property to your asset ID. This can be a Roblox image, a public URL, or a custom upload from your account. For custom uploads, go to the Roblox website, navigate to the Creation page, and upload your image under Decals. After approval (which usually takes a few minutes), copy the asset ID into your Decal's Image property.
Adjust the Size, Position, and Transparency properties to fit your needs. The decal's local coordinate space means it moves with the part, which is useful for things like directional signs or labels that need to stay attached as the model animates. Here's where things get interesting. A lot of people don't realize that decals respect the part's material lighting model underneath them. If you put a decal on a part with a shiny metal material, the highlight and specular values still show through the transparent areas of your decal texture. That's actually a feature most beginners miss. It means you can layer a simple grunge texture over a metallic surface and it blends naturally without extra work.
Common Problems and How to Fix Them
The biggest issue I ran into early on involved decal alignment on angled surfaces. When you apply a decal to a part that's rotated, the decal follows the face normals rather than world-space orientation. This caused my door labels to end up sideways on every door that wasn't perfectly axis-aligned. The workaround was to create an invisible guide part, parent the decal to it, and then group everything together. That way the decal stays level relative to the guide, and you can rotate the whole assembly as needed without fighting the surface normal system. Another edge case is performance. Decals are separate draw calls on the GPU. A single decal costs almost nothing. Fifty decals on one model and you'll start seeing frame drops, especially on lower-end devices. I've seen games with hundreds of decals just sit there burning fill rate for no reason. The fix is batching where possible. Use a single texture sheet with multiple small images and apply it with a regular material instead of individual decals whenever you can. One texture read beats fifty. There's also the issue of decals disappearing when the part rotates or scales unexpectedly. This happens because the decal's UV mapping recalculates based on the part's local scale at render time. If you're scaling parts procedurally in a script, the decal can appear stretched or misaligned. The solution is to maintain a consistent scale or use a SurfaceGui instead for UI-like elements that need to stay readable regardless of part dimensions.
Get the Full Details

What People Get Wrong About Decals
First, people treat decals like they're permanent attachments. They're not. If you delete the parent part, the decal goes with it. If you duplicate a part that has a decal, the decal duplicates too, but if you use a clone from a different location, make sure the decal's properties haven't drifted. I've spent an hour tracking down a "missing" decal only to realize it was still there but had its Transparency set to 1 somewhere in a script. Second, the resolution of your decal image matters more than you'd think. Roblox compresses uploaded images aggressively. A 1024x1024 PNG will look fine at close range but will turn into a blurry mess at distance. Stick to square aspect ratios whenever possible, since non-square images can get cropped or distorted depending on the target face's proportions. And avoid transparent backgrounds unless you actually need them. Fully opaque decals render faster because the engine skips the alpha blending step. Third, decals don't cast shadows. They're surface-level overlays. If you need a shadow effect, you have to bake it into the texture itself or use a separate shadow mesh underneath. I learned this the hard way when a player complained that a wall sticker looked like it was floating an inch above the surface. Adding a subtle dark gradient at the bottom of the decal texture solved it instantly.
When Decals Aren't the Right Tool
If you need something that wraps around multiple faces or follows complex geometry, a decal won't cut it. You'll want to use a TextureMap or a mesh material with UV unwrapping instead. Decals are fundamentally flat overlays on single faces. They don't bend, stretch across edges, or conform to custom mesh shapes. Similarly, if you're building something that needs dynamic content changes at runtime, decals are rigid. Changing the Image property of a decal mid-game works, but it's not as clean as working with SurfaceGuis or BillboardGuis for UI elements that need to update frequently. I switched most of my interactive signage to SurfaceGuis because they respond to player proximity and scripting much more predictably. The bottom line is that decals are a simple tool for a simple job. They work well for static surface details, labels, and texture variation on individual parts. They fall apart when you need flexibility, dynamic updates, or multi-face coverage. Know the boundary and you'll save yourself a lot of headaches down the road.