A look at the resource layers behind weapon cases, collections, and agents in CS2, and why the store page and the game client sometimes tell different stories.
Intro
When you browse skins on C5GAME, you see a render, a wear range, and a price. The game client sees none of that. It sees a line in scripts/items/items_game.txt, a .vmat under materials/, a .vmdl under models/. Weapon cases, collections, and agents each take a different path through these resources, and those paths explain many old "why doesn't the page match the game" puzzles.
Weapon Cases: A Container ID, Not a Bag of Skins
Many players think a case is just a bundle of skins. In the resource structure, the case itself is a separate item with its own prefab, its own opening animation, and its own sound events. What can drop from it is defined in client_loot_lists inside items_game.txt, pointing to specific skins via a list of item definition indexes.
This means two things. First, the skins inside a case are not "packed" into the case model. The AK you unbox and the AK you view directly in the store point to the same item definition; only the acquisition method differs. Second, the opening animation (that spinning light strip) is a fixed resource. It doesn't care whether you get a Mil-Spec or Covert; rarity only affects the highlight and sound layer when the strip stops.
So when you look at a case on C5GAME, the "possible contents" shown are the upstream flattening of the loot list. In-game, you see where the light strip lands. Both describe the same set of item definitions, but the presentation logic is completely different—one is a one-time spread, the other is a probability landing.
Collections: The Namespace Tied to Maps and Tournaments
A Collection is more like a "namespace" at the resource level. It's not a case, has no opening animation, and its job is to tag a group of skins with the same source label—say, a map's drop pool or a tournament's souvenir pool.
The key point: a collection itself doesn't determine wear or pattern. It only decides which pool a skin belongs to. What actually determines how your gun looks is the paint_kit index in the item definition, plus the .vmat and textures for that paint kit. Wear is calculated at runtime from a seed, and so is pattern placement.
This explains an old phenomenon: the souvenir and normal versions of the same skin are identical in model, texture, and wear logic. The only difference is the souvenir's extra gold sticker and nameplate. When you view a souvenir on C5GAME, the page highlights stickers and nameplate, but in-game when you press F, the first thing you see is still the gun's finish—the collection tag is never painted on the gun.
Agents: The Only One of the Three with Bones
The biggest difference for agents is that they have a full character model, skeleton, facial rig, and voice events. Cases and collections are "item layer" things; agents are "character layer" things.
In the resource structure, an agent corresponds to a model under models/player/, plus a set of materials and a set of voice lines. Choosing an agent changes a character resource reference, not a texture slot in your inventory. This is also why inspecting an agent is nothing like inspecting a gun—for a gun you press F to see the finish; for an agent you see the model and gloves in the selection screen, and in-game you only see first-person hands and sleeves.
Hence the classic mismatch: on C5GAME, an agent is a full-body portrait; in-game, you mostly see a pair of hands. The page shows the model resource; the game calls the first-person submodel. Same source, different perspective, naturally different look.
The Three Paths Side by Side
A weapon case is a container, pointing to item definitions via a loot list. A collection is a tag, grouping item definitions via a namespace. An agent is a character, independent of item definitions via model and voice resources. All three appear in the same store interface, but the client calls them through three different logics.
So next time you browse on C5GAME, take an extra step: is what you see a render of an item definition, a portrait of a model resource, or an entry under a collection tag? Once you sort that out, the "mismatch" between page and game becomes an interesting detail rather than a confusion.