Pokémon (Nintendo Switch) ROM Editor & Randomizer
Go to file
2025-04-09 00:08:58 -05:00
FlatBuffers Add schemas for Pokémon behavior and AI 2025-03-21 11:10:51 -04:00
pkNX.Containers Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
pkNX.Game Handle some warnings 2025-02-07 11:35:48 -06:00
pkNX.Randomization Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
pkNX.Structures Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
pkNX.Tests Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
pkNX.WinForms Fix generic editor anchoring 2025-04-09 00:08:58 -05:00
.editorconfig Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
.gitattributes Force consistent line endings 2023-09-06 10:53:14 +02:00
.gitignore 💥🐫 Added .gitattributes & .gitignore files 2018-11-13 19:41:53 -08:00
azure-pipelines.yml Update azure-pipelines.yml (#181), fixes automatic build 2022-02-04 21:07:04 -08:00
Directory.Build.props Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
LICENSE Initial Commit 2018-11-13 19:44:43 -08:00
pkNX.sln Enhance FlatSharp generated code with Attributes, TypeConverter (#391) 2025-02-07 09:51:37 -06:00
README.md Update README.md 2025-02-08 11:32:45 -05:00

pkNX

License

pkNX: A package of Pokémon (Nintendo Switch) ROM Editing Tools, programmed in C#.

Similar to pk3DS for Nintendo 3DS, pkNX provides an editing environment to manipulate game binary assets such as stats, learnsets, trainers, and more!

Main Window

Download

Download the latest version here.

Click on the latest run at the top, then click # published under Related, then click Download artifacts using the button on the right.

Supported Games

The following games are supported:

  • Let's Go, Pikachu! / Let's Go, Eevee!
  • Sword / Shield
  • Legends: Arceus
  • Scarlet / Violet (Only for dumping data, not to edit files!)

pkNX operates under the assumption that your dumped ROM includes the latest available update data for the following games:

  • Sword / Shield (Ver. 1.3.2)
  • Scarlet / Violet (Ver. 3.0.1)

Features

Editors can be launched from the program's main window after opening a dumped & unpacked ROM.

  • To lessen read/write lag, data is only saved when the user cleanly quits the program.
  • Edited files do not overwrite the original dumped file; instead, they are redirected to a "patch folder" for easy use with LayeredFS.
  • When the program requests to read a set of files, it will first check to see if an edited version exists, and if not, falls back to the original dump file.

With Custom Firmware, LayeredFS functionality will selectively redirect file loading to files that are present in the patch folder, removing the need to rebuild a custom ROM.

pkNX also provides some utility to extract from supported container types, e.g. gfpak. Simply drag & drop a container (or many) into the main window, and pkNX will unpack all files to a new folder.

Building

pkNX is a Windows Forms application which requires .NET 9.0.

The executable can be built with any compiler that supports C# 13.

Dependencies

pkNX's shiny sprite collection is taken from pokesprite, which is licensed under the MIT license.