According to The Hollywood Reporter, McCarthy joins an ensemble cast led by John Cusack that includes Amanda Peet, Chiwetel Ejiofor, Thandie Newton, Danny Glover and Oliver Platt.
McCarthy will play the boyfriend of Peet, who is the ex-wife of Cusack's character.
"As an actor, I've never worked on anything with this scale before, and I always go see these movies," he said. "And then there's the director part of me. I get really excited about working with directors like this, who do things that are so wildly different from me. And he really is. He works on a totally different canvas.
2012 is set to shoot in August in Vancouver.
2012 was released November 13th, 2009 and stars John Cusack, Amanda Peet, Chiwetel Ejiofor, Thandie Newton, Oliver Platt, Thomas McCarthy, Woody Harrelson, Danny Glover. The film is directed by Roland Emmerich.