Today we continued to investigate the metadata inside the 0.57.2 APK and one specific mechanic caught our attention: shiny Pokémon. After a few hours of exploration, we are now confident enough to present a full overview of the shiny mechanics in Pokémon GO.
Be advised: many of the discoveries we present in this guide may be spoilers for your future experience in Pokémon GO. It may not seem like a big deal now, but the odds of randomly encountering a shiny Pokémon is 1 in 8192. Maybe you want to be surprised.
Shiny Spawns will look differently on the World Map
Besides the regular visual difference of Shiny Pokémon in the encounter screen, you will be able to determine if a Pokémon is Shiny by it’s spawn animation. This indicates the following:
Shiny Pokémon will appear differently on the world map and/or
Shiny Pokémon will sparkle on the world map
This discovery was found in a few key code fragments:
Traditionally SpawnFxPrefabs are consumed by the main Map renderer that loads and plays them once a Pokémon is displayed on the map. If you’re unfamiliar with the concept of a “prefab” it’s a complete component/game object/visual effect in Unity that can be displayed on demand and with low performance hit.
In essence, every effect you do not want to calculate on the fly is usually boxed in a “prefab“.
Number of caught / encountered Shiny Pokémon will be tracked
According to the code behind the APK, every Shiny Pokémon you encounter or catch will contribute to an appropriate counter. There is no indication if these counters will be used for a future “Shiny medal” or simply displayed as additional statistics in your Pokédex.
The following code proves it:
A Pokémon is Shiny only by it’s material
It was long debated if Shiny Pokémon will have any special Stats or Moves. There is no mention of such mechanic in the code. As per the metadata, a Shiny Pokémon is Shiny only by different rendering of the materials it’s 3D model is constructed from.
Some parts of a Pokémon will stay the same as that particular material does not have a Shiny form, while other parts will change color.
All of this is orchestrated by a simple switch on a caught Pokémon: IsShiny.
Here’s the supporting code:
This leads to a simple conclusion: the existing 3D models will be reused and recolored for Shiny variants.