Evolution triggers fall into roughly six mechanical categories, and the split matters because each category is checked by a different piece of game logic — a level-up trigger is evaluated every time a Pokémon gains a level, a trade trigger is evaluated once at the moment a trade completes, and a move-usage trigger has to keep a hidden counter that persists across the Pokémon's lifetime rather than resetting on level-up or deposit to the box. Knowing which bucket a given evolution belongs to is the fastest way to diagnose why an evolution 'isn't working' — the usual culprit is checking the wrong condition entirely, like trying to level up a Pokémon that actually needs a stone.
Leveling and Friendship-Based Evolution
The baseline case: a fixed level threshold, checked automatically at the moment a level-up happens (never on withdrawal from a box, since no level-up occurs there). Friendship evolutions replace the fixed level number with a hidden friendship stat that must cross a threshold (historically 220 out of a possible 255) at the moment of a level-up, which is why Pichu-to-Pikachu or Golbat-to-Crobat evolutions can stall for dozens of levels if the Pokémon has low friendship from starting a fresh save, then suddenly trigger the instant it's high enough. Some friendship evolutions add a time-of-day gate on top — Eevee evolves into Espeon on a level-up with high friendship during the day, and into Umbreon on a level-up with high friendship at night, using the exact same friendship threshold split only by the game's internal clock.
Item Stones and Held-Item Level-Ups
Evolution stones (Fire Stone, Water Stone, Thunder Stone, Leaf Stone, Moon Stone, Sun Stone, Shiny Stone, Dusk Stone, Dawn Stone, Ice Stone) are consumed directly from the bag on the target Pokémon and trigger evolution immediately, with no level-up required — this is the only major category where evolution can happen at any level, including level 1. A related but distinct sub-category is the held-item-plus-trade trigger: certain Pokémon (Poliwhirl into Politoed, Slowpoke into Slowking, Onix into Steelix) only evolve when traded while holding a specific item, meaning the stone-equivalent item is consumed at the moment of trade completion rather than through the bag menu, and simply holding the item without trading does nothing.
Trade Evolution, With and Without an Item
The simplest trade evolutions — Kadabra into Alakazam, Machoke into Machamp, Graveler into Golem, Haunter into Gengar — check exactly one condition: the moment a trade completes and the receiving player accepts the traded Pokémon into their party, the evolution triggers automatically with no level, item, or location requirement attached at all. This made these four lines infamous in the original Game Boy games specifically because a solo, no-trading playthrough could never legitimately complete them without a second cartridge and a link cable, or in modern remakes, an in-game NPC willing to trade an equivalent Pokémon back and forth specifically to trigger the evolution without permanently losing the original. The held-item-plus-trade variant layers an extra condition on top of the same underlying trade-check: Boldore requires being traded normally (no item) to become Gigalith, while Poliwhirl needs a King's Rock specifically to become Politoed on trade rather than its normal Poliwrath evolution, and Scyther needs a Metal Coat to become Scizor on trade rather than staying Scyther indefinitely. Because the item is consumed by the trade itself rather than the bag menu, a trade-evolution item has no effect at all if the Pokémon is never actually traded — holding a King's Rock through an entire playthrough does nothing to Poliwhirl on its own.
Move-Learned-Based Evolution
A newer category built entirely around a hidden usage counter tied to a specific move. Annihilape is the clearest example: Primeape evolves into Annihilape the moment it uses Rage Fist for the twentieth time, and that counter persists across level-ups, box storage, and even trades — it's tracked on the individual Pokémon, not reset by anything short of the evolution itself completing. Because the counter increments on any successful use of the move (including in Trainer battles, not just wild encounters), players farming this evolution usually look for a low-risk repeatable battle rather than grinding wild encounters one at a time.
Damage-Taken and Battle-Condition Evolution
Runerigus is the standard example of a damage-threshold evolution: a Galarian Yamask must take 49 or more damage from a single hit while its HP does not drop to zero from that hit, and it must be holding no item at the time, after which walking under the specific dig-site arch location in Galar's Dusty Bowl completes the evolution. The 49-damage figure references Yamask's own curse-that-follows-it lore mechanic (its in-game 'over 49' HP-loss flavor text), making this one of the few evolution conditions directly tied to a Pokémon's individual Pokédex flavor rather than a generic system-wide number. Sirfetch'd works on a similar battle-condition logic: a Galarian Farfetch'd evolves after landing three critical hits in a single battle, with the counter resetting if that battle ends without hitting the threshold, since (unlike Rage Fist's use-counter) the crit count does not persist across separate battles.
Location-Based Evolution
Some evolutions check the player's in-game map coordinates at the moment of a level-up rather than (or in addition to) a stat threshold. Magneton evolves into Magnezone on a level-up while the player is standing in a location flagged as a special magnetic field — Mt. Coronet's interior in Sinnoh games, or specific power-plant-adjacent routes in other regional games — and the same location-flag system handles Nosepass into Probopass, Eevee into Leafeon (near Moss Rocks) and Glaceon (near Ice Rocks), and Gligar into Gliscor (which additionally requires holding a Razor Fang and leveling up at night, stacking a location-independent item-and-time gate instead of a map check). The common thread is that these are level-up evolutions with an extra environmental condition layered on, not stone or trade triggers.
Console and Hardware-Interaction Gimmicks
The strangest category checks the physical device itself rather than anything happening inside the game world. Inkay evolves into Malamar on a level-up performed while the 3DS (or Switch, in later re-releases of the mechanic) is held physically upside-down — the game reads the console's built-in gyroscope/accelerometer data directly, and the evolution simply will not trigger no matter how high Inkay's level goes if the hardware orientation check fails. It's one of only two Pokémon evolutions ever gated by a hardware sensor rather than in-game state. The other headline hardware-adjacent case is more of a network trigger than a sensor one: Palafin evolves into its Hero Form during a Union Circle multiplayer link session specifically, requiring an active connection to at least one other player's game rather than any offline condition, which makes it the only evolution in the series that is functionally impossible to trigger in single-player.
Currency and Counter-Based Modern Oddities
Gimmighoul (Chest Form) evolves into Gholdengo after accumulating 999 Coins in its personal Coin counter and then leveling up — the counter is unique to the individual Gimmighoul, filled by interacting with roaming Coin objects scattered across the Paldea overworld or by using the Let's Go auto-walk feature to passively collect them, and like Rage Fist's move counter it persists through box storage and trades, meaning a Gimmighoul purchased or traded partway to 999 keeps its existing count rather than resetting to zero.
How Friendship Is Actually Raised and Tracked
Friendship is a hidden per-Pokémon stat, separate from any visible in-game number, that rises through specific player actions — walking with the Pokémon as a party member (or, in games with the mechanic, as a follower), leveling it up, using certain items (Soothe Bell boosts the rate friendship increases from other actions rather than raising it directly), and winning battles with it in the active slot, while it falls through actions like fainting in battle, using a bitter-tasting berry against its nature, or in older games, being scolded by name at the Pokémon Trainer's daycare-adjacent systems. Every friendship-based evolution checks the same underlying stat but at a different threshold and sometimes a different additional gate: standard friendship evolutions like Golbat into Crobat or Pichu into Pikachu fire on any level-up once friendship clears roughly 220 out of a possible 255, while Eevee's Espeon and Umbreon evolutions add a time-of-day check on top of that same threshold, meaning a max-friendship Eevee that levels up at the wrong time of day simply won't evolve that turn and has to wait for a level-up during the correct window instead.
Eevee's Evolution Family as a Case Study in Every Trigger Type
Eevee is the single clearest illustration of how many different evolution categories the series has shipped, because its eight current evolutions collectively span stone, friendship-plus-time, location, and move-known triggers all on one species rather than requiring eight separate example Pokémon. Vaporeon, Jolteon, and Flareon are the simplest case: a Water Stone, Thunder Stone, or Fire Stone respectively triggers instant evolution with no level requirement, identical to any other stone-evolution line. Espeon and Umbreon are the friendship-plus-time-of-day pair described above — high friendship at a day level-up produces Espeon, high friendship at a night level-up produces Umbreon, using the exact same underlying friendship threshold split only by the internal clock. Leafeon and Glaceon are location-gated: leveling up near a Moss Rock produces Leafeon, leveling up near an Ice Rock produces Glaceon, with specific named locations in each region hosting the relevant rocks. Sylveon breaks from all of the above with a move-known-plus-friendship trigger: Eevee needs high friendship and to know a Fairy-type move at the moment of a level-up, which is why a friendship-maxed Eevee that hasn't specifically learned a Fairy move yet will not evolve into Sylveon even though every other evolution's friendship threshold has technically been cleared.
Feebas: Location and a Hidden Beauty Stat
Feebas into Milotic is historically one of the most obscure evolution conditions in the franchise, because early implementations required the player to fish for Feebas in a small, unmarked handful of water tiles within a much larger lake (Hoenn's Route 119) with no in-game indication of which specific tiles were valid, turning the encounter itself into a trial-and-error hunt before evolution was even a factor. Once a Feebas is caught, evolving it into Milotic requires raising its Beauty stat — one of several hidden 'condition' stats from the Contest system, alongside Coolness, Cuteness, Cleverness, and Toughness — to a high threshold through specific Beauty-boosting berries or Contest-adjacent items, then leveling up once that threshold is cleared. Later games simplified the trigger considerably (some versions allow a simple trade or hold-item shortcut instead), but the original Beauty-stat requirement remains a commonly cited example of an evolution condition that isn't level, stone, trade, friendship, or a straightforward location check, instead pulling from a stat system otherwise mostly unrelated to battling at all.
Why Some of These Conditions Were Deliberately Made Obscure
Game Freak's design history shows a clear pattern of intentionally under-documenting certain evolution conditions in-game specifically to encourage word-of-mouth discovery and, later, strategy-guide and internet-community engagement — Feebas's original unmarked-tile fishing spot and the early hardware-orientation check for Inkay are both cases where no in-game NPC or tutorial ever explains the actual trigger, unlike a stone evolution which at minimum tells the player 'this Pokémon can't evolve by leveling' through its Pokédex flavor text hints. That obscurity was a much bigger obstacle in the pre-internet Game Boy era, when a Feebas encountered on the wrong lake tile simply never evolved with no explanation offered, than it is today, when the answer is a search query away — but the underlying design philosophy (reward players who experiment or share information over players who expect every mechanic to be spelled out) persisted well into modern console-hardware-gated evolutions like Inkay's gyroscope check and Palafin's multiplayer-only Hero Form.
Why These Categories Rarely Overlap
Nearly every evolution in the series belongs cleanly to exactly one of these six buckets, and the rare exceptions that combine two conditions (Gliscor's item-plus-time-of-day, Sirfetch'd's in-battle counter tied to a level-up-free trigger) tend to be the ones players get stuck on longest, since walkthroughs and in-game hint NPCs are usually written around the single most common category — level-up — and don't always flag that a specific Pokémon needs a compound condition instead. The practical takeaway for stuck evolutions: check held item first, then location, then any hidden counter tied to a specific move or battle stat, before assuming the Pokémon simply needs more levels.