Pokémon (Nintendo Switch) ROM Editor & Randomizer
Go to file
Kurt a3f7daa178 Pre-work: clean up some encounter dump logic
Extract individual dumpers to separate classes & files. Too much was happening in that one file.
Move to separate folders
2025-06-23 00:26:06 -05:00
FlatBuffers Minor clean 2025-06-23 00:25:11 -05:00
pkNX.Containers Minor clean 2025-06-23 00:25:11 -05:00
pkNX.Game Minor clean 2025-06-23 00:25:11 -05:00
pkNX.Randomization Minor clean 2025-06-23 00:25:11 -05:00
pkNX.Structures Minor clean 2025-06-23 00:25:11 -05:00
pkNX.Tests Update dependencies 2025-06-23 00:24:26 -05:00
pkNX.WinForms Pre-work: clean up some encounter dump logic 2025-06-23 00:26:06 -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.