This is a sub-page of Portal 2.
Portal 2 had most unused maps stripped before release, but a few have slipped into specific versions of the game here and there. In particular, the Nintendo Switch port of the game contains a number of unused maps that were previously only known to exist in internal development builds.
The below sections will note which specific versions of the game each map can be found in. Note that PC and Switch maps are interchangeable between the two versions, while PS3 (and Xbox, though no unused maps can be found there) use different map formats which must be converted using a decompiler if you wish to run those maps on PC.
mp_coop_community_hub#
Included in PC and Switch versions
A strange co-op map which was seemingly intended as an alternate hub for starting co-op community chambers based on the name. The map itself is pretty unremarkable, consisting of nothing more than a square non-portalable room with a pair of co-op spawn droppers and a pedestal button. The button attempts to run the command cm_show_friend_invite_screen, which doesn't exist, so nothing happens when it is pressed.
What's most interesting about this map is that it has special handling within the game's code, allowing it to be loaded without a partner connected, something that is normally disallowed unless the hidden cvar mp_dev_wait_for_other_player is disabled. This implies that the map's implementation did get far enough to necessitate map-specific hacks like this, before the decision was ultimately made to do co-op community map selection directly through the UI without a hub map.
The cubemap files packed into the map are located under the name coop_hub_stub, implying that this was the original name of the map.
demo_underground#
Included in Switch version
An early version of sp_a3_03 used in a PAX demo. This version lacks Caroline's voice lines, has a different display case of awards and the unused vertical Aperture Science Innovators logo on the window in the lobby, and has an extra incorrectly textured sign in the exit elevator. It also starts the player off with PotatOS on their portal gun, but this is not the case in the original PAX demo, and likely occurred by accident as a result of the transition script being updated to add PotatOS handling logic later in development.
Completing the map attempts to send the player to "demo_paint", but this map isn't included in any version of the game.
devtest#
Included in Switch and PS3 versions
Portal's devtest map is back, baby! The first few sections of the map are mostly the same as the original version but with a few changes: textures have been swapped to Portal 2's versions (the autoportal frames continue using their Portal pre-release design though), the bucket prop has been changed to a computer, the doors between rooms have been removed and are now always open, a test for portal placement helpers has been added to the room testing shooting portals through different materials, and the room testing cubes and buttons now uses Portal 2's new entities for those.
Beyond this, the rest of the map has been replaced with new areas testing Portal 2's mechanics, which are connected via the otherwise unused prop_linked_portal_door entity that was used to link chambers during Portal 2's development. The map also no longer attempts to transition to devtest_01 (which is not known to have ever been updated for Portal 2), instead ending in an empty room with the text "End of Devtest".
Notably, the logic_auto entity that sets up the preplaced bounce/speed gel in the respective rooms also attempts to set up a stick gel room which appears to have been removed from the map.
Holding the computer near the first portal and walking through any portal door will cause the game to automatically save and reload. This was presumably done to regression test the save/load system, but it makes the map somewhat annoying to play through. It can be disabled by running the command ent_fire relay_saveload kill while in the map.
fizzler_test#
Included in Switch version
A simple level made to test fizzlers. Includes fizzlers using both the final and pre-release designs, every type of prop_weighted_cube, as well as the frame for an Old Aperture fizzler (but with no actual fizzler in it).
fizzler_effect_test#
Included in PS3 version
A map used to test the fizzler effect. It has triggers for toggling the fizzlers and launching cubes.
ghostanim_wheatley#
Included in Switch version
|
|
This page or section needs more videos. |
This map appears to contain an animation test for the final sequence of the game. The sequence does not begin automatically; it must be triggered using these the console command ent_fire wakeup_relay trigger.
The dialogue here appears to be largely placeholder, but notably features GLaDOS telling Chell she can "stop by for a visit any time" - the complete opposite of the final game where she sings a song about specifically not wanting Chell to come back. The co-op bots attempt to play the animation "taunt_teamlaugh_idle", but it doesn't exist in the final game, so they appear in default poses.
Directly in front of where the player spawns is a copy of Wheatley parented to a "ghost animating" model used to produce specific scripted movements (hence the map name). It's not clear if this means Wheatley was originally present during the outro or if this was just placed here for testing, as he doesn't speak or even get mentioned in the placeholder dialogue that's present. Running the command ent_fire relay_ghostanim trigger will cause this model to play a rotating animation. This is intended to be combined with an animation on the core model called "wheatley_tutorial", but this animation doesn't exist in the final game.
The map contains some additional logic which isn't part of the ending sequence, but can similarly be triggered through the console:
- end_glados_lookat_player_relay will make GLaDOS play an idle animation and attempt to face towards the player, but instead she faces 90 degrees to the right.
- end_bot_sounds_relay will play various robot arm sounds.
outro_map#
Included in Switch version
The map used to create the SFM outro for the co-op campaign. It's a modified version of the final map with the Human Vault actually present behind the vault door, making the Switch port the first time this map became publicly available. Most of the rest of the original map has been cleaned out, with the final chambers having large chunks missing and the earlier rooms removed entirely.
outro_map_tint2#
Included in Switch version
A slightly newer version of the outro cutscene level. Oddly, this doesn't seem to be the version used for the actual SFM video, as the video shows some details which are present in outro_map but not this one. It includes more details near the starting area, such as a fizzler and lasers.
styleguide_office_1980#
Included in Switch version
A styleguide level for the 1980s-styled offices. This map appears to contain a leak and is missing several of the models it is supposed to be showcasing, as well as a reference to a missing "aperture_tilefloor001a" texture.
wakeup_anim_test#
Included in Switch version
A test map for GLaDOS' wakeup animation, as well as her subsequent capturing of Chell and Wheatley. By default, the map is searching for scenes and sounds that no longer exist in Portal 2, and the breaker room sequence does not start.
mp_coop_fling_train#
Included in Switch version
A full coop chamber, complete with multiple tests, as well as dialogue from GLaDOS. Some textures, sounds, and models are missing or are using leftover Portal 1 assets.
There is intended to be a complex panel animation after GLaDOS speaks her intro lines, and the radar is intended to change what it displays as GLaDOS speaks, however the logic for these doesn't work due to being designed for an older version of the choreo scripting system. This can be fixed by adding the following code between lines 345 and 346 in update/scripts/vscripts/choreo/glados_coop.nut:
if ("fireentity" in SceneTable[inst.waitVcdCurrent]) {
local scene = SceneTable[inst.waitVcdCurrent]
if ("parm" in scene)
EntFire(scene.fireentity,scene.fireinput,scene.fireparm,scene.firedelay)
else
EntFire(scene.fireentity,scene.fireinput,"",scene.firedelay)
}
There is also intended to be dialogue of GlaDOS talking about the radar, which is missing. In the Spanish localization files there are leftover placeholder lines which correspond to the lines that where supposed to play in the radar room.
Cut Maps#
|
|
To do: |
Portal 2 keeps a list of resources used in each map under the Portal 2\portal2\reslists folder. Resource lists and sound lists exist for every single-player and co-op map in the game, as well as many, many extras that do not correspond to any map in the final game. Unfortunately, these files don't contain any actual map data and can't be played, but it is possible to determine roughly what each map originally contained by analyzing the assets loaded by each one.
The fact that these are here to begin with is strange, as resource lists like this were only ever used to allow running partially installed games back in the days of GCF files - something which Portal 2 never used to begin with. Maybe they were used internally to help with cleaning out unused assets? Whatever the reason, Valve seems to have realized the pointlessness of these by the time of Portal 2's DLCs being released, as none of them include any additional resource lists.
Interestingly, there are way more cut co-op maps than cut single-player maps. The used single-player maps all stick to a "sp_a#_MAP_NAME" convention, with # being the "act number" somewhere between 1 and 5. This must have been a late addition, as the old prototype maps don't follow this convention.
Map Name |
Notes |
|---|---|
aperture_training_doors |
Map from an older version of the F-Stop campaign - Taught the Doorway mechanic. |
background_menu |
Portal 2 uses background videos instead of 3D background maps in the final game. |
demo_catapult |
Map scrapped from the PAX East 2011 demo - Near final version of sp_a2_catapult_intro |
demo_intro |
First map of the PAX East 2011 demo - Near final version of sp_a1_intro |
demo_lasers |
Map scrapped from the PAX East 2011 demo - Near final version of sp_a2_dual_lasers |
demo_paint |
Third and final map of the PAX East 2011 demo - Near final version of sp_a3_jump_intro |
demo_tbeam |
Map scrapped from the PAX East 2011 demo - Near final version of sp_a4_tb_wall_button; Uses glados_wheatley_newbody from sp_a2_core for the monitors instead of the stripped down model used for monitors in the final game |
demo_underground |
Second map of the PAX East 2011 demo - Near final version of sp_a3_03; Found in the Companion Collection and partner build dump |
demo_wakeup |
Map scrapped from the PAX East 2011 demo - Near final version of sp_a1_wakeup |
devtest |
The main developer test map. It was used to test all of the games features in order to make sure they were working correctly; Found in the PS3, Companion Collection, and partner build dump |
e3_paint_jump_bomb_flings |
Maps for the game’s E3 presentation. |
e3_paint_speed |
|
e3_paint_speed_tbeam |
|
e3_suction |
|
e3_trust_fling |
|
lab_intro |
Final version of the F-Stop campaign before the mechanic was scrapped. |
lab_01 |
|
lab_02 |
|
lab_03 |
|
lab_04 |
|
mp_coop_2guns_bridge_jump |
"2guns" was a cut style of co-op level in which one player would have a paint gun and the other a Portal Gun, and could swap them when standing next to each other. In the final game, if a map name contains the string "2guns", it will cause only Atlas to spawn with a portal gun, with a console error showing the game attempting to give P-Body a paint gun but failing due to the entity being disabled. |
mp_coop_2guns_bridge_stick |
|
mp_coop_2guns_bridges |
|
mp_coop_2guns_bridges2 |
|
mp_coop_2guns_flingstick |
|
mp_coop_2guns_guardian |
|
mp_coop_2guns_intro |
|
mp_coop_2guns_longjump_intro |
|
mp_coop_2guns_longjumps |
|
mp_coop_2guns_swap |
|
mp_coop_2guns_walljumps |
|
mp_coop_animation_test |
|
mp_coop_button_tower |
|
mp_coop_crusher |
|
mp_coop_double_catch |
|
mp_coop_dueling_tbeams |
|
mp_coop_fling_train |
Found in the Companion Collection and partner build dump. |
mp_coop_laser_1 |
mp_coop_laser_2 does exist. |
mp_coop_laser_3 |
|
mp_coop_laser_bypass |
|
mp_coop_laser_redirect |
|
mp_coop_lobby |
Early version of the Coop lobby. |
mp_coop_mic_calibration |
Scrapped map for multiplayer microphone calibration |
mp_coop_paint_bridge_02 |
mp_coop_paint_bridge does exist. |
mp_coop_paint_bridge_intro |
Apparently Valve decided bridge painting didn't need an introductory level after all. |
mp_coop_paint_crazy_box |
While scrapped from the base game, the puzzle would later end up in the Art Therapy course added with the Peer Review DLC |
mp_coop_paint_fizzler_intro |
"Paint fizzlers" exist in the game's code, and removes gel passing through them. |
mp_coop_race_1 |
mp_coop_race_2 does exist. |
mp_coop_race_3 |
|
mp_coop_rat_maze_2 |
mp_coop_rat_maze does exist. |
mp_coop_rocket_block |
|
mp_coop_separation_1 |
Another map scrapped from the base game that was reused in the Peer Review DLC |
mp_coop_start_02 |
mp_coop_start exists, and it is the only co-op Calibration Course map. |
mp_coop_start_03 |
That means the Calibration Course was drastically shortened, or merged into one map. |
mp_coop_start_pax |
Likely a version of the Calibration Course to be shown at a PAX demo. |
mp_coop_start_sfm |
Version of the map optimized for Source Filmmaker. |
mp_coop_tbeam_1 |
|
mp_coop_tbeam_fling_float_1 |
|
mp_coop_tractor_up_sfm |
Likely a map created just for promotional shots |
mp_coop_trap_1 |
|
mp_coop_vertical_crushers |
|
mp_coop_vista |
|
mp_coop_wall_1 |
mp_coop_wall_2 and mp_coop_wall_5 are used in the final game. mp_coop_wall_4 is skipped, but references to it can be found elsewhere |
mp_coop_wall_3 |
|
mp_coop_wall_6 |
|
mp_coop_wall_catch |
|
mp_coop_wall_intro_train |
|
mp_coop_wall_stop |
|
mp_coop_wall_straight_jump |
|
mp_futbol_01 |
Scrapped PvP map using glass Futbols - Seemingly divided into red and blue sides |
portal_placement_on_paint_test |
Conversion Gel test map |
pressdemo_01 |
Early version of sp_a1_intro4 from the first quarter of 2010 |
pressdemo_02 |
Early version of sp_a1_wakeup from the first quarter of 2010 - Map still uses the scrapped ‘Carcass’ GLaDOS design |
pressdemo_03 |
Original Laser introduction puzzle from the first quarter of 2010 |
pressdemo_03_vista |
|
pressdemo_04 |
Catapult puzzle from the first quarter of 2010 |
pressdemo_05 |
Light Bridge puzzle from the first quarter of 2010 |
pressdemo_06 |
Tractor Beam puzzle from the first quarter of 2010 |
pressdemo_06_vista |
|
pressdemo_coop_doors |
|
pressdemo_coop_laser_2 |
|
pressdemo_coop_laser_crusher |
|
pressdemo_coop_paint |
|
pressdemo_coop_paint_come_along |
|
pressdemo_coop_race_2 |
|
pressdemo_coop_straight_jump |
|
pressdemo_coop_wall_5 |
|
pressdemo_coop_wall_catch |
|
pressdemo_coop_wall_intro |
|
pressdemo_glados |
There exist several screenshots of this map on Stephane Gaudette's Portfolio. It is very similar to the final one and was likely the one shown at E3. |
pressdemo_laser_stairs |
|
pressdemo_paint_bounce |
|
pressdemo_paint_speed |
|
pressdemo_reconfigure |
Seen in the game’s teaser trailer and E3 Environments showcase |
pressdemo_sphere |
Early Version of Secret panel (sp_a1_intro7) |
pressdemo_suction |
|
pressdemo_tbeams |
|
puzzle_chickens |
A map from an earlier version of F-Stop - The puzzle contained a barn, a chicken, its nest, a "barrel machine" (vending machine that provided explosive barrels from Half-Life 2), a mannequin spawner, and a mousetrap. |
sp_a1_intro1_new_container |
Likely used for testing the final version of the "motel room" the game starts in. |
sp_a2_ring_around_turrets |
This, sp_a2_turret_tower, and sp_a3_02 were cut extremely late in development, as they follow the "sp_a#_" naming of the final maps |
sp_a2_turret_tower |
The flowmap for this map’s toxic goo still exists in the game files, indicating that it was the very last map cut from the game before the content lock |
sp_a3_02 |
The vault door section before it was merged into sp_a3_01 |
sp_angled_bridge |
|
sp_assisted_angle_fling |
|
sp_bottomless_pit |
|
sp_box_goalie |
Early version of sp_a1_intro5 (Cube Momentum) |
sp_box_over_goo |
|
sp_bridge_climb |
|
sp_bridge_laser |
|
sp_building_the_floor |
|
sp_catapult_box_smuggle |
|
sp_catapult_course |
An Act 4 Wheatley map cut towards the end of development |
sp_catapult_fling_intro |
|
sp_catapult_laser_flings |
|
sp_catapult_multifling |
|
sp_catapult_over_tower |
|
sp_checkpoint_intro |
|
sp_climb_for_los |
LOS typically stands for "line of sight", perhaps the player would climb something to get line of sight to a portal surface? |
sp_crusher_intro |
|
sp_destroyed_still_alive |
A scrapped BTS map set before an earlier version of sp_a1_wakeup - Featured destroyed versions of chambers 08 and 11 from Still Alive, although only partially. The chambers were only visible from behind their observation window, similar to a section in the first game’s escape sequence. |
sp_escape_catapult |
Early Act 4 Wheatley map - Second map of an older escape sequence |
sp_escape_paint_portal |
Early Act 4 Wheatley map - Fifth and final map of an older escape sequence, with the next map being the final bossfight |
sp_escape_paint_speed_tbeam |
Early Act 4 Wheatley map - Fourth map of an older escape sequence |
sp_fling_training |
Early version of sp_a1_intro6 (Future Starter) |
sp_glados_01 |
The overgrown GLaDOS chamber, but has better lighting and fog for some reason. |
sp_hole_in_the_sky |
|
sp_incinerator_01 |
Earlier name for sp_a2_intro (source: glados_scenetable_include.nut) |
sp_intro_01 |
sp_a1_intro# maps do exist, but they only go up to 7. Early version of sp_a1_intro1 (Container Ride) |
sp_intro_02 |
Early version of sp_a1_intro2 (Portal Carousel) |
sp_intro_03 |
Early version of sp_a1_intro3 (Portal Gun) |
sp_intro_04 |
Early version of sp_a1_intro4 (Smooth Jazz) |
sp_intro_05 |
Early version of the second puzzle in sp_a1_intro4 (Smooth Jazz) before it was merged into sp_intro_04 |
sp_intro_06 |
Early version of sp_a1_intro7 (Secret Panel) |
sp_intro_07 |
A scrapped ‘destroyed’ version of chamber 10 from the first game |
sp_intro_08 |
A scrapped ‘destroyed’ version of chamber 09 from the first game |
sp_intro_09 |
Presumably an overgrown version of chamber 12 from the first game |
sp_laser_intro |
|
sp_laser_power_bridge |
|
sp_laser_powered_lift |
|
sp_laser_redirect_intro |
Earlier name for sp_a2_laser_intro (source: glados_scenetable_include.nut) |
sp_laser_relay_bridges |
|
sp_laserfield_intro |
There is only one laser field in the final, in sp_a4_laser_platform. |
sp_paint_box_slime_hop |
|
sp_paint_bridges |
Painting Light Bridges with Gel is only used in Coop in the final game |
sp_paint_jump_angled_fling |
|
sp_paint_jump_artillery |
|
sp_paint_jump_box_wall_jumps |
|
sp_paint_jump_clean_box |
|
sp_paint_jump_crazy_box |
An early version of the final game’s Crazy Box, albeit still in the style of modern Aperture |
sp_paint_jump_flings |
|
sp_paint_jump_intro |
|
sp_paint_jump_pinball |
|
sp_paint_jump_redirect_bomb |
|
sp_paint_jump_spiral_jumps |
|
sp_paint_jump_tbeam |
|
sp_paint_jump_trampoline_intro |
|
sp_paint_jump_wall_jumps |
|
sp_paint_jump_wall_jumps_gap |
|
sp_paint_portal_placement |
|
sp_paint_speed_flings |
Likely an early version of sp_a3_speed_flings |
sp_paint_speed_intro |
A scrapped Propulsion Gel intro - The puzzle can be seen at the end of devtest (as evident by door names seen when decompiling the .BSP file.) |
sp_paint_speed_racer |
The original version of a map uploaded by a Valve employee to the Steam Workshop |
sp_paint_speed_ramp |
Likely an early version of sp_a3_speed_ramp |
sp_paint_speed_rocket |
|
sp_paint_stick_catapult |
Stick was a cut type of gel that let the player walk on walls and ceilings |
sp_paint_stick_climber |
|
sp_paint_stick_cube_painting |
|
sp_paint_stick_fling |
|
sp_paint_stick_goo |
|
sp_paint_stick_intro |
|
sp_paint_stick_jump |
|
sp_paint_stick_jump_fling |
|
sp_proto_sphere_escape |
|
sp_proto_sphere_intro |
|
sp_proto_sphere_reroute |
|
sp_pull_to_fling |
|
sp_richard_sphere |
Refers to the ‘Richard’ Sphere |
sp_rocket_box_trigger |
A set of maps set around the scrapped Tripwire Turret (a version of the first game’s Rocket Turret that does not aim at the player) |
sp_rocket_laser_lift |
|
sp_rocket_redirect |
|
sp_rocket_turret |
|
sp_rocket_turret_intro |
|
sp_sabotage_tube_ride |
Earlier name for sp_a2_bts6 (source: glados_scenetable_include.nut) |
sp_sabotage_01 |
|
sp_sabotage_jailbreak |
Earlier name for sp_a2_bts1 (source: glados_scenetable_include.nut) |
sp_sabotage_jailbreak_03 |
sp_sabotage_jailbreak2 is skipped, but is referenced in glados_scenetable_include.nut |
sp_sabotage_offices |
|
sp_sabotage_panel_sneak |
|
sp_sabotage_turret_factory |
In the final game, you do sabotage a turret factory. |
sp_security_intro |
One of the maps featuring the cut security scanner enemy |
sp_shoot_through_wall |
|
sp_sphere_2nd_encounter |
|
sp_sphere_3rd_encounter |
|
sp_sphere_intro |
|
sp_sphere_wall |
|
sp_suction_turrets |
|
sp_tbeam_box_over_goo |
|
sp_tbeam_box_smuggle |
|
sp_tbeam_ceil_button |
|
sp_tbeam_cut |
|
sp_tbeam_get_height |
|
sp_tbeam_goo_ride |
|
sp_tbeam_turret_towers |
|
sp_tbeam_wall_button |
|
sp_temp_portal_gun |
|
sp_temp_sphere_1 |
|
sp_temp_sphere_2 |
|
sp_temp_sphere_3 |
|
sp_temp_sphere_4 |
|
sp_tube_blockage |
|
sp_tube_vista |
|
sp_turret_intro |
|
sp_turret_islands |
|
sp_unassisted_angle_fling |
|
sp_under_cave_transition_1 |
|
sp_under_cave_transition_2 |
|
sp_under_liftshaft |
|
sp_under_potatos |
|
sp_under_stick_catapult |
A version of sp_paint_stick_catapult with a few textures swapped out |
sp_under_stick_goo |
An almost fully artpassed Underground map utilizing sticky gel |
sp_under_stick_intro |
A version of sp_paint_stick_intro with a few textures swapped out |
sp_underground_paint_stick_goo |
Same as sp_under_stick_goo |
sp_vista_placeholder |
|
sp_vista_roast_beef |
A removed roast beef dinner scene from an earlier draft of the story. Quote from The Final Hours of Portal 2: "...In one sequence that didn't make the final game, players would arrive at the start of the new puzzle and see a candlelit roast beef dinner sitting on a table, prepared by GLaDOS. Coming closer, you realize the roast beef is ice-cold, and then hear GLaDOS chastising you for missing dinner because you were too busy cheating on her with a personality sphere." |
world_animation_zoo |
Probably a "zoo" map with many common models and their animations. |
Mentioned in choreo scripts#
Additional maps that don't have resource lists built, but are mentioned in scripts/vscripts/choreo/glados.nut or related include files
Map Name |
Notes |
|---|---|
sp_laser_stairs |
Earlier name for sp_a2_laser_stairs |
sp_laser_dual_lasers |
Earlier name for sp_a2_dual_lasers |
sp_laser_over_goo |
Earlier name for sp_a2_laser_over_goo |
sp_catapult_intro |
Earlier name for sp_a2_catapult_intro |
sp_trust_fling |
Earlier name for sp_a2_trust_fling |
sp_bridge_intro |
Earlier name for sp_a2_bridge_intro |
sp_bridge_the_gap |
Earlier name for sp_a2_bridge_the_gap |
sp_turret_training_advanced |
Earlier name for sp_a2_turret_intro |
sp_turret_blocker_intro |
Earlier name for sp_a2_turret_blocker |
sp_column_blocker |
Earlier name for sp_a2_column_blocker |
sp_laser_vs_turret_intro |
Earlier name for sp_a2_laser_vs_turret |
sp_laser_relays |
Earlier name for sp_a2_laser_relays |
sp_ring_around_the_turrets |
Earlier name for sp_a2_ring_around_turrets |
sp_catapult_fling_sphere_peek |
Earlier name for sp_a2_sphere_peek |
sp_turret_tower |
Earlier name for sp_a2_turret_tower |
sp_stop_the_box |
Earlier name for sp_a4_stop_the_box |
sp_sabotage_darkness |
Earlier name for sp_a2_bts3 |
sp_sabotage_factory |
Earlier name for sp_a2_bts4 |
sp_sabotage_jailbreak2 |
Earlier name for sp_a2_bts2 |
sp_sabotage_jailbreak_01 |
Earlier name for sp_a2_bts1 |
sp_sabotage_glados |
Earlier name for sp_a2_core |