[Request] Allow Combined Sorting Between Normal and Advanced Sort Options + Saveable Default Preset
Is your feature request related to a problem? Please describe.
Currently, PKHeX only allows sorting boxes by a single sort rule — either one Normal Sort option or one Advanced Sort option — not a combination.
This makes it difficult to organize large collections efficiently. For example, I might want to sort by Pokédex number first, then by Gender, Shiny, or Form, but the current system only supports one sorting layer.
Normal Sort options
- Pokédex No.
- Pokédex No. (Reverse)
- Level (Low to High)
- Level (High to Low)
- Met Date
- Species Name
- Favorite Mark
- Shiny
- Random
Advanced Sort options
- Usage
- IV Potential
- EV Training
- Ownership
- Type
- Version
- Base Stat Total
- Scale
- Ribbon Count
- Mark Count
- Legal
- Encounter Type
Describe the solution you’d like
Add the ability to combine multiple sort layers from both Normal and Advanced sort categories, applied in order of priority.
Example combined sort:
- Pokédex No. (or Regional Dex based on game version)
- Gender
- Shiny
- Form
- (Optional) Advanced Sort field like “Version” or “Base Stat Total”
Additionally:
- Add a Regional Dex Sort option that automatically adjusts based on the save file’s game version (e.g., Kanto Dex for FRLG, Galar Dex for Sword/Shield, Paldea Dex for SV, etc.).
- Include an option to save default sort presets under
Options → Settings, so a preferred multi-sort setup is automatically applied when a save file is loaded.
Describe alternatives you’ve considered
- Manually sorting or dragging Pokémon between boxes (time-consuming).
- Running multiple sorts sequentially — but each new sort overrides the previous one.
Additional context
The current sorting system allows only one active sort method (see image below).
Combining multi-layer sorting with regional dex support would make it far easier to maintain organized boxes, Living Dex projects, or regional collections while respecting each game’s Pokédex order.
The default behavior finishes sorts by following up the ordering sort by Form, Gender, and lastly Is nicknamed.
You can pre-sort for Shiny, then sort by dex to get the same effect as having Shiny as an intermediary sort.
I think it would be better to just be "make a plugin and insert your sort toolstrip" rather than have some scripting language. Sure it might be okay for direct value sorting of specified properties, but extending support for special features like Legality/Handler properties would be more hassle than writing C# as a compiled plugin.