Code updateAug 3, 2026, 09:22 PM UTC

CS2 Update (Aug 3, 2026)

Small CS2 patch expands scripting for bombs, grenades, and player tracing, tweaks Major Ranked sticker text, and updates engine tools and build metadata.

Quick read

  • Scripting API gains new bomb, grenade, and defuse-related types and callbacks, plus a grenade-spawning helper.
  • New `TracePlayer` helper and updated trace zoo script improve player collision visualization for map creators.
  • Major hub localization lines for Ranked Series Stickers are slightly reworded without gameplay impact.
  • Developer-only material cache limit is raised and multiple engine/tool components receive minor internal updates.
  • Build metadata and resource manifests are refreshed, with no net change to shipped content paths.

A small CS2 patch quietly expands the official scripting API for bomb and grenade logic, adds new tracing tools for creators, tweaks some Major shop text, and includes under‑the‑hood engine/tooling updates aimed at creators and modders.

Expanded scripting hooks for bombs, grenades, and players

The biggest concrete change in this update is to the CS2 scripting API used by map makers and addon authors.

  • Bomb events now use bomb‑specific types:

    • OnBombPlant and OnBombDefuse callbacks now receive CSPlantedC4 instead of a generic Entity for the planted bomb.
    • A new OnBombExplode callback is available, with an event object containing the CSPlantedC4 instance.
    • A new CSPlantedC4 class is exposed with methods like IsBombsiteA(), IsBombsiteB(), IsActive(), IsExploded(), IsDefused(), and timing helpers such as GetPlantTime(), GetExplodeTime(), GetDefuseStartTime(), and GetDefuseFinishTime().

    This makes it much easier for custom game modes and training maps to react precisely to bomb states (for example tracking exact plant/defuse timings or differentiating between sites) without workarounds.

  • Defuse kit access on players:

    • CSPlayerPawn gains HasDefuser() and SetHasDefuser(hasDefuser: boolean).
    • Scripts can now directly query and modify defuse kit ownership.

    This may encourage more complex custom modes around economy or loadouts, such as scripted scenarios that auto‑grant or remove kits under certain conditions.

  • Richer grenade scripting support:

    • New CSGrenadeProjectileBase class with:
      • GetThrower()
      • GetGrenadeType()
      • Detonate()
    • New CSGrenadeType enum listing standard grenade types: HE, FLASHBANG, MOLOTOV, INCENDIARY, DECOY, SMOKE.
    • OnGrenadeThrow now passes a CSGrenadeProjectileBase instead of a generic Entity as projectile.
    • OnGrenadeBounce now receives a structured GrenadeBounceEvent:
      • projectile: CSGrenadeProjectileBase
      • hitEntity: Entity
      • normal: Vector
      • Deprecated bounces: number field kept temporarily for compatibility.

    Together, these changes give workshop authors much more control over live grenade projectiles, including reading type, owner, and even forcing detonations in scripted scenarios.

  • New grenade spawning helper:

    • A new SpawnGrenadeProjectile(config: SpawnGrenadeProjectileConfig): CSGrenadeProjectileBase function is available on the scripting Instance.
    • Two configuration shapes are supported:
      • SpawnGrenadeProjectileConfigWithOwner – specify type, thrower: CSPlayerPawn, optional throwStrength, position, angles, velocity, and angularVelocity.
      • SpawnGrenadeProjectileConfigWithoutOwner – specify type and a required position plus optional angles, velocity, and angularVelocity.

    This allows scripts to spawn grenades at will—either as if a player had thrown them, or from arbitrary points in the world. It should be particularly useful for training utilities, replay tools, and custom minigames.

  • Weapon and grenade event improvements:

    • OnWeaponDrop now includes the dropper: CSPlayerPawn in its event, letting scripts know who dropped a weapon.
    • New OnWeaponPickup callback notifies when weapons are picked up, with the picked up CSWeaponBase in the event.

    These hooks make it far easier to build custom inventory rules, drop restrictions, or stat‑tracking addons.

  • Cheat command registration clarified:

    • RegisterCheatCommand keeps its behavior (create a console command usable only when sv_cheats is true) but its comment no longer labels it as “experimental”.
    • This suggests the API is stabilizing for custom tooling and debug commands within scripts.

New player‑style tracing and debug tools

Alongside the event changes, a new trace helper has been introduced that mirrors how a player collides with the world.

  • New TracePlayer API:

    • Instance.TracePlayer(trace: PlayerTrace): PlayerTraceResult is now exposed.
    • PlayerTrace lets scripts specify:
      • start: Vector
      • Optional end: Vector (if omitted, the function checks whether start is a valid standing position)
      • player: CSPlayerPawn to use that player’s hull and collision settings
      • Optional isDucked: boolean to trace as a crouched player (defaults to the player’s current state)
    • PlayerTraceResult reports fraction, end, didHit, startedInSolid, optional hitEntity, and the collision normal.

    For creators, this opens up robust ways to analyze whether a position is “walkable”, build navigation helpers, or visualize jump paths inside custom maps.

  • Trace zoo script updated with player tracing mode:

    • The built‑in editor/“zoo” script trace.js now supports a new player trace type in addition to line, sphere, box, and bullet.
    • The helper cheat command script_zoo_trace accepts player and the usage message is updated to: type can be line, sphere, box, player, or bullet.
    • When using box or player modes, the script now:
      • Draws a red debug box at the collision end position.
      • Draws a yellow debug line in the direction of the collision normal when a hit occurs.

    These changes are aimed at map authors using the official tools: it should be easier to visualize how player hulls collide with geometry, helping debug stuck spots or tricky jumps.

Minor UI text tweak for Major Ranked stickers

A small localization cleanup touches the Major hub and main menu text related to Ranked stickers:

  • Text wording adjusted:
    • “The Ranked Sticker Series” is now “The Ranked Series Stickers”.
    • “Introducing Ranked Sticker Series!” is now “Introducing Ranked Series Stickers!”.

This is a cosmetic change only and appears to be clarifying the branding around that sticker line without affecting gameplay or item behavior.

Engine and tooling under the hood

Several subtle engine and toolchain adjustments ship in this build, mostly relevant to performance, diagnostics, and creator workflows.

  • Material cache capacity raised (developer‑only):

    • The developer‑only client convar composite_material_cache_count_max increases from 16 to 24.
    • While this is not a user‑facing setting, it suggests the engine can keep more composite materials resident in memory during development and debugging, which may reduce stalls or warnings for complex scenes when using dev tools.
  • Bomb and grenade runtime data visible to tools:

    • New internal strings reference CSGrenadeProjectileBase, CSGrenadeType, CSPlantedC4, and bomb‑damage visualization functions.
    • This aligns with the new scripting APIs and suggests tooling and debug visualizations around bomb damage and grenades have been updated.
  • Loadout and item display utilities refined:

    • Client‑side strings now reference LoadoutFilterByItemType and pShowLoadoutForItem, replacing an older ShowLoadoutForItem name.
    • This hints at internal cleanup or slight improvements to how the client filters and shows items in the loadout UI, though no concrete front‑end behavior change is exposed here.
  • Creator tools updated across the board:

    • Multiple tool‑side components (model import, asset rename, item editor, Hammer, modeldoc utilities, mod tools, resource compiler, and several shared tool frameworks) have refreshed internal strings.
    • Many of the new messages reference “Rigid Weight to '%s'”, which suggests minor enhancements or wording changes in physics/weight painting or rigging workflows.

    While these changes are mostly invisible to players, modders and professional creators may see slightly tweaked UIs, warnings, or log messages in the Source 2 tool suite.

Packaging and version bump

The update also includes standard housekeeping for the shipped build.

  • Game version and build metadata updated:

    • ClientVersion and ServerVersion increment from 2000879 to 2000880.
    • PatchVersion advances from 1.41.7.3 to 1.41.7.4.
    • Internal revision and build timestamps in steam.inf and built_from_cl.txt are refreshed.
  • Resource manifest churn without net content change:

    • The main pak01_dir.txt manifest shows path lists for a range of resources (localization files, map icon screenshots including de_cache, generic models, and the zoo trace script) being removed and re‑added in equal numbers.
    • Since the same paths appear in both added and removed lists, this looks like a re‑ordering or regeneration of the manifest rather than an actual change in what content ships.

    Players should not see differences from this manifest churn; it mostly matters for packaging consistency and tooling.

Overall impact

For most players, this patch is effectively invisible: gameplay balance and maps remain unchanged, with only a tiny wording tweak in the Major hub. The real impact is for scripters and creators, who now have:

  • More precise control over bomb and defuse logic.
  • Stronger grenade‑related APIs, including spawning and manipulating live projectiles.
  • A new player‑style tracing helper and improved visual debugging tools in the editor zoo.

These improvements should make it easier to build advanced training tools, custom modes, and debugging utilities on top of the official CS2 scripting environment, while the engine and tooling tweaks quietly smooth out workflows behind the scenes.

Back to updates

Recent updates

CS2@CounterStrike
Sep 10, 2026, 01:41 AM UTC
View details
Code updateSep 9, 2026, 10:54 PM UTC

CS2 Update (Sep 9, 2026)

CS2 adds new GOTV encryption controls, an experimental CustomPlayerCamera system for scripts and spectators, and improved options for exposing custom HUD layouts to viewers.

  • New GOTV encryption and chat relay controls give tournament servers finer control over what data spectators and tools can see.
  • An experimental CustomPlayerCamera system with follow and offset modes replaces the old camera API for scripts and custom content.
  • Chat-related user messages gain a `textallchat` flag and legacy CS:GO formats are explicitly marked as such for integrations.
  • Custom HUD layout entities can now be flagged as observable so spectators see each player’s own scripted UI.
  • Packaging and strings updates align tools and assets (including de_cache icons and several languages) with the new networking and camera features.
View details
Official updateSep 9, 2026, 10:51 PM UTC

Cache fixes, CustomPlayerCamera and HUD updates, demo chat encryption (Sep 9, 2026)

Map fixes for Cache, a reworked player camera API, updates to custom HUD layout, and encrypted chat in demo playback.

  • Cache received multiple map fixes and added spawn points.
  • `CSPlayerCamera` was reworked and renamed to `CustomPlayerCamera`, with new API methods and deprecated legacy methods.
  • `custom_hud_layout` gained an `observable` property, fixes for spectator state, top-level HUD classes, and now draws above the base HUD.
  • Chat in demo files is now encrypted: team chat is unreadable in demos and global chat is only readable via the in-game watch UI.
View details