The first thing I’d do is try a scan and repair. Outside of the game client actually missing data that’s expected due to accidental omission during the compile sequence when building that version of the game data, the most frequent cause of this is clicking the Play button before the game has fully patched or installed.
That bolded part in the last paragraph is the number one cause of corrupt or missing game files. The problem is that the CASC file system that Blizzard currently uses for its games, while far more robust in terms of ability to add in new features than the old stalwart MPQ, is also very prone to having its files corrupted if you attempt to play during a game data download. For this reason, it is strongly advised that the player do two things:
- Set the Battle.net desktop app to always close when launching a game. You can set this by going into Settings > General, and selecting Exit Battle.net completely from the pulldown menu in the When I launch a game section.
- Never, ever click Play until all patches and game data are fully downloaded. Just because a game says you can play doesn’t mean you should play. Remember, CASC suffers corruption if a game is running during a download of its own files. For this reason, you should never play while patching or installing. Scan and Repair usually fixes the problem.