News

How the Nintendo Switch 2 supports original Switch games

"Being able to say, 'Switch games will run on Switch 2!' was one of the goals we wanted to aim for."

Nintendo has shared more information about the Switch 2 in a series of interview posts with core team members behind its production, including all the work that went into supporting Switch 1 games on the new system.

That said, not all games are supported. Nintendo says it’s testing over 10,000 games one by one to ensure they’re compatible with the new system, and so far, most are, but there are a few outliers. The company also has a selection of Switch games that are getting ‘Enhanced’ upgrades to make them look or perform better. It’s also worth noting that the original Switch Joy-Cons can still wirelessly connect to the Switch 2.

The only game that cannot be played on Switch 2 outright is the Nintendo Labo VR kit. Since the Switch 2 is larger than the Switch, it can’t fit into the cardboard VR headset.

The game comparability chart.

This full chart is on Nintendo’s website. The company plans to update it as it tests more games.

“We assume players will think it’s natural for Switch games to run on Switch 2, and of course, we thought that it should be that way too. So, in order to achieve this somehow, we challenged ourselves to implement a new solution,” said Nintendo Switch 2 director Takuhiro Dohta in a Nintendo blog post.

He also mentioned that the new Switch 2 isn’t emulating Switch 1 and is instead using real-time conversions to allow the Switch 2 to read the Switch 1 game data. He doesn’t go into the specifics, but it seems like this game translation layer may work similarly to Proton on the Steam Deck or Rosetta 2 on M-series Macs.

A handful of first-party Nintendo games will have minor compatibility issues, but none of them relate to software. For example, if you want to play Ring Fit Adventure, you’ll need to keep your original Switch Joy-Cons since the new ones won’t fit in the fitness ring accessory.

Games that use the Joy-Con IR sensor, like Game Builder Garage and 1-2-Switch, will still work, but you’ll need to connect an original Joy-Con to the console to use IR features. If you’re a big fan of soccer in Switch Sports, you’ll also need to connect an old Joy-Con since the new ones are too big to fit in the leg strap.

You can find the full list of incompatible games on Nintendo’s website, but all of the first-party Nintendo titles that have problems are related to physical hardware changes. There are more third-party games with issues, but since Nintendo has been able to get all of its games to run, I’d expect other developers can, too, if they put the work in.

“Being able to say, ‘Switch games will run on Switch 2!’ was one of the goals we wanted to aim for,” said Dohata. “When we tried running Switch games on Switch 2, there were some where loading times became faster, or game performance became more stable, so we realized that the overall gameplay experience could improve.”

To further this, Nintendo has clarified that a handful of games will get updated for free to improve stability and performance on Switch 2. This includes both The Legend of Zelda: Link’s Awakening andThe Legend of Zelda: Echoes of Wisdom, alongside Pokémon Scarlet & Violet. 

Other games getting free improvements are Arms, Captain Toad: Treasure Tracker, Super Mario Odyssey, Super Mario 3D World + Bowser’s Fury, Clubhouse Games 51, Game Builder Garage, New Super Marios Bro.U, and Big Brain Academy Brain vs Brain.

As of the time of writing, there are very few games noted with issues, but there are some notable titles like Overcooked! All You Can Eat, Fall Guys, and Wolfenstein II: The New Colossus. Most of these are sub-labelled as “This issue is being investigated.” Hopefully, that means they’ll be playable before launch.

Enhanced titles

Both Switch Zelda games, Pokémon: Z-A, Metroid Prime 4, Mario Party Jamboree and Kirby and the Forgotten Lands are all getting paid upgrades that will add HDR support and other gameplay improvements.

For instance, in Metroid Prime 4, players will be able to choose between performance and quality modes to tailor their game style to visuals or high frame rates. Plus, the FPS title will be one of the first to use the new Switch 2 mouse mode.

an example of switch 1 game upgrades

It’s unclear how much these game upgrades will cost, but Nintendo Switch Online + Expansion pack members will get both Zelda upgrades for free.

Other compatibility notes

In the same vein, Nintendo is also making it easy to transfer your system data and accounts from a Switch to a Switch 2. And the new GameChat feature will also work with older games, so you can talk with your friends no matter what title you’re playing. The new Virtual Game Card feature will also come into play to move your games between Switch and Switch 2.

In the same interview post, Kouichi Kawamoto, the producer behind the new console, even clarified that the team decided not to call it the Super Nintendo Switch since the Super NES wasn’t backwards compatible with NES games. Therefore, with the Switch 2, the company wanted to make sure the name matched the fact that it could play Switch games.

The console will cost $629 in Canada and launch on June 5, 2025.

Source: Nintendo, Game compatibility page 

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49