Portal 2: Community Edition - April 17th, 2026 Update
Initial Open Beta release build.
Additions (13)
Implemented the campaign system , allowing modders to create their own fully-fledged standalone campaigns or spin them off into their own individual sourcemods using a simple KV3-based pipeline.
Clustered lights now support volumetric lighting effects
Added additional options for customising
npc_security_cameradecals, sounds, sprites and speedAdded
ForceLookAtinput andOnDetachoutput tonpc_security_cameraHumanoid NPCs can now press Portal floor buttons like players
Adhesion Gel-coated props can now stick to floor buttons.
Added new flag to
point_pushto make it respect BlockLOS brushes during line-of-sight checksStatic props and overlays can now be dynamically tinted by the colour of a specific paint type. Useful for matching gel pipes and signage to configured gel colours.
Added read support for the following packaging formats:
Quake/HROT
PAKpack filesFairy Tale Busters
APKpack filesThese should not be considered a viable substitute for VPK files, and are only intended for mounting other games' content. They cannot be used for Workshop addons.
Added
slopescaleproperty to lights, which allows mappers to tweak the shadow bias slopescale value per light, which can help to reduce shadow acne.Added a
soundKV toenv_sparkto change the spark sound
Panorama Closed Captions
Added a new KeyValues3-based subtitles system that is based upon the more robust Panorama UI framework, featuring support for Pano XML syntax and common HTML-style tags
A dedicated script for migrating old KV1 captions has been added to the
sdk_toolsdirectory to help facilitate the transition to the new KV3 format
Merged SubRip (SRT) subtitles/"cheaptitles" parser into Panorama CC system
Connected the NPC actor gender system to KV3 captions. When applicable to NPCs who speak, gender postfixes will be searched first, then non-binary variant if it cannot be found. (Parity with VGUI CC system.)
Added ConVar
cc_panorama_log, which will control logging messages from new CC system (for messages that did not have an existing check already.)Missing caption logging is still connected to only
cc_showmissing.
Captions will now respect and prioritize the
cc_langConVar over global game language (-language/cl_language) when specified.English CC localization tokens are used as fallback option, should a token not exist in the preferred language.
Improvements (15)
Portal 2 content is now bundled as part of P2:CE
The game is no longer required to be installed in order to launch P2:CE
All assets have been repacked; existing maps have been compressed using BSPZIP, videos re-encoded with the WebM format (using VP8 codec) and all existing textures upgraded to VTF 7.6 (rev2), w/ zstd compression
Base game Portal 2 content now weighs 6.63 GiB in total, yielding an overall total reduction of ~5 GiB
In the workshop uploader finish popup, the link to the addon is now clickable
Workshop Uploader: User-defined ignore paths/files in an addon are now relative to that addon's directory
Cameras now have their cables in Portal 1 maps, and optionally in new custom maps
Improve behavior when holding and releasing Adhesion Gel-coated props
Fall back to older DPI modes on Windows if
PerMonitorV2API is unsupportedAdded argument names to VScript functions in
script_help, as well as the WikiStartup videos should now render at a lower framerate
Add 'Stop' button to sound fields in Hammer
Apply
ent_textautocomplete to all otherent_*debug info toggle commandsAvoid overriding
$colorand$alphawhen overlays are tintedThe limits for overlay count, face count and render order have been mostly removed. Render order is now limited to 65536, while both others can have up to 2 billion
Panorama
Labelelements now support loading inline movies.
Fixes (19)
Reading of
colorkeyvalues should work properly nowFix a spurious warning for
prop_weighted_cubes with custom models definedFixed workshop uploader possibly failing on Linux if file to copy exists in scratch folder
logic_playerproxynow respects theplayer_throwenableConVarThis effectively prevents the player pressing MOUSE1 to bypass the anti-softlock mechanism that would disallow throwing Wheatley into a bottomless pit during the game's intro and plot twist
Fixed crash when unloading map with
env_portal_creditsFixed
game_textnot rendering under certain channels; a dedicated font has been introduced for thisFixed
npc_security_cameranot being grabbable with the Gravity Gun after being knocked off the wallFixed packed AngelScript files not running on Windows clients
Increased the limit of entities that
point_pushcan potentially affect from 256 to 1024Fix Adhesion gel not overriding reflection/conversion gel in physics object interactions
Allow Schrödinger cubes to hit themselves via portals
Fixed PNG screenshots not looking right on map with HDR and postprocess effects
Fixed invalid integer type in blob network bypass code
VBSP can now transform
originandangleskeyvalues for entities not present in FGD dataFix
parallax_obbentities when inside instances.Fixed
color_correction_volumenot working at allFixed crash with the netconsole
Fixed missing 'slope scale' on
env_projectedtextureentities.Fixed
ent_fire !names failing due to case-sensitivity.
Removals (1)
The below change was reverted during development of the next update. KV1 subtitles will remain in-game only as a last-resort fallback for KV3 captions:
Legacy KV1 captions (built via
captioncompiler) will no longer function in-game as they have been fully deprecated. The server will now load KV3 caption files and use that to determine networking dispatch.The
captioncompilertool has also been effectively deprecated as of this release. Please migrate your old-format captions to the new system using the dedicated script in thesdk_toolsdirectory now.This resolves an issue where truly custom captions would not play, because they had no equivalent hash ID substitute that permitted the internal system to dispatch CC messages.
Temporary note: MP servers will currently not be able to dispatch networked CC tokens over the server, meaning players will not be able to see CC/subtitles in a MP game until support for doing so is implemented in a future build.