Became known for playing Mark in the sci-fi drama I Am Number Four and Luke in Percy Jackson & the Olympians: The Lightning Thief. In 2013, he played Ian O'Shea in The Host. In 2018, he began starring as Trey in Bravo's crime anthology series Dirty John, followed by Netflix's Sci-Fi Another Life in 2019.
He was home schooled by his mother in a small Ohio town.
His first film role was in the Disney Channel movie Go Figure.
He married Allie Wood, editor of Style File Daily, on November 9, 2013.