In 2017, he played Jack, the main character in "Marrowbone", a psychological horror film directed and written by Sergio G. Sánchez, and also starring Anya Taylor-Joy, Charlie Heaton and Mia Goth. MacKay portrayed Prince Hamlet in Ophelia, a 2018 film retelling the story of Shakespeare's play from the perspective of the young female character Ophelia. The film premiered at the 2018 Sundance Film Festival, and included Daisy Ridley, Naomi Watts, Clive Owen, and Tom Felton in the cast.