In Pokemon Sword and Shield, you need to catch all 400 Pokemon available in the base game before receiving a shiny charm. It's not an item you can trade, nor is it something you can buy or find. The only way to get one is through filling the Pokedex, so yes. You must catch every Pokemon in the base game to get the charm.