This movie was originally set up at Disney, but M. Night Shyamalan departed from the studio over "creative differences", and brought it to Warner Brothers. Disney has produced Shyamalan's previous four films, and the studio's subsidiary Miramax Films also produced Wide Awake which Shyamalan wrote and directed. This departure became the subject of the book "The Man Who Heard Voices: Or, How M. Night Shyamalan Risked His Career on a Fairy Tale".
Some of this film was shot in Levittown, Pennsylvania at a Jacobson logistics warehouse site. (M. Night Shyamalan has committed to using films sites in PA.) The set, built on the warehouse site, includes an apartment complex and a half city block of row houses. Occasional footage was shot inside the overflow area of the warehouse. Most of the filming was completed after Jacobson work hours.
Kevin Costner was considered for the role of Heep. However, Paul Giamatti accepted the part before they contacted Costner (Giamatti was really the first option).
M. Night Shyamalan was in talks with Philip Seymour Hoffman for an unspecified role. Hoffman, despite the fact that he "loved the script, liked the role" had scheduling conflicts.
M. Night Shyamalan, delighted after he discovered unknown Cindy Cheung, was shocked to hear that her agent demanded 1 million dollars for her role in the film. Night was prepared to pay the SAG minimum, $65,000. They settled at $100,000.
According to the book The Man Who Heard Voices, or How M. Night Shyamalan Risked His Career on a Fairy Tale, one of the reasons why Shyamalan decided to part with Disney was because the Disney president of development Nina Jacobsen took her son to a party instead of staying home to read the script for Lady in the Water. Shyamalan had it personally couriered to her, and to add insult to injury, she didn't like it anyway. Shyamalan went off in a huff, and the "creative differences" he purportedly had with Disney was that he simply felt there was nothing creative about Disney anymore. He took the script to Warner Bros instead, but without the usual marketing campaign that Disney promoted his other films with, Lady in the Water was a box-office flop.
'M Night Shyamalan' adapted Lady in the Water, originally a bedtime story, into an actual children's book. It was released on the same day as the film.
M. Night Shyamalan:
[Pennsylvania]
Shyamalan demanded that the set be within 45 minutes of his Pennsylvania home. He timed the trip which took 43 minutes.