[2] Creció en Melbourne, ciudad a la que se mudó su familia cuando él tenía tres años.
Por su trabajo recibió el premio al mejor actor juvenil del Australian Film Institute y fue nominado al mejor actor en los mismos premios.
En 2009 filmó La carretera, en la que interpretó al hijo del personaje de Viggo Mortensen.
[5] En 2010 protagonizó Let Me In,[8] trabajo por el que recibió el premio a Mejor Protagonista joven de la Phoenix Film Critics Society y nominaciones a los Critic's Choice, Saturn y Young Artist.
[14] En 2015 participó en la miniserie Gallipoli, en el papel del soldado Thomas "Tolly" Johnson.