The centre half suffered a groin strain during last weekend's defeat to Fleetwood Town and although he tried to play through the pain, he was forced out of training on Thursday.
"He did the recovery on Monday and trained well on Tuesday in a good session but complained his groin was bit sore from the game on Saturday," McSheffrey said.
"He was trying to grind through things for us.
"I only found out on Thursday that his groin was sore because he wasn't really telling anyone and trying to grind through it.
"We sent him in from training to try to make sure he was okay for Saturday but when the physio was testing it, the pain was sharp and he feels there's a bit of a groin strain."
With Williams sidelined, McSheffrey opted for moving Kyle Knoyle into central defence with Lirak Hasani starting out of position at right back.
Explaining his choices, McSheffrey said: "We could have chucked Ben Blythe in but we've looked at him and we think he's not physically ready to compete at this level.
"He needs a bit more development so he'll be on a pretty hectic gym programme and strength and conditioning programme to get some strength for the rest of the season.
"I think Knoyley has done all right in there. He's stepped in and done well.
"Then it was about who goes in at right back - Charlie or Lirak?
"Learning from the Ro-Shaun one, if I chuck Charlie Seaman in from the start I'm risking injury.
"Lirak did all right. He got caught under the ball a bit because James McClean is clever and uses his body well. But he did okay."
Also absent on Saturday was Jordy Hiwula, who suffered an injury in training during the week.
"Jordy on Thursday complained of having a tight hamstring," McSheffrey said.
"He tried to do a bit of a bike ride on Friday and only lasted a minute or two because he didn't feel fit enough to compete.
"It'd have been nice to get the signing in on the back of the same squad last week but you sign one and lose two on Thursday so it's not ideal.
"But it's been the story of the season."
Tommy Rowe was forced off during the later stages of the game but McSheffrey is not too concerned.
"He had a tight quad," he said.
"He doesn't think anything has gone yet but there was no way we were going to risk him for that last 15 minutes.
"We were actually going to do AJ for Agard because he'd had 75 minutes and that was probably enough for his first game.
"But once Rowey stayed down with the quad, we made the change."