Top 5 This Week

Related Posts

CS2 October 22 Update Opens Hostages, Game Rules and Console to Map Scripts

Valve's October 22 CS2 update gives mapmakers hostage scripting, asset precaching, new GameRules and Console exports, and radar elements in every mode.

Valve released a Counter-Strike 2 update on October 22, 2026, and every line of it is for mapmakers. Map scripts can now track hostages, control warmup, scores and round endings through a new GameRules export, run console commands and preload assets. Competitive matchmaking, weapons and maps are unchanged.

The other big addition is a top-level Console export that can set convars without sv_cheats turned on. Radar elements placed by scripts also work in every game mode now. Before this patch they only showed up in Rush.

What Changed in the CS2 October 22 Update?

Valve’s official October 22 patch notes on Steam are split almost entirely under a map scripting header. Six areas moved. Hostages, precaching, the console, game rules, the custom HUD and the radar each picked up new functions, and a short list of fixes closed it out.

- Advertisement -

For anyone keeping track, this is the second patch in eight days. The previous one, on October 14, was a quality-of-life pass on demos, and we covered it in our breakdown of the CS2 demo viewer and round backup changes.

CS2 October 22 Patch Notes (Full List)

These are Valve’s official release notes for the October 22, 2026 Counter-Strike 2 update.

[ MAP SCRIPTING ]

  • Added custom_hud_layout entity:
    • custom_hud_layouts are the entry point for scripted maps to provide custom UI.
    • Panel, Label, Image, and Button panel types are supported.
    • Styling with css is supported.
    • Events and client side scripting are not supported.
    • Maintains state during tools mode reloads.
  • Added cs_player_camera entity:
    • Gives control of a player’s view without moving their pawn.
    • Can be configured to let the player look around from the scripted position.
  • Added Instance.Delay
  • Added Instance.OnBombPlantStart
  • Added Instance.OnBombPlantAbort
  • Added Instance.OnBombDefuseStart
  • Added Instance.OnBombDefuseAbort
  • Added Instance.OnCustomHudClicked
  • Added Instance.IsDedicatedServer
  • Added Entity.Move
  • Added Entity.GetMoveType
  • Added Entity.SetMoveType
  • Added CSPlayerPawn.GetC4
  • Added CSPlayerPawn.GetDefuseTarget
  • Added CSPlayerPawn.IsBuyMenuOpen
  • Added CSPlayerPawn.GetCamera
  • Added C4.GetPlantStartTime
  • Added C4.GetPlantFinishTime
  • Added C4.AbortPlant
  • Added CustomHudLayout.SetHasClass
  • Added CustomHudLayout.SetHasClassForPlayer
  • Added CustomHudLayout.SetDialogVariableString
  • Added CustomHudLayout.SetDialogVariableStringForPlayer
  • Added CustomHudLayout.SetInputCaptureEnabled
  • Added CustomHudLayout.IsInputCaptureEnabled
  • Added CSPlayerCamera.IsEnabled
  • Added CSPlayerCamera.SetEnabled
  • Added CSPlayerCamera.SetIsControllingAngles
  • Added enum CSMoveType
  • Corrected types for some events where parameters were maybe undefined.
  • Errors encountered during initial script run are now logged to the console.
  • Unhandled promise rejections are now logged to the console.
  • Added the column number to errors caught during the CompileModule step of script loading.
  • Deprecated planter from Instance.OnBombPlant event
  • Deprecated defuser from Instance.OnBombDefuse event

Hostage Scripting Finally Arrives

Hostage Rescue has been part of Counter-Strike since the late 1990s, yet scripts in CS2 couldn’t see it until now. The new CSHostage class exposes whether a hostage is being picked up, being carried, or already rescued. It can also return the player who rescued it, plus the exact start and finish times of a pickup.

Six new event hooks fire at each step. They are OnHostagePickUpStart, OnHostagePickUpAbort, OnHostagePickUp, OnHostageDrop, OnHostageRescue and OnHostageKill, and a matching CSPlayerPawn.GetHostage tells a script which hostage a player is holding.

What does that unlock? A creator could build a timed escort mode, award money for a clean rescue, or punish a team that loses a hostage halfway to the zone. None of that was possible from script before this week.

Precaching Lets Maps Load Assets Mid-Match

The new Instance.Precache call returns a CSPrecache object. Mapmakers can check whether an asset is loading or loaded on the server, on each client, or for every connected player. A Release method frees it when the map no longer needs it.

In practice, a map can now wait until every player has a model or sound ready before it spawns anything that uses it. That should cut down on pop-in and missing assets in heavier community maps.

New GameRules and Console Exports

Valve also reorganised a large chunk of the API. Round and match controls now live under a top-level GameRules export, which includes StartWarmup, EndWarmup, GetTeamScore, AddTeamScore, TerminateRound and AddTeamMoney.

Several functions that used to sit on Instance have moved there too, such as IsWarmupPeriod, GetRoundsPlayed and SetRoundRemainingTime. The old versions are flagged as deprecated. They still run, so existing maps won’t break overnight.

The new Console export collects convar getters for booleans, numbers, strings, vectors, angles and colours, along with ClientCommand, ServerCommand and RegisterCheatCommand. The notable one is Console.SetConvar, which Valve says is not restricted by sv_cheats. Instance.Msg has been renamed Console.Log, a name anyone who has written browser JavaScript will recognise immediately.

HUD, Radar and Bug Fixes

Two new layout classes, HUD_TEAMMENU_VISIBLE and HUD_CHAT_VISIBLE, let a custom HUD react when the team menu or chat is open. They build on the custom_hud_layout entity Valve introduced in its late-August map scripting update, which also added the scripted player camera.

On the radar side, radar_element now draws in all game modes. Until this patch, that entity only worked in Rush, the 3v3 mode Valve launched with the Rush Hour update in September.

The fix list is short but useful:

  • A crash in GameRules.AddTeamMoney is gone.
  • Enum values now match the point_script.d.ts type file.
  • CSRadarPoint.IsVisibleToTeam and CSObservablePoint.IsObservableForTeam return booleans instead of numbers.
  • Script warnings include call stacks and argument details.
  • map_workshop autocomplete works better in the console.

Why Valve Keeps Investing in CS2 Map Scripting

CS2 scripting runs on cs_script, a JavaScript system that replaced the Lua-based VScript used in earlier Source 2 games like Half-Life: Alyx and Dota 2. Maps attach code through the point_script entity, according to Valve’s developer wiki page on CS2 scripting.

Valve has been filling out that API patch by patch. A year ago, the September 25, 2025 scripting update added round, bomb and gunfire event hooks and a de_train example map. August 2026 brought custom HUDs and cameras, and now hostages and game rules are in.

Each step gets community creators closer to the custom game modes CS:GO servers used to run through third-party plugins. With a GameRules export and console access built in, more of that logic can ship inside the map itself.

What Comes Next

Expect Workshop creators to start testing hostage-based modes first, since that was the most obvious gap. Server owners using deprecated Instance calls should plan to move them to GameRules and Console before Valve eventually removes the old names.

For regular players, the next patch that touches matchmaking is the one to watch. You can follow every release on our Counter-Strike 2 news hub.

More on Counter Strike 2

- Advertisement -
Satyam Kumar
Satyam Kumar
Satyam is a very passionate gaming journalist. He focuses on Counter-Strike 2, Valorant and everything esports. With many years in the industry, Satyam shares detailed insights and breaking news. He brings exciting stories to the gaming community.

Popular Articles