As with Guillaume Canet in the original film, My Son (2017), James McAvoy was not given a script and had to improvise all of his dialogue. All other actors knew the script and story, and McAvoy's reaction to the other actor's revelations were genuine. This was done to capture the authentic shock and surprise a parent would experience when dealing with a traumatic event.
Not the first time James McAvoy and Gary Lewis have appeared together, as they previously appeared in Filth (2013), which also starred Jamie Bell. Gary Lewis played Jamie Bell's father in Billy Elliot (2000).