Team Fortress 2

Team Fortress 2

Not enough ratings
Coffin Nail, Top Shelf, Macaw Masked, and Other Reflective Skins Material Fix
By Dr. Milker
Update May 1st 2023
After 8 years, Valve finally patched this bug!! Thus, this guide is no longer relevant. However, for documentation purposes I will leave it up. Feel free to check this guide out for screenshots of what items used to look like before the update and after the update.
Cheers,
- Milker

Ever noticed that your weapon skin looks metallic/shiny in 3rd person, but dull and flat in first person?

This is due to a long lasting bug related to strange weapon skins. It affects a lot of skins in this game, including Top Shelf, Coffin Nail, Dressed to Kill, Macaw Masked, Raving Dead, and many more.

In this guide, I will show you a way to fix this issue so your weapon looks as good as it's supposed to.
   
Award
Favorite
Favorited
Unfavorite
Intro
Let's start with an example. Let's take a look at a Strange Coffin Nail Rocket Launcher in the skin viewer. Look how shiny and reflective it is!

Alright, I got myself a Strange Factory New one, I can't wait to use it in game! Let's see how it looks in first person.

Hmm, something seems wrong. It looks mostly correct, but I thought it was supposed to look... shinier?

Just to be safe, let's jump into a brighter map and see if maybe it was just the lighting.

Doesn't look any better. What's going on here?
The Bug Explanation
There is definitely something wrong here. Let's get to the source of the problem.

Let's use a Coffin Nail Flame Thrower for the example. We will be taking screenshots in a dark corner of koth_harvest_event, as the metallic texture is the most noticeable in lower lit areas.

Here, I have a screenshot of a Coffin Nail Flame Thrower I have. It's Battle Scarred, and it's not Strange.

Here, I have a screenshot of another Coffin Nail Flame Thrower I have, except this one is Factory New AND Strange (please ignore the festivizer for this example).

You will notice that even though the first Flame Thrower is Battle Scarred, it has a distinctive shine and metallic material that the second one does not. So why do these skins look so different? Shouldn't the Factory New skin be more reflective than the Battle Scarred one?

It is because of the Stat clock. If a skin is strange, the game will read the material it needs to render incorrectly and load the default weapon's material rather than the override that makes the skin look the way it's supposed to look. This bug has been around since the first skins with this material were added to the game.
How to Fix
The good news is that there is a way to make sure your weapons have the metallic shine they are supposed to have in first person. Unfortunately, there is not a way to do this without affecting other skins and weapons. It also will not work on Valve's official servers; it will only be visible on community servers and in your backpack.

What we're going to do is create a material override for your weapon so it loads the metallic material instead of the default dull material. This override will affect all skins using that weapon. If we wanted to make our shotgun skin look shiny, it will make it so every shotgun skin you own will be shiny.

For our example, we're going to make it so our Strange Factory New Coffin Nail Shotgun is properly reflective.

1. Open GCFScape. Click the open button.


2. We need to find the directory that holds TF2's materials. Your general file path should be the following:
Program Files (x86)/Steam/steamapps/common/Team Fortress 2/tf

3. Load "tf2_misc_dir.vpk" in GCFScape.

4. Locate a material file from a skin collection that uses a reflective material. We'll be using the Coffin Nail collection. The file path should be the following:
materials/models/paintkits/cig

5. Open a material file. Since we're changing our shotgun, load "c04_shotgun_metal.vmt". It will open in VTFEdit.


6. The highlighted text in the image below is the part of the code that makes the skin reflective ($selfillum). Copy this text, and save it in a notepad if you need to.

NOTE: if you are loading a different weapon file, pay attention to where the $selfillum code lines are placed. You will want to make sure you place it in the same location for the default material file later. Not every default material file looks as similar, so in some cases you may need to take your best guess.
If you want to save time, you can also copy the code below:

"$selfillum" 1
"$selfillumtint" "[5 4 1]"
"$selfIllumFresnel" "1"
"$selfIllumFresnelMinMaxExp" "[0 13 18]"


7. Now we have our code copied, we're going to place the code in the default material file (You can close "c04_shotgun_metal.vmt" if you'd like). While still in "tf2_misc_dir.vpk" in GCFScape, locate the default material file for your weapon. The file path should be the following:
materials/models/weapons/c_models/c_[weapon]


8. Open the folder and file associated with your weapon. Since we're changing our shotgun, load "c_shotgun.vmt".


9. Using our copied code from earlier, we're going to place it in the code of our default weapon material. For the shotgun, it should look something like this:

You might notice the code around our newly pasted code isn't entirely the same from as where we got it from. The code that does match is "$envmaptint" "[# # #]", so we're pasting our code directly below it just like in the Coffin Nail file.

10. Save this VMT file somewhere else on your computer (File > Save As...). I recommend adding a prefix name to it so it's easier to find in the future.


11. It's time to place our new material file in TF2. First, make sure you have this file structure created in your "tf" folder ("my_custom_stuff" can be any name you want):
Steam/steamapps/common/Team Fortress 2/tf/custom/my_custom_stuff/


12. For our shotgun replacement, we want to make a file path that matches where the file came from. For our "c_shotgun.vmt" file, it will need to go here.
.../custom/my_custom_stuff/materials/models/weapons/c_models/c_shotgun

13. Make sure to rename the file to what it was originally; "c_shotgun.vmt". Your end result should look something like this.


You're done! Boot up the game and check to see if it worked. For easy testing, I recommend loading a dark map like Harvest Event. You can do that by typing this in the command console (~):
map koth_harvest_event
Before and After Examples
Here is what our Strange Factory New Coffin Nail Shotgun looks like.

Before:
After:


Here are some examples of before and after applying the material override to some of my strange Gentlemanne's skins.

Top Shelf Wrench (MW):

Coffin Nail Rocket Launcher (FN):

Dressed to Kill Pistol (FN):
Side Effects
Here are some examples of other skins now having the reflective material, even though they're not supposed to in the first place.

Strange Civic Duty (FN)

Rustic Ruiner (Factory New)

Bovine Blazemaker Mk.II Rocket Launcher (Factory New)

Nutcracker Wrench (Factory New)

Strange Mummified Mimic Rocket Launcher (Minimal Wear)
List of Affected Skins
Here is a list of every known weapon that is affected by this bug. If I missed any, feel free to post what I missed in the comments.

Gen 1:
  • N/A
Gen 2:
  • Top Shelf
  • Coffin Nail
  • Dressed to Kill
  • Corsair
  • Red Bear
  • Killer Bee
  • Flower Power
  • Sweet Dreams
War Paints:
  • Macaw Masked
  • Yeti-Coated
  • Dragon Slayer (if it could be strange lol)
  • Winterland Wrapped
  • Smissmas Camo
  • Raving Dead
  • Helldriver
  • Saccharine Striped
  • Starlight Serenity
  • Kiln and Conquer
  • Swashbuckled
  • Necromanced
  • Neon-ween
  • Broken Bones
  • Party Phantoms
Special Thanks
I found out how to do this thanks to user Diabeetus155, who posted about it here on Reddit.

For years I believed that these reflective skins were just always bugged in first person. As far as I know, this is the earliest documentation I could find of someone breaking down what was going on.

Without his post, this guide would not exist (nor would the patch that finally fixed this), so thank you Diabeetus for your help!
11 Comments
SEMBU98 Jan 21, 2024 @ 6:38pm 
the nutcracker wrench looks gorgeous with your fix lol
Dr. Milker  [author] Mar 1, 2023 @ 3:05pm 
Today is the day boys, after all these years it’s finally been patched!! Thank you Diabeetus for submitting the report. I’ll update the guide when I can :)
Diabeetus Mar 1, 2023 @ 1:28pm 
It is done.
Dr. Milker  [author] Jan 29, 2023 @ 4:51pm 
That's amazing!! Let's just hope it comes through. If it does, this will be huge.
Diabeetus Jan 29, 2023 @ 3:32am 
Good news!

I've got a mail from Eric Smith on December 22th, he told me that my fix will be included "in one of the coming updates"!!!
Dr. Milker  [author] Sep 28, 2022 @ 3:44pm 
Hi Diabeetus,

Thanks again for the info! Glad you found the source of the problem. Fingers crosses they might acrually fix this bug someday.
Diabeetus Sep 28, 2022 @ 6:07am 
Hello, OP reddit guy here.

After a few months of contemplating and fighting The Spaghetti Monster, I think I found the actual bug in tf2 source code. Today I made a github entry about this and bumped valve moderator.

https://github.com/ValveSoftware/Source-1-Games/issues/3278

The solution seems easy to implement, hopefully they'll notice my post and after all these years we'll finally see this bug fixed.

P.S. Kudos to @https://steamcommunity.com/id/DrMilker for making such thorough guide.
Dr. Milker  [author] Dec 7, 2021 @ 8:38pm 
@Rambo
Yeah skin info isn’t as readily available. Feel free to add me if you want help with some questions :)
Otherwise, I recommend looking at the Decorated Weapon page on the TF2 wiki. That has every skin in the game listed and I still reference it to this day.
Good luck on your deep dive!
Dr. Milker  [author] Dec 6, 2021 @ 9:14pm 
@Rambo
As the list says, these are all of the affected skins that I know are affected, and if there are others you know that aren't listed, feel free to comment them. :v)

Every skin in the game that uses a reflective material is affected, so if your skin uses a reflective material, the strange variant will not appear correctly. I am not sure if it is only reflective material overrides, or any material override. I would guess the latter. More experimentation would need to be done for sure.
Dr. Milker  [author] Nov 10, 2021 @ 12:28am 
Unfortunately true :/ I play so much on community that I didn't notice when I wrote it.

Support community servers, enjoy your mods!!