WEAPON FINISHES GUIDE

What are weapon finishes? They’re skins that can be applied to a weapon and that weapon will have an appearance ranging from factory new to battle-scarred.


CS:GO is a game set in reality, so we researched real-world finishing techniques. We reproduced spray-painted camouflaging, hydro-dipping, patinas, and more. We also represent what happens to weapon finishes in the field over time. Even the most durable finish gets chipped with heavy use, so every finish is available in a variety of states of wear.


Create a finish and apply it to a weapon. Submit your finished weapon to the CS:GO Workshop. Better yet, create a collection of finished weapons. Create unique and quality finishes and your work could be included in an official update.



Workbench

We’ve created a tool that allows you to view and edit your finishes directly in the game client: The CS:GO Workshop Workbench.



To use the workbench, enable the developer console in your game options. From the main menu, open the console by hitting the "~" key. Type "workshop_workbench" and hit enter to pop open the workshop window*.
*We recommend a minimum resolution of 1024x768 in order to accomodate the size of the editor window.

FINISH STYLES

The recipe for a finished weapon is simple: an existing weapon and a finish definition.

The same finish can be used on different weapons to create multiple entries to the CS:GO Workshop.

A variety of finish styles are available. Each style represents a real-world gunsmithing or finishing technique.

Solid Color Style

Individual components of the weapon are painted with up to four unique colors before reassembly.

Spray-Paint Style

The weapon is spray-painted with multiple coats through stencil patterns.

Hydrographic Style

Disassembled weapon parts are lowered through a floating hydrographic film on the surface of a water tank. The film adheres to the primed weapon parts, covering the surface with a pattern.

Anodized Style

Many comon firearms materials cannot be anodized. Instead the effect is often mimicked by applying a colored candy coat over a chrome base.

Anodized Multicolored Style

In this style, the candy coat may be applied in a multicolored pattern. In the real world, methods could include silk-screening or adherable stencils.

Anodized Airbrushed Style

This style emulates applying the candy coat via freehand airbrushing.

Patina Style

A patina is a chemical reaction that forms a non-reactive, hardened shell over metallic parts. Real-life weapon patinas include case hardening, cold bluing, and acid forced patinas.

Custom Paint Style

This style enables extremely customized looks in a full range of colors.

Gunsmith Style

This style uses a combination of patina and custom paint styles.

TECHNICAL OVERVIEW

In order for a weapon to accept a finish, it must have several additional textures prepared. Those textures store important information about how the weapon is formed, which areas are paintable, and how easily the finish gets worn on different parts. The majority of the stock weapons can accept finishes.

A compositing system combines information from the finish with information from the weapon’s textures to create a believable application.
The finishes themselves are relatively simple. They control things like the color, pattern, and shininess of the finish.


IMPORTANT! Don’t include grime, scratches, ambient occlusion, or details from the weapon in your finish. The composite system will do it for you.

Patterns

The patterns used in the Spray-Paint, Hydrographic, Anodized Multicolored and Anodized Airbrushed styles all have the same basic properties. Each style can use up to four colors.

The pattern is applied one layer at a time, starting with a base coat that covers all paintable areas of the weapon.



Color images are typically stored in red, green and blue channels that combine additively to represent a large range of color values. For our patterns, we take advantage of this configuration to store three separate images. The final result is a bit bright, but don’t worry, what it looks like here isn’t how it’ll look on a weapon.

IMPORTANT! Copy the opacity of each layer into the RGB channels of a new image. The base coat is not included.

  • color0: Base coat
  • color1: Red Layer
  • color2: Green Layer
  • color3: Blue Layer
  • Experiment with color harmonies

    The same pattern can be reused with different colors to create a new finish.

    Pattern Application Methods

    Depending on the finish style, patterns are applied in one of two basic ways.

    The first method simply tiles the pattern over the weapon’s existing UVs. To relate that to a real-world application, imagine disassembling the weapon into parts before applying the finish.

    This application method is used for Hydrographic, Anodized Multicolored, Patina and Custom Paint Job styles.

    The second method uses triplanar mapping. Think of it as spray painting though a stencil onto the sides, top, bottom, back and front of the weapon. The pattern blends across the surface normals.

    This application method is used for Spray-Paint and Anodized Airbrushed Styles.

    Pattern Scale

    Paint kits that use patterns define a pattern scale. Increasing the scale repeats the pattern. Since the weapons are all different sizes, a paint on a large weapon will have correspondingly large features and a paint on a small weapon will have very tiny features. We fix this by further modifying the scale per-weapon.

    For most styles the scale of the pattern is relative to a pattern sheet size of 36 inches. For styles that use triplanar mapping, 18 inches. In order for the size to be consistent, the pattern’s scale must be adjusted per-weapon.




    For some finishes, the automatic scale adjustment per-weapon is not desired. It can be disabled by setting "ignore_weapon_size_scale" "1" in the finish’s properties.

    Randomization

    All paints specify ranges for offsets and rotations. On application, random values are chosen within those ranges so that each application is unique.

    Paints also specify a range for wear. On application, a random value is chosen within that range. As the wear increases, more scratches appear on the surface and the weapon becomes grimier.

    The texture responsible for the grime and the one for the scratch pattern are both placed randomly so that each wear pattern is unique, even when the wear amount is identical.

    Durability and Masking

    On top of their RGB channels, Color textures have an additional, optional “alpha” channel.

    Each finishable weapon uses a special texture to determine what parts should receive finish. This texture also influences how quickly the finish wears off different features of the weapon. The original, unfinished material underneath is called the substrate. Some finish types can modify how the finish reveals the substrate by storing additional data in the pattern’s alpha channel.

    Supported styles:
  • Hydrographic Style
  • Custom Paint Style
  • Anodized Multicolored Style
  • Gunsmith Style

  • When to use a pattern’s alpha channel:
  • Your design requires more coverage than the default
  • Your design requires more of the substrate to be revealed
  • Important features of your design wear too quickly
  • Important features of your design should never wear to the substrate

  • In general, finishes should be available in all wear values from Factory New to Battle Scarred with a few exceptions. That said the wear values don't have to be the full range and many weapon finishes ship with wear values from Factory New (0.0) to Battle Scarred (0.6).

    Wear Value ranges:
  • Battle Scarred: 0.44-1.0
  • Well Word: 0.37- 0.44
  • Field Tested: 0.15-0.37
  • Minimal Wear: 0.07-0.15
  • Factory New: 0.00-0.07


  • This finish uses the Custom Paint Job style, and has "ignore_weapon_size_scale" enabled in order for the pattern to line up exactly with the weapon’s original UVs. We decided the design would improve if the magazine, grip, and barrel were unpainted.

    There’s also an issue with the monster graphic on the buttstock. The eyes align with an exposed edge that gets easily scratched. Since the monster is an important feature of the design, we should make that portion of the graphic more durable so that it is readable even when the finish is well worn.

    Values around 196 in the alpha channel subtract from the refinishable areas of the weapon. We find the barrel, grip and magazine in these areas:

    Both 128 and 255 have no effect, so the finish wears using the default behavior in these areas:

    Values below 128 in the alpha channel increase the durability of the finish. The darker the value, the more durable the paint. This is the area of the pattern where we find the monster:

    Phong Exponent Texture

    The phong exponent controls the size of the phong highlights on the finish. By default, one value is used over the entire weapon.

    Anodized Multicolored Style allows the exponent to be specified in the alpha channel of the pattern texture. This allows finishes that look as though they are comprised of several different types and reflectivities of paint.

    Anodized Multicolored also supports additional paint masking using the same value ranges as the Hydrographic and Custom Paint Job styles. As a result, the exponent values are stored only in the 0-127 range of the alpha channel. Those values are rescaled 2x on application, giving an effective range of 1-255. The default phong exponent from the finish definition is used for values above 128.

    Gunsmith Style combines Patina and Custom Paint Job. Additionally, it allows the exponent to be specified in the alpha channel of the pattern texture for the areas of the weapon that are given a patina. The exponent value range is identical to Anodized Multicolored (0-127, rescaled 2x on application). The rest of the weapon is painted using the Custom Paint Job style, and allows paint masking using the alpha channel in those areas.

    Paint by Number



    All finishable weapons are divided into regions that define how the finish styles apply their colors and patterns.

    The diagram on the right shows an example of how the four colors of a Solid Color Style finish might be applied.

    Other paint by number charts control which areas can be anodized or given a patina, and where patterns and accent colors appear for Anodized Multicolored and Hydrographic styles.

    There are also predefined areas on each weapon that don’t get refinished, such as shell casings, the inside of barrels, firing rods, etc.

    The best way to visualize the paint by number areas on a weapon is to load it up in the CS:GO Workshop Workbench and assign some colors.

    Normal Map



    A normal map can give the weapon finish an appearance of depth or bumps without adding more polygons through the use of lighting. Using a normal map can add subtle details to a finish like wood grain or they can be used to create more pronounced changes. Normal maps can be applied to Patina, Custom Paint, and Gunsmith finish styles.

    Creating a Finish



    Finishes are defined by a set of parameters that are stored in a plain text files. These text files are generated by the CS:GO Workshop Workbench. Save and load your works-in-progress directly in the game client. You can copy the examples in the next section into text files, then load those text files to see the finishes in-game.



    Once again, to use the workbench, enable the developer console in your game options. From the main menu, open the console by hitting the "~" key. Type "workshop_workbench" and hit enter to pop open the workshop window*.

    *We recommend a minimum resolution of 1024x768 in order to accomodate the size of the editor window.

    Solid Color Style




    - Choose four colors to paint a weapon
    - The colors are applied through a predefined paint by number system
    - This finish wears directly to the substrate

    
                            "workshop workbench"
                            {
    	                      "style"			            "1"
    	                      "color0"			            "47 52 37"
    	                      "color1"			            "65 78 61"
    	                      "color2"			            "102 91 66"
    	                      "color3"			            "51 53 26"
    	                      "phongexponent"	            "16"
    	                      "phongintensity"	            "100"
    	                      "wear_remap_min"           "0.06"
    	                      "wear_remap_max"           "0.8"
    	                      "dialog_config"	            "12,0,0,1"
                            }
                            
    Spray-Paint Style




    - Choose four colors and a pattern to paint a weapon
    - The pattern is applied via triplanar mapping
    - Each layer of paint wears successively to the layer below it before revealing the substrate

    
                                "workshop workbench"
                                {
                                "style"                                         "3"
                                "pattern"                                    "tiger"
                                "pattern_scale"                          "0.9"
                                "color0"                                      "56 71 54"
                                "color1"                                      "158 149 114"
                                "color2"                                      "79 41 32"
                                "color3"                                      "45 46 33"
                                "phongintensity"                        "5"
                                "phongexponent"                     "32"
                                "pattern_offset_x_start"            "0"
                                "pattern_offset_x_end"              "1"
                                "pattern_offset_y_start"            "0"
                                "pattern_offset_y_end"              "1"
                                "pattern_rotate_start"              "-10"
                                "pattern_rotate_end"                "7"
                                "wear_remap_min"                    "0.06"
                                "wear_remap_max"                    "0.8"
                                "dialog_config"                           "12,0,0,1"
                                }
                                
    Hydrographic Style




    - Choose four colors and a pattern to paint a weapon
    - The pattern is applied via the weapon’s original UVs
    - A predefined paint by number system determines which parts will be hydro-dipped and which will be painted solid colors
    - The solid color areas use color2 and color3
    - This finish wears directly to the substrate
    - Optional durability and masking are accessible via the pattern’s alpha channel

    
                            "workshop workbench"
                            {
    	                      "style"                                      "3"
    	                      "pattern"                                 "tiger"
    	                      "pattern_scale"                       "0.9"
    	                      "color0"                                    "56 71 54"
    	                      "color1"                                    "158 149 114"
    	                      "color2"                                    "79 41 32"
    	                      "color3"                                    "45 46 33"
    	                      "phongintensity"                    "5"
    	                      "phongexponent"	  		 "32"
    	                      "pattern_offset_x_start"	  "0"
    	                      "pattern_offset_x_end"	          "1"
    	                      "pattern_offset_y_start"         "0"
    	                      "pattern_offset_y_end"	          "1"
    	                      "pattern_rotate_start"  	   "-10"
    	                      "pattern_rotate_end"		   "7"
    	                      "ignore_weapon_size_scale"  "1"
    	                      "dialog_config"                         "12,0,0,1"
                            }
                            
    Anodized Style




    - Choose one color to paint the weapon
    - The anodized effect paint is applied to areas specified by a predefined paint by number system
    - This finish wears first to the chrome base coat before revealing the substrate

    
                                "workshop workbench"
                                {
                                "style"			            "1"
                                "color0"			            "47 52 37"
                                "phongexponent"	            "16"
                                "phongintensity"	            "100"
                                "wear_remap_min"	            "0.06"
                                "wear_remap_max"	    "0.8"
                                "dialog_config"	            "12,0,0,1"
                                }
                                
    Anodized Multicolored Style




    - Choose four colors and a pattern to paint a weapon
    - The pattern is applied via the weapon’s original UVs
    - A predefined paint by number system determines which parts will be paterned and which will be painted solid colors
    - The solid color areas use color2 and color3
    - This finish wears directly to the substrate
    - Exponent and masking are accessible through the pattern’s alpha channel

    
                                "workshop workbench"
                                {
                                "style"						"5"
                                "pattern"						"zebra"
                                "pattern_scale"				"2.5"
                                "color0"						"94 34 35"
                                "color1"						"94 34 35"
                                "color2"						"57 21 22"
                                "color3"						"23 23 23"
                                "phongalbedoboost"			"100"
                                "phongexponent"			        "4"
                                "pattern_offset_x_start"    	        "0"
                                "pattern_offset_x_end"	                "1"
                                "pattern_offset_y_start"	                "0"
                                "pattern_offset_y_end"	                "1"
                                "wear_remap_min"			        "0.1"
                                "wear_remap_max"			"0.26"
                                "view_model_exponent_override_size" "1024"
                                "dialog_config"			        "12,0,0,1"
                                }
                                


    Anodized Airbrushed Style




    - Choose four colors and a pattern to paint a weapon
    - The pattern is applied via triplanar mapping
    - A predefined paint by number system determines which parts will be airbrushed and which will be painted solid colors
    - The solid color areas use color2 and color3
    - This finish wears first to the chrome base coat before revealing the substrate

    
                                "workshop workbench"
                                {
                                "style"						"6"
                                "pattern"						"flamegraphic"
                                "pattern_scale"				"1.6"
                                "color0"						"80 10 1"
                                "color1"						"34 2 1"
                                "color2"						"16 16 16"
                                "color3"						"90 60 4"
                                "phongalbedoboost"			"30"
                                "phongexponent"			        "16"
                                "pattern_offset_x_start"    	        "-1.3"
                                "pattern_offset_x_end"	                "-1.3"
                                "pattern_offset_y_start"	                "0"
                                "pattern_offset_y_end"	                "1"
                                "wear_remap_min"			        "0.0"
                                "wear_remap_max"			"0.08"
                                "ignore_weapon_size_scale"	        "1"
                                "dialog_config"			        "12,0,0,1"
                                }   
                                
    Patina Style


    - Choose four colors and a full-color image to create the patina
    - The image is applied via the weapon’s original UVs
    - Supports the addition of a normal map
    - The colors influence the look of the patina at different ages



    - color0: the metal before patina, revealed through scratches
    - color1: tint of the newly applied patina
    - color2: tint of the aged patina
    - color3: color of the grime, oil accretion, or oxide that accumulates in cavities

    
                                "workshop workbench"
                                {
                                "style"						"8"
                                "pattern"						"aged"
                                "pattern_scale"				"2"
                                "color0"						"90 62 50"
                                "color1"						"77 46 40"
                                "color2"						"68 72 70"
                                "color3"						"121 142 135"
                                "phongalbedoboost"			"35"
                                "pattern_offset_x_start"    	"0"
                                "pattern_offset_x_end"	        "1"
                                "pattern_offset_y_start"	        "0"
                                "pattern_offset_y_end"	        "1"
                                "pattern_rotate_start"		"0"
                                "pattern_rotate_end"		"360"
                                "wear_remap_min"			"0.0"
                                "wear_remap_max"			"1.0"
                                "dialog_config"			        "12,0,0,1"
                                }
                                
    Custom Paint Style




    - Choose a full-color image to apply as a paint
    - The pattern is applied via the weapon’s original UVs
    - This finish wears directly to the substrate
    - Durability and masking are accessible through the pattern’s alpha channel
    - Supports the addition of a normal map


    
                                "workshop workbench"
                                {
                                "style"						"7"
                                "pattern"						"bullet_rain_m4"
                                "pattern_scale"				"1"
                                "phongintensity"				"153"
                                "phongexponent"			        "128"
                                "pattern_offset_x_start"	                "0.0"
                                "pattern_offset_x_end"	                "0.0"
                                "pattern_offset_y_start"	                "0.0"
                                "pattern_offset_y_end"	                "0.0"
                                "pattern_rotate_start"		        "0.0"
                                "pattern_rotate_end"		        "0.0"
                                "wear_remap_min"			        "0.02"
                                "wear_remap_max"			"0.46"
                                "ignore_weapon_size_scale"	        "1"
                                "dialog_config"				"12,0,0,1"
                                }
                                
    Gunsmith Style


    - Combines Patina and Custom Paint Job styles
    - A predefined paint by number system determines which parts will have a patina and which parts will be custom painted
    - Choose four colors to determine the wear characteristics of the patina
    - Exponent is accessible through the pattern’s alpha channel for the patinated parts
    - Masking is accessible through the pattern’s alpha channel for the custom painted parts
    - Supports the addition of a normal map

    
                            "workshop workbench"
                            {
                            "style"                                                  "9"
                            "pattern"                                             "mother_of_pearl_elite"
                            "color0"                                                "255 255 255"
                            "color1"                                                "255 255 255"
                            "color2"                                                "196 196 196"
                            "color3"                                                "228 228 228"
                            "pattern_scale"                           	"1.00"
                            "phongexponent"                           "255"
                            "phongintensity"                             "10"
                            "phongalbedoboost"                     "20"
                            "ignore_weapon_size_scale"	"1"
                            "only_first_material"                	"0"
                            "pattern_offset_x_start"             "0.00"
                            "pattern_offset_x_end"               "0.00"
                            "pattern_offset_y_start"             "0.00"
                            "pattern_offset_y_end"               "0.00"
                            "pattern_rotate_start"                 "0.00"
                            "pattern_rotate_end"                   "0.00"
                            "wear_remap_min"                       "0.00"
                            "wear_remap_max"                      "1.00"
                            "view_model_exponent_override_size" "1024"
                            "dialog_config"                                 "4,0,0,1"
                            }
                            

    *N.B. the "view_model_exponent_override_size" should only be used in conjunction with an exponent map in the alpha channel of the pattern texture, and only if a lower resolution exponent texture is visibly reducing the quality of the finish. The exponent texture is a 256 square texture by default to conserve memory, so be thoughtful.