Il a connu une gloire rapide en 2017 et décroché des rôles dans La tour sombre et Ça, dans lesquels il jouait respectivement Lucas Hanson et Henry Bowers. Il a aussi été vu dans Captain Fantastic et Strangerland.
Il est devenu célèbre en 2013 pour son rôle de James dans le court métrage Time pour lequel il a été récompensé.
Il a joué de petits rôles dans plusieurs émissions, dont Mako Mermaids et Wanted.
Fils de Vicki Atkins et Craig Hamilton, il a un frère nommé Joshua "JJ" Hamilton.
Il a joué aux côtés d'Idris Elba et Matthew McConaughey dans La tour sombre en 2017.