
Somebody on the discord asked for a guide about weapon skins and I doubted I would be able to put all of this into one discord message or text document so without further ado here's CARL'S BIG FAT GUIDE TO WEAPON SKINS
Before we actually get into the meat and potatoes of this little guide of sorts, we need to touch on something extremely critical to understand if you want to actually make weapon skins for PAYDAY 2, being what weapon skins in this game are like and why they're like that.
In simplest possible terms, weapon skins in PAYDAY 2 are not like weapon skins in other games.

Don't immediately give up now, those of you who make skins for CS: GO or Insurgency or so on - a lot of the same concepts still apply, and as such if you already have experience with weapon skins in source engine games (if not retexture mods in general) you automatically get a head start on making weapon skins for PAYDAY 2 because you already understand the advanced topics at play and probably already have all the resources you need for said advanced topics to begin with.
But the thing is, in other games where weapon skins are a thing, customization of weapons is either limited to accessories and optics (Rainbow Six siege, Ironsight) or outright non-existent (Counter-Strike: Global Offensive). But PAYDAY 2's weapon customization is entirely different - weapon mods can drastically change the appearance and performance of your weapon, and even the weapon modifications that don't drastically change the gun's looks are still vast in number (cough cough weapon optics cough cough). Simply painting over the textures of the weapon like one would in another game suddenly becomes too arduous to be possible; thus the developers at OVERKILL were forced to find a new way of doing weapon skins that was simultaneously more abstract (to facilitate re-use across multiple weapons and speed up compatibility with weapon mods) and more robust (to ensure greater compatibility with any content added after the skin's creation and speed up creation of complex skins).
The result of this push to create a system that was powerful enough to make an otherwise impossible task feasible yet flexible enough to not break under its own pressure led to the system PAYDAY 2 currently uses. And, luckily enough, that system actually did its job - weapon skins in PAYDAY 2 are not threatened by vast arrays of mod options, and are also capable of doing things impossible for weapon skins in other games, such as changing color or giving the appearance of multiple coats of paint.
The way this is pulled off is through PAYDAY 2 breaking up the cosmetics of a weapon skin into four different categories, being Base Gradient, Pattern, Pattern Gradient, and Sticker, each of which is defined by a TarGA (.tga) image, which the game interprets through a set of given rules, modifies based on values you set via sliders in the skin editor, and then adjusts the appearance of the weapon you're skinning accordingly. This sounds complex, but it usually isn't. It'll make sense as you keep reading, and even if it doesn't make sense you'll figure it out in practice.
Anyway, moving on.
Base gradients are basically the unsung heroes of skinmaking in PAYDAY 2.
Without these handy little things, you would have to manually retexture every single different possible weapon mod your gun can take, which would basically be hell.
Basically, the way these work is that they're divided into eight different columns, each of which corresponds to a "material" that a gun can be made of. Every skinnable gun part in the game has a special set of information associated with it that tells the game what portions of the gun part should display as what "materials," and thus what colors from your base gradient should go where.

To figure out what materials are where on a given weapon part, you could go into the game and open up these special information sets with GIMP or Photoshop because they're just texture files, but it's usually easier if you make a quick base gradient sample where each material has a different color, apply it to your gun, and then take a screenshot so you can look at it later like OVERKILL did with the Eagle Heavy in that handy-dandy image there. Then, when you're making a base gradient for a skin for said gun, use that screenshot to inform you what colors you should use for what "material" types to make your gun look the way you want it to. For example, if you're making a skin for the Kross Vertex, and when you applied your test base gradient the lower half of the gun's body was pink but the upper half of the gun's body was yellow, your skin's custom base gradient should have the color you want for the lower half where you put the pink in your test base gradient and the color you want for the upper half where you put the yellow.
Or, you know, you could just freehand it based off what colors you think look good together. That's usually what I do.

Speaking of colors and what they mean, if you're looking at the official overkill templates or dersushy's gimp-specific templates like a good boy you've probably noticed that a big chunk on the right-hand side of each column is gray or black or something. Those swathes of blah control what each material looks like when worn down - so if the skin was in battle-worn quality you'd see more things from the right edges of each column than the left edges. You shouldn't have to worry about this if you're making BeardLib weapon skins because they're always mint-condition, though.

Something else you're probably wondering about is why the columns of the image are so long even though thus far it only sounds like just a few pixels would suffice. This is because even though the primary factor the game considers when reading the base gradient and translating it into what colors it puts where on the gun is and always will be material definition, the secondary factor is the angle of the gun relative to the camera. The more you tilt your weapon relative to its resting position relative to the camera, the further down the image the game looks for the color it's going to display on said weapon. This allows you to make chrome effects by adding a black-to-transparent gradient fill that repeats itself onto a given material column in your base gradient, as well as angleshadow by adding a black-to-transparent gradient fill that doesn't repeat itself but instead starts at the bottom and goes upward. If you want to be creative, you can instead put a repeating gradient with two colors that go together in a given material column to get this really cool-looking color-changing holofoil glitch effect. I do that a lot. It's fun.

So that's all cool and good, seeing as how you now have an easy way to make your weapons come in whatever crazy colors you want, but what makes base gradients so special?
The nice thing about base gradients is that when it comes to those small dime-a-dozen weapon mods like barrel extensions, optics, gadgets, grips, and the like, all you'd normally ever want to do there is just a quick color swap anyway. Making a base gradient for your weapon skin that you think looks good, and then either making it the gun's default base gradient under the "base skin" tab or going into the "by part" tab and quickly setting it as the default for all the different tiny unimportant mods available takes a task that would otherwise consume whole hours of your life and condenses it down to 20 minutes tops.
Again, this isn't all there is to making weapon skins. Even if you're just making them for your own personal use, which is something I recommend you do to get some practice and learn the ropes before you start making public skin mods and uploading your creations to the Steam Workshop, you're still probably going to want to do something more than simple color swaps unless there's something genuinely wrong with you. Don't worry, we'll get to that in-
If you've read the official guide, you're probably a little confused right now. The official guide moves to patterns and pattern gradients here, and instead I've jumped right to stickers.
This is because, well, patterns and pattern gradients are a pain in the fucking ass to get used to. Making your own patterns and pattern gradients is hell when you're just starting out. Meanwhile, in comparison, stickers are probably the single most straightforward part of skinmaking in PAYDAY 2, and they're often all you need to make a weapon look satisfactory to your eyes - a lot of the simplistic skins I made for myself back when I was starting out and couldn't do anything other than dick around in the skin editor were nothing more than a base gradient and a few stickers here and there.
To make a sticker, you just make a new 1024x1024 (or 512x512 if you're a TWIT) empty canvas in your image manipulation program of choice, drag whatever random image you have lying around on your computer that you want to turn into a sticker onto there, maybe resize it a little, and then export it in the usual .tga format. That's literally it. OVERKILL will try to tell you that you have to do some special funky business with the alpha channel, but you really just don't. The transparent parts of the sticker don't show up on the gun. The non-transparent parts of the sticker do. That's literally all there is to it.
Probably the best way to try this out and make sure you've got the hang of it is with game sprites or emojis if animu girls aren't tasteless enough for you. Those usually work alright on guns.
As a side note, however, you can't put multiple stickers on one weapon part. If you want to do something that makes your gun look like the back of a college student's laptop xdd you'll have to wait until we learn about pattern UVs and how they make these sorts of things a breeze.
So, we know about base gradients and stickers, and we know that if you're just starting out and are trying to make weapon skins for your own use that's all you really need. But, at some point, you're either going to get tired of the same gradient-and-sticker cut-and-paste stuff and want to make something more for yourself, or you're going to want to start making more detailed skins and putting them on the workshop.
Which means we need to talk about patterns.
The thing about patterns is that they get increasingly more and more complex, and thus increasingly more and more annoying, the longer you work with them.
Fortunately, this guide is assuming that you're just starting out and you couldn't make heads or tails of the official guide (which is completely understandable as it's a fucking mess). And, as such, we can just stay basic here.
At its most simple level, you need to think of a pattern as a composition of two different aspects. The final image you create, i.e. the pattern you end up making, is going to be a solid black background and then some design whose colors are either red, white, or somewhere in the middle. The parts of the image that are black will be interpreted by the game as having 0% opacity, and thus will not show, which is good here because black is our background color and there's no design where there's black visible. The red parts of the image will show up on your weapon in the color on the left side of the pattern gradient you choose, the white parts of the image will show up in the color on the right side of the pattern gradient you choose, and the parts of the image somewhere in-between red and white will use colors somewhere in the middle.
Of course, it's more complex than that. But, if you aren't planning on making any complex patterns, then this should be all you need. Draw a stickman with a red brush in the middle of the image, switch to a white brush, draw a speech bubble with a swear word in it for the stickman, export it in the usual .tga format, BOOM instant pattern. You can do also things more complex than stickmen with this simple red-and-white method - Ewald's "Fluorescent" skin family almost exclusively uses simple red-and-white-on-black patterns instead of getting all caught up in the color channel bollocks OVERKILL tells you to use. More often than not, this is going to be what you find yourself using most of the time.
But let's say, for the sake of argument, you want to do something more complex with a pattern. For this, you're going to have to deal with the color channel bullshit to make the end result be even remotely satisfactory.
First and foremost, make sure you've got a general idea of what you're doing on the canvas you're going to use for your pattern without giving a shit about color. Import an image you're going to destroy to make your pattern, doodle the general shape of what you want your pattern to look like, et cetera. Once you've done that just so you have a guideline to work with, you're going to want to decompose your image by color channels.
In GIMP, you do this by going to colors>components>decompose>RGBA. I'm not sure how you do this in Photoshop, and I doubt I will because I've never been able to get anything made by Adobe to run on my computer (I have a relative who actually works for Adobe and he can't even figure out what I'm doing wrong), but I assume it's something similar.
I, uh, moving on, you're now staring at a new grayscale image where each layer corresponds to a color channel in the image you were going to turn into a pattern. The darker a part of a layer is, the lower the value of that color channel is there, i.e. if a splotch of a channel is solid black the value is 0 there and if it's solid white the value is 255 or whatever. Alpha is opacity, red is red, blue is blue, green is green, people die if they are killed, the archer class really is made of archers, why does berserker go berserk, you get the idea.
What's important here is that the game interprets each of these channels not as the colors of what you're putting on your gun, but the properties of what colors you're putting on your gun. The game interprets the red channel as transparency, meaning that the darker a given part of the red channel is the less visible that part of the pattern will be on your gun. The game interprets the blue channel as gloss, with dark parts being matte and light parts being oily, and the alpha channel as specular control (pretentious nerd speak for something about light), with darker parts being not shiny and lighter parts being liable to blind you.

You don't usually have to worry about the blue channel or alpha channel, because if you're being specific with one you can just nuke the other into oblivion, or you can just fill both with a solid value and call it a day, and while you do have to worry about the red channel all you really have to do there is just make the parts where there isn't going to be any pattern dark and everything else light.
The thing here that really warrants your attention is the green channel. The green channel is interpreted by the game as an indicator of what colors it's going to take from the pattern gradient being used for each part of the pattern. It's effectively a sheet from a color-by-numbers book intended for a computer instead of a child. You could have probably guessed, but black parts of the channel tell the game to use the leftmost edge of the pattern gradient, and white parts tell the game to use the rightmost edge instead, and things in the middle tell the game to use things in the middle.
If you're just doing generic patterns, such as random textures you have lying around that you think would look good on guns (typically this means things like marble or wood), then you should be alright just leaving the green channel where it is. And if you're doing specific patterns, custom-tailored by yourself with your own design in mind, then even though you obviously have to adjust the green channel a little to make the pattern work as intended you won't really have to sweat much of anything.
The problem with color lookup and the green channel comes in once you start to do more than four colors to a single pattern at once. Patterns and pattern gradients don't interface on a pixel-perfect level - the green value of a pixel in a pattern does not literally correspond to the x-coordinate the game looks at to determine displayed color. Instead, the pattern gradient is divided into eight columns, each of which is 32 pixels in width, and just lumps things together based on which row they're in.
This doesn't sound like a problem, but it becomes a problem when you consider the fact that the green channel isn't divided in the exact same way. Instead, this is what green values correspond to which column:
- 000-099: column 1 (left edge)
- 100-137: column 2
- 138-164: column 3
- 165-187: column 4
- 188-207: column 5
- 208-223: column 6
- 224-240: column 7
- 241-255: column 8 (right edge)
Note that the range of green values that gets you into column 1 is massive compared to the other columns, and the columns towards the right side have tiny green ranges attached to them.
I have zero clue why OVERKILL thought this was a good idea, but that's the way things are. So just, you know, be careful and keep that in mind once you start doing more intricate patterns. If something isn't showing properly, it's probably because one of your green values was supposed to be in a certain color range but didn't quite make it because you can't have nice things.
Worst-case scenario if you want to make a skin that uses patterns but you can't figure out what the fuck is the deal with patterns for the life of you then you can just use some pattern rips from the base game and call it a day. At least you know those are going to come out looking nice.
Alright, so, you've finished up with the absolute hell that is patterns. Now, you need to deal with pattern gradients, so you can make sure that your pattern actually works.
In an ideal world, the colors your pattern uses would just be baked into the pattern itself. They would work like camos in Call of Duty games, being naught more than a tileable texture that goes over your weapon. But, well, OVERKILL wanted to be able to extend the robust capabilities of skins in this game to more than just base gradients, and this is why the colors had to be separated from the patterns.
Given what's been said about the green channel in patterns, you can probably guess how pattern gradients work. Each column has a different color, the game takes the color from each column and applies it in the specified parts of the pattern, boom done. Most of the time, when you have a generic pattern, you can just grind out one of these things with a gradient fill going from one color you want to use to another color you want to use horizontally and have it work. You can also do this for specific custom patterns, too - Ewald's "Hyperion" skin for the Akimbo Interceptors does this.
If you're using specific custom patterns, though, it's a better idea to color in each 32px column on its own with the colors you want to see in said custom patterns. Sometimes, if you're doing custom pattern gradients like this, you also have to add in a little faint stripe of black to serve as a border in between each row you're using, but more often than not this won't be particularly necessary.
The only other thing about pattern gradients that warrants discussion is that, as with base gradients, each column is as long as it is to facilitate angleshadow and chrome/color-changing effects. Keep that in mind.
Alright, so, now you've got all the base gradients, patterns, pattern gradients, and stickers you want to use all sorted up and ready to work with. Let's actually do that, then.
Boot up your game, make sure you have the workshop enabled, go find the weapon you want to make a skin for in your inventory, hit "edit skin," hit "new skin," and then hit "browse to skin folder." The folder that pops up is going to contain four subfolders and an XML file. The XML file stores all the things you specify in the editor so the game can remember how your skin looks whenever it needs to display it, and the four subfolders contain the images you just made. Put the base gradients you're going to use in the base_gradient folder, put the patterns in the pattern folder, put the pattern gradients in the pattern_gradient folder, and put the stickers in the sticker folder. Go back over to your game and get editing!

The "base skin" tab is exactly what it sounds like. Adjustments you make there will be set as the default adjustments for literally every single part of the gun. I only recommend using it to decide on and use a base gradient.
The "by type" tab also sets defaults, but does so for all parts of a given type instead of all parts in general. It's useful for things like stocks and grips and magazines if you want to give them actual designs but don't want to do so individually.
And lastly, the "by part" tab makes adjustments specific to individual parts of a weapon. You can only edit parts equipped on the weapon you've opened in the editor from this tab, but this is going to be your best friend most of the time for frankly obvious reasons.
Choose base gradients, patterns, pattern gradients, and stickers for each part you want to customize, adjust their size and rotation and position to your taste, and once you think you've got a pretty good-looking gun in front of you that's it. You're finally finished. Hell yes.
Go back to the main menu of the editor, save your skin, then hit "screenshot" and, well, take a screenshot of the weapon in front of a solid background. Green is probably the most conventional, but I've found red takes the most kindly to image manipulation later on.
So, then, exit out of the game and give yourself a pat on the back. Maybe a cookie too. You earned it, brother.
Next up, go into the folder housing the skin you just made, and open the screenshot you just took in your image manipulation program. Take that solid color background, and get rid of it. Color to alpha is probably the fastest way to do this, but the good old select-by-color-invert-selection-add-layer-mask-initialize-to-selection-apply-layer-mask-crop-to-content works too.
If you're going to be uploading this to the workshop, you'd want to resize the canvas to 1024x1024, center the gun on there, and then come up with something to use for a background before plonking it right back into the folder from which it came because when you hit "publish" later on you'll be choosing that as your screenshot.
Of course, this guide is going to be assuming that you're either doing this for your own use or you just sincerely doubt the odds of an eighth community safe happening. In that case, what you'll want to do is grab a copy of the weapon's icon from the base game (if you have a game extract on your computer you should look in /guis/textures/pd2/blackmarket/icons/weapons/outlines iirc, otherwise the icons on the wiki should work ok), open that as a layer with your weapon skin screenshot, resize and reposition your weapon skin screenshot so it's roughly the same size and shape as the weapon icon you're looking at, fit the canvas to the layers of your image, and then export your new tiny little screenshot as a .dds file to somewhere you can remember it.
I'm pretty sure you need plugins for GIMP and Photoshop to export images as .dds files but plugins are free so yay.
Alright, next, grab the template for BeardLib weapon skins Sora made, as well as BeardLib if you don't have it already. Rename the folder to whatever you want, then open it up. Think of a unique creative internal name that the game can use for your skin. Got one? Good. Head into the assets folder, keep going until you see the infinite red folder, then change its name to your skin's creative internal name. Open your newly-renamed folder, open the weapon_skins folder inside there, delete the .texture file that's already in there. That .dds file you made earlier? Change its name to your creative internal name, change its file extension to .texture, and drag it to where the infinite red texture was before you deleted it.
Go back to the main directory. Rename the InfiniteRed folder to whatever you want, then delete everything inside of there. Take the contents of the folder corresponding to the skin you just made and copy them into what used to be the InfiniteRed folder.
Go back to the main directory again, and open main.xml. Scrap the update script. Then edit the AddFiles tag, replacing the "infinite red" bits in the filepath with your creative skin internal name. Lastly, go down to the WeaponSkin tag. Replace the id parameter with your creative skin internal name, the weapon_id parameter with the weapon_id of whatever gun the skin is meant to be for, the portion of the name_id parameter after "bm_wskn_" with your creative skin internal name, and the skin_folder parameter with whatever name you gave to the folder that used to be InfiniteRed. Save the changes you just made.

Alright, last step. Exit main.xml, go into the Loc folder, and open the text file in there. replace the bit after the "bm_wskn_" part on the left with your skin's unique internal name, being careful NOT to screw up the quotation marks and colon there, and then replace the part inside the quotation marks on the right with whatever you want your skin's name to show up as in your inventory.
Aaaaand save and you're done! Plonk what used to be the template folder into your mod_overrides folder and unless either I wrote something wrong or you aren't capable of basic XML markup you should now have a fancy new weapon skin you made all by yourself.
If you want to take your
Remember how, in the very beginning, I said that despite skins in PAYDAY 2 not working like in CS: GO the same concepts still applied? This is where we finally get to look at that.
Normally, your use of patterns is limited to patterns as tileable textures, and your use of stickers is limited to stickers as, well, just stickers and nothing more, but using pattern UVs allows you to do something more like skinmaking for other games, where it's as simple as just drawing on the weapon and calling it a day.
The first and foremost thing you have to do is get an extract of the game files. A bundle extractor and an updated hashlist can be found easily here on Modworkshop. Just feed the extractor your fancy new hashlist, point it to your game directory, start it up, and then go outside. This is going to take, at bare minimum, an hour. Realistically, it's going to take a couple hours. Interact with your family. Take a walk. Get a job. Play some shitty mobile game.
Also, you should probably make sure you have space, or there's an external drive with space somewhere around for you to use. You're going to be making a full copy of your game install but uncompressed. It's gonna be BIG.
Once the extractor is done, go into your extract you just made, and delete all the shit that's in there except for the guis folder (we're going to need it to make skin icons as already stated) and the units folder. The units folder contains textures and models that the game uses, and most importantly this means weapons. Go in there, find the folder containing the parts of the weapon you want to make a skin for (for example, the union 5.56 would be in /pd2_dlc_rvd/weapons/wpn_fps_ass_corgi_pts), and then download znix's model tool, and use it to convert all the parts of the weapon you want to make custom designs for from .model to .obj format. Move all those fancy new .obj files somewhere where you can find them later, and then install Blender.
What? It's free. Not a big deal.
Fire up Blender. Bisect the window, make one of the two panels in front of you a UV/Image editor, and then hit "import wavefront (obj)" and navigate to where your freshly-extracted models are. Most of the time, you'll want to open the files with _pattern_uv at the end of their name, but sometimes the models are configured wrong and you'll want to open the normal files instead. Trial and error, you know?
Go and select the model you just opened, the UV layout will pop up on the image editor panel, go down to the bottom of said panel and hit "export uv layout" in the export dialog, set the fill opacity to 100% so you can actually see what the fuck you're doing later on and export it as a png image.

Do this for all the parts of the gun you want to make detailed designs for. If this sounds confusing and convoluted, that's because it kind of is. DerSushy made a steam guide on this that does a better job of going over it than me, which I'll link in the future once I'm done with all this writing.
Alrighty, next up go back into your image manipulator and open the UV layouts you just exported. These UV layouts are, in effect, the surface of the gun you're going to be making a skin for if it was peeled off and placed on a table. In effect, you get to doodle whatever stupid crap you want to on there and have it work.
Make your design, and export it as the usual .tga file. If you're going to open your design as a sticker when skinmaking time comes around, you'll have to manually set the y-position of the sticker to 1.00 in the editor for it to show correctly, but if you're going to use it as a pattern you won't have to do any such thing.
To get the hang of making skins with things like this, I recommend taking random images you have lying around and layering them over said UV layouts, before using layer masks or clipping or what have you to make them fit to said UV layouts and then opening them as stickers.

And wha-BAM! Instant cool-looking skin. Gotta love being able to paint directly onto a gun like that.
I am no expert in making skins. I am decent, and I am progressively getting better, but I am not a full master on the level of DerSushy or Ewald yet.
In fact, earlier this year, I was in the exact same place as you probably are. I wanted to get into skinmaking so I could really make my weapons feel like my weapons, but I couldn't understand the official guides and I wasn't sure how to get my feet off the ground. But I slowly picked up on some things by practicing and making mistakes, and here I am with a workshop submission that broke 6000 views in three months. For comparison, there are some talented skinmakers out there who are lucky to break 3000 views on a submission in a year.
I sure as hell didn't think that would happen. I'm still on some level in disbelief about the whole matter. But, it turns out, that no matter how complex and abstract this is, anybody can do it in the end. It's like cooking in that movie with the CGI rat. Anybody can do it, as long as they care and practice.