The 24-year-old defender has signed a three-year deal through to 30 June 2020.
"He has exactly the sort of profile we were looking for to make the squad even more versatile," said Hoffenheim sporting director Alexander Rosen. "As a pacy left-footer he's a great fit."
Schulz rose to prominence with Hertha Berlin, before making the switch to Gladbach in summer 2015. Injury restricted him to just 14 Bundesliga appearances during his two-season stint with the Rhineland club, however.
"It didn't go that well for me, so I'm glad to be drawing a line under it," Schulz said of his time at Gladbach. "I'm fighting fit and I can't wait to prove myself in this fantastic environment."