Preheat the oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a bowl, cream together butter and sugar until light and fluffy.
Beat in eggs one at a time, then stir in vanilla extract.
In another bowl, combine flour and baking powder. Gradually add to the creamed mixture alternately with milk, mixing just until incorporated.
Divide the batter into three bowls; tint each with a different food color (pink, blue, purple).
Drop spoonfuls of each colored batter into the cupcake liners, swirling them together gently for a marbled effect.
Bake for 18-20 minutes or until a toothpick comes out clean. Let cool completely.
For the frosting, beat together the butter and powdered sugar, adding milk until you reach desired consistency.
Divide the frosting into three bowls and tint each with the same colors.
Pipe the colored frosting onto the cooled cupcakes in a swirl pattern and top with sprinkles. Enjoy your magical unicorn cupcakes!