Engine migrations usually get discussed in terms of renderers, tooling and frame times. The cosmetic layer sitting on top of all that rarely makes the summary.
Counter-Strike 2 is a good argument for paying attention to it. When the game moved to Source 2 in September 2023, every weapon finish in the game went with it, and quite a few of them did not arrive looking the way players remembered.
Nothing had been redrawn. The lighting and material model underneath had changed, and that turned out to be enough.
A Skin Is Not a Picture
This is the part that surprises people who have never opened the workshop tools. A weapon finish is not a flat image stuck onto a model, it is a pattern plus a set of material parameters describing how the surface behaves.
Those parameters tell the renderer how metallic the surface is, how rough it is, and how light scatters off it. Change the renderer and you change the answer, even if the pattern file is byte for byte identical.
Source 2 brought a different lighting pipeline to Counter-Strike, and finishes that relied on the old model’s quirks were always going to shift. Some read brighter, some lost contrast, and a few looked better than they ever had.
Keeping a Record of What Things Look Like
The awkward consequence is that a screenshot from 2021 is no longer a reliable reference for what an item looks like today. Community documentation had to be rebuilt alongside the game.
Sites in that space have taken different approaches to the problem. ggskins.com is one of the newer ones, launched in 2025, and it pairs case opening with a skin wiki and a free case simulator aimed at an adult audience.
The wiki side is the useful part for anyone tracking appearances, since it catalogues finishes, collections and case contents in one place rather than scattered across old forum threads. The simulator is a demo mode that plays out the animation and the distribution of outcomes without any money involved, which makes it a reasonable way to see what sits inside a collection.
Like every reference of its kind, it is an independent project with no connection to Valve. That distinction matters more than it sounds, because unofficial catalogues are the only reason anyone can compare a finish across two engine versions at all.
What the Workshop Tools Give Away
Valve has never hidden how any of this works. The publicly documented Source 2 workshop tools cover material creation, weapon finishes, particles and post-processing, and they are a free download for anybody curious enough.
Read through them and the repaint stops looking mysterious. A finish is authored against a specific material system, and the toolset is explicit about which properties feed into the final surface.
None of that makes the toolset simple. Parts of it are still incomplete, with placeholder pages carried over from earlier Source 2 projects, which is its own small window into how the migration was run.
That documentation is also why community testing was so fast. People were not guessing, they were checking authored values against what appeared on screen.
Wear Values Complicate the Comparison
There is a second variable that makes before and after arguments harder than they look. Every item carries a float value that determines how worn it appears, and two copies of the same finish will never look identical.
So a player claiming a skin got darker might be comparing a battle scarred example against a factory new one. Sorting that out requires knowing the exact wear band of both screenshots, which most people posting comparisons did not bother with.
The genuine differences survived that noise anyway. Enough matched pairs were compared that the pattern was clear well before it was acknowledged.
Why This Keeps Happening
Cosmetic layers are treated as content rather than code, so they tend to fall outside the normal migration checklist. The team ports the systems, verifies the maps, and assumes the art follows.
Art does not simply follow. It is bound to a rendering context, and moving that context is a change to the art whether anyone intended it or not.
The same story has played out in other long-running titles that survived an engine change, and it usually surfaces in the same way. Players notice first, the game engines discussion follows, and the fix, if there is one, arrives quietly in a later patch.
The Bottom Line
None of this was a scandal, and it was not really a bug either. It was the predictable result of moving a decade of authored surfaces onto a new lighting model.
What it does show is how much of a live game’s history now lives outside the game itself. Valve ships the current build, and everything that used to be true is preserved by people who took screenshots and wrote it down.
That work is unglamorous and largely uncredited. It is also the only reason anybody could tell that the repaint happened at all.


