A lot of good hitters have good swings.
But they're not ALL IN.
Their decision making is MAYBE... MAYBE... OH DANG IT.
Instead of YES YES ABSOLUTELY.
(Or YES YES NO when they take a pitch)
Here's something I've told guys when they need it:
"Treat every pitch like it's a hit and run. You HAVE to get the barrel on it. (within reason)
But don't just hit it, DRIVE it. Hit and run, but make it a DRIVE and run."
It's worked great.
If you're good in the cage but underwhelming in the game, this is usually why.
You're not being aggressive enough. You're not all in when you're between the lines.