Code updateMay 22, 2026, 12:44 AM UTC

CS2 Update (May 22, 2026)

CS2’s latest patch wires in the full Cologne 2026 Major backbone: new passes, stickers, sprays, a reworked Major hub and store, and a shift toward credit-based souvenir crafting via a new volatile shop system.

Quick read

  • Full Cologne 2026 Major economy added, including pass, journal, credits, keychain, team stickers, and sprays.
  • Main menu and store UI reworked to showcase Cologne 2026, with new Major tile art and a tournament sticker carousel.
  • Souvenir system updated for event 26+, shifting toward credit- and sticker-based “craft souvenir” behavior.
  • New GC message and client wiring for a “volatile shop” that dynamically serves tournament sticker offers.
  • Sticker shaders, inventory camera setups, and tools updated to better support Major stickers and autographs.
  • PP-Bizon’s model resource updated, indicating a small visual or animation adjustment without confirmed gameplay changes.

CS2’s latest update quietly wires in the full cosmetic and UI backbone for the Cologne 2026 Major: new stickers, sprays, passes, a revamped Major hub and store presentation, and an overhauled souvenir flow that shifts toward “crafting” souvenirs from credits and stickers rather than just redeeming match drops.

Cologne 2026 Major: Pass, Journal, Credits, and Stickers

  • New Major economy items: The item data now includes a full set of Cologne 2026 tournament items:
    • Tournament pass and pass bundle prefabs (including pack variants).
    • Tournament credits (cologne2026_tournament_credits_prefab) with dedicated name/description and inventory art.
    • Tournament journal prefabs in multiple tiers (Silver, Gold, Crystal) and related challenge entries.
    • A Cologne 2026-themed keychain/charm (image_inventory and pedestal_display_model for kc_cologne2026).
  • Tournament challenge & Pick’Em text: Localization adds a complete set of strings for Cologne 2026 challenges:
    • Group-stage and playoff Pick’Em sections for contenders, challengers, legends, quarterfinals, semifinals, and grand finals.
    • Activation prompts for the Cologne 2026 pass and description text for the journal and related rewards.
  • Team IDs and team content: New CSGO_TeamID_145–CSGO_TeamID_148 keys and many StickerKit_cologne2026_team_* entries confirm a broad set of team and logo stickers for Cologne 2026, including paper, holo, foil, and gold variants.
  • Sticker and graffiti content:
    • Inventory image definitions (inventory_image_data.vdata) add base and variant camera/light setups for sticker_major_cologne2026 across paper, holo, foil, gold, and graffiti types, tuning how they render in the inventory.
    • Tool and asset manifests reference a large Cologne 2026 sticker and spray set (stickers/cologne2026, materials/decals/sprays/cologne2026/...), suggesting team logo sprays will be available alongside stickers.
  • Skybox and environment touch-ups: A classic sky_cs15_daylight01_hdr material and cube texture are referenced in the new assets; this may be used for themed UI scenes or inventory pedestals rather than core gameplay maps.

Major Hub, Store, and Tournament UI Refresh

  • Main menu Major tile updated for event 26:
    • The main menu tile gains a major-26 style with a new background image (pickem_mainmenu_bg_26_psd) tailored for Cologne 2026.
    • The promo bar is reworked from a single capsule image into a strip of three ItemImage slots (id-open-major-item-image-0/1/2), styled with gradients, shadows, and staggered offsets to highlight multiple items at once.
    • Code now checks g_ActiveTournamentInfo.active to decide visibility, so the tile appears only when the current event is marked active instead of relying on capsule pricing.
  • Randomized player sticker showcase:
    • The Major tile script no longer focuses on a single capsule or champions item; instead it picks several player stickers at random from g_ActiveTournamentTeams and assigns them to the three item images.
    • This likely means the Major hub promotes individual player/ team stickers more directly, rather than only the underlying capsules.
  • Fullscreen store “Tournament” section facelift:
    • The store home now displays only one “tournament” row item list (UpdateItemsInHomeSection('tournament', ..., 1)), freeing visual space for a new tournament sticker showcase widget.
    • A TournamentStickers UI snippet is added, defining five ItemImage slots (id-sticker-0 through id-sticker-4) plus a label using #major_hub_store_title_26.
    • On entering the tournament section, the script creates or reuses this panel, wires it up to open popup_major_store.xml on click, and fills it with five randomly chosen player stickers from active tournament teams.
    • New CSS (.store-home-major-stickers) positions this cluster on the right side, with large, rotated sticker images and hover scaling/brightness to make it a prominent call-to-action for the Major store.
  • Major hub visuals for discounts and items:
    • The mainmenu_major_tile.css changes reshape the banner area: stickers now sit in a half-height overlay with a dark gradient at the bottom and stronger text shadow.
    • Item images adopt smaller heights and radial backgrounds with image shadows, plus distinct offsets for id-open-major-item-image-1 and id-open-major-item-image-2, aiming for a more dynamic stack of featured items.
    • The code still sets a “reduction” state, but current logic forces reduction to an empty string; this suggests discount visuals may be toggled server-side later.
  • Tournament watch page external link:
    • The “Watch Tournament” menu adds a link mapping for event 26 pointing to https://store.steampowered.com/sale/csmajorcologne2026, ensuring the in-game tournament page can send players straight to the official store page.

Souvenirs Shift Toward Crafting and Credits

  • Context menu behavior split by event:
    • The “Get Souvenir” context menu now treats events with nEventID >= 26 differently:
      • The button text is changed to #popup_redeem_souvenir_action_craft, signaling a “craft souvenir” action rather than a pure redeem.
      • The “awaiting highlights” visual state is restricted to events before 26 (nEventID < 26), implying Cologne 2026 souvenirs do not depend on highlight reels in the same way.
  • Souvenir UI cleanup and text changes:
    • The dropdown to choose multiple redeem counts is forcibly hidden by adding the hidden class to its container.
    • When there is no match score yet, the message text is switched from #contextmenu_pickem_souvenir_no_result to #contextmenu_pickem_souvenir_make_later, nudging players to think in terms of crafting/claiming later rather than missing a one-time drop.
    • A small CSS rule ensures elements with class hidden inside match entries truly collapse, tightening up the layout.
  • New preview flow for souvenirs at the Major:
    • The preview button handler for souvenirs is heavily rewritten for event 26+:
      • Instead of constructing a faux souvenir case tied to a specific match, it now focuses on a faux sticker item created from InventoryAPI.GetItemDefinitionIndexFromDefinitionName('sticker') and the latest entry in g_ActiveTournamentInfo.stickerids.
      • Before acting, it calls MissionsAPI.GetSeasonalOperationFauxCreditsCost(g_ActiveTournamentInfo.credits_id, idFauxSticker); if the cost is zero, it re-subscribes to the volatile shop feed and returns, hinting that pricing or availability comes from a dynamic backend.
      • If a cost exists, it plays the sticker_applySticker sound, closes the context menu, and fires ShowSelectItemForCapabilityPopup with a work type of 'craft_souvenir'.
    • This suggests Cologne 2026 souvenirs may be “crafted” by spending tournament credits on stickers and then using those stickers in a capability popup, rather than directly opening a souvenir case tied to a specific match.
  • Generated store data injected into souvenir UI:
    • The context_menu_get_souvenir.xml layout now includes items_event_current_generated_store script data, meaning the souvenir menu can read current-event store configuration (like dynamic sticker or credit offerings) without hardcoding them.

New Volatile Shop Protocol and Backend Wiring

  • New GC message for volatile shop subscriptions:
    • The GC protocol (cstrike15_gcmessages.proto) adds k_EMsgGCCStrike15_v2_VolatileShopSubscribe and a corresponding CMsgGCCStrike15_v2_VolatileShopSubscribe message.
    • Fields include defidx, psid, upnext, gctime, payload, and a repeated uint64 volatile_shop list plus souvenir_matchid in the mission reward redemption message.
    • This appears to support a “volatile shop” concept: a dynamically changing set of offers, potentially time- or session-limited, that the client can subscribe to for updates.
  • Client & server string updates:
    • New runtime strings reference VolatileShopSubscribe, `

volatile_shop`, and a duplicate gold sticker validation message, indicating the backend and tools are being hardened for handling dynamic shop inventories and enforcing sticker uniqueness for event/team combinations.

  • A new UI string #StoreUpdate_PriceLimitExceeded hints at safeguards or warnings when purchases exceed certain price constraints, possibly relevant to this dynamic shop or credit-based crafting.
  • Integration with Major features:
    • UI scripts such as the souvenir preview handler and tournament store widgets call StoreAPI.VolatileShopSubscribe(g_ActiveTournamentInfo.itemid_dynamic_stickers), tying this dynamic shop concept directly to the current Major’s sticker offerings.
    • The mission reward redeem message now carries volatile_shop and souvenir_matchid fields, which may allow mission rewards and souvenir crafting to react to what’s currently available in the dynamic shop.

Inventory, Stickers, and Store Visual Changes

  • Sticker shader updates for store and inventory:
    • The Vulkan sticker shader (csgo_weapon_sticker.slang) gains a new checkbox parameter g_bStickerStoreMode and a S_MODE_DEPTH combo, plus a non-trivial rewrite of the pixel shader logic.
    • Within the GLSL, when g_bStickerStoreMode is true, the base color sampling is mixed with a dark baseline (vec3(0.05)), and later in the pipeline a condition discards fragments when a certain alpha-like value is below a threshold.
    • This likely gives the store and inventory views a controlled, high-contrast sticker presentation (e.g., against a darker background), while still letting weapon stickers in gameplay look as before.
  • Inventory rendering tuning for Cologne 2026 stickers:
    • Each sticker_major_cologne2026_* entry specifies custom light colors, angles, and brightness, plus orbit distance and FOV, to ensure these stickers look consistent and flattering in the inventory preview.
    • Graffiti variants reuse the same base but with lighting tuned for decal-like appearance.
  • Shopping cart and checkout infrastructure:
    • New Panorama resources introduce popup_major_store.xml, popup_major_store.js/.css, and popup_shopping_cart_checkout scripts and styles, alongside a shared shopping_cart.js and popup_capability_shared.css.
    • The main menu now explicitly includes shopping_cart.vts_c, and multiple inventory/inspect popups reference shared capability layouts.
    • This structure strongly suggests a more full-featured in-game cart and checkout experience for tournament items, though the exact user flow will depend on how Valve chooses to expose it.
  • Inspect popup cleanups:
    • popup_inspect_async-bar.js and popup_inspect_action-bar.js see removals of some event registration and souvenir-specific helpers, aligning with the new souvenir crafting and volatile shop logic.
    • The inspect flow for items in lootlists or rental contexts is simplified, removing some earlier parameters like showRentalItems and showMarketLinkDefault from mainmenu.js when bringing up popup_inventory_inspect.xml.

Cologne 2026 Sprays, UI Art, and Asset Manifests

  • Team graffiti sets:
    • Asset manifests add a long list of team-themed Cologne 2026 graffiti textures, each with both normal and “nodrips” variants (e.g., astr_graffiti.vtex, astr_graffiti_nodrips.vtex, furi_graffiti.vtex, furi_graffiti_nodrips.vtex, etc.).
    • This points to team sprays being part of the event offerings, likely obtainable via capsules, passes, or credit-based purchases.
  • Tournament backgrounds and masks:
    • New tournament images and backgrounds for Cologne 2026 appear in panorama/images/tournaments and panorama/images/tournaments/backgrounds, while older souvenir panel/border art for previous Majors (23, 24, 25) is removed.
    • This suggests the souvenir and store UI will visually pivot to Cologne 2026 branding once active, with older tournament-specific borders and panels retired from the front line.
  • Post-processing and UI effects:
    • A post-process file lighting/postprocessing/ui/xp_shop_item.vpost is registered, likely enabling a subtle camera or color effect over featured shop items in the UI.
  • Tools support for sticker markup and autographs:
    • Various Source 2 tools (Hammer, modeldoc editor, physicsbuilder, assetrename, resourcecompiler, assetpreview, modtools) gain support strings for ModelDocStickerMarkupLocator, Autograph, and SpecialIdentifier attributes.
    • This appears to strengthen the pipeline for authoring sticker positions, autographs, and special identifiers on weapon models, which may be particularly relevant for creating and validating Cologne 2026 autograph stickers.

Weapon Model Update: PP-Bizon

  • PP-Bizon model tweak:
    • The resource manifest shows a small size and checksum change for weapons/models/bizon/weapon_smg_bizon.vmdl_c.
    • This is almost certainly a visual or animation adjustment (e.g., minor rigging, attachment point, or shading fix) rather than a gameplay or stat change.
    • Players may notice subtle differences in how the Bizon looks in first-person, in the world, or in the inventory, but there is no direct indication of balance changes here.

Gameplay and Engine Plumbing

  • Weapon pickup flag:
    • The client schema for C_CSWeaponBase gains a boolean m_bCanBePickedUp. While this alone doesn’t confirm user-facing behavior, it gives the engine a dedicated flag to control if a weapon is eligible for pickup.
    • This may later be used for scripting special pickup rules (for example, cinematic props, training weapons, or mid-match events) without relying on indirect hacks.
  • Build/version bump:
    • steam.inf reflects a move from PatchVersion 1.41.6.3 to 1.41.6.4 with updated client/server versions and revision IDs, marking this as a new live build.
    • Engine tools and binaries receive timestamp updates consistent with a fresh build cycle.

Overall Impact

This update does not change core weapon balance or map gameplay, but it lays down almost everything needed for the Cologne 2026 Major inside CS2: economy items, stickers, sprays, store flows, UI branding, and the networking hooks for a more dynamic “volatile” tournament shop. Souvenirs in particular appear to be moving toward a credit- and sticker-based crafting model, with new UI copy and buttons explicitly talking about crafting rather than just redeeming.

Players can expect the in-game main menu and store to highlight Cologne 2026 stickers and passes much more prominently once Valve turns the event on, while collectors and traders will likely see a sizeable new batch of team logos, autographs, and sprays enter the economy. Creators working with Source 2 tools get expanded support for sticker markup and autograph identifiers, and the PP-Bizon receives a behind-the-scenes model polish.

Back to updates

Recent updates

Code updateOct 5, 2026, 11:44 PM UTC

CS2 Update (Oct 5, 2026)

CS2’s latest update improves the Workshop tab with better sorting, badges, and quick actions, adds fully localized pet book artwork, and tightens network safety limits for servers and clients.

  • Workshop maps in the Play menu now sort by readiness and expose hover actions to view, unsubscribe, or remove installed content with clear confirmations.
  • Pet book UI pages now use new per-language title images backed by a language-aware Panorama system and refreshed art assets.
  • New network and server controls enforce message size limits and refine CPU-time protections for client messages, improving robustness against abusive traffic.
  • Rush map thumbnails and other packaged assets were refreshed, and the game version was bumped to a new client/server patch build.
View details
Official updateOct 5, 2026, 11:39 PM UTC

Article title without date (Oct 5, 2026)

Listing-page excerpt

  • Pet photobook pages now have localized text art.
  • Added play menu buttons to manage downloaded Workshop maps.
  • Adjusted VK shader cache extension flags.
View details
Code updateOct 4, 2026, 12:34 PM UTC

CS2 Update (Oct 4, 2026)

Under-the-hood CS2 update tightens network and event message typing, improving how players, entities, and effects are represented for servers, tools, and demos.

  • Internal network, user message, and game event definitions now use explicit engine types for players, entities, and handles, improving consistency for plugins, tools, and demos.
View details
CS2 Update (May 22, 2026) | CS2News.gg