He played for the Detroit Holzbaugh Ford in the Michigan-Ontario League in 1939-40 and 1940-41. In 1941-42 McCaig earned a two game callup to the Detroit Red Wings between stints for the Indianapolis Capitals.
After the war McCaig played some for the Red Wings until 1949 when he was traded to the Chicago Black Hawks. He was a regular for the Hawks through most of the 1950-51 season. McCaig played in a total of 263 NHL games, scoring 8 goals and 21 assists.
In 1951-52 McCaig took his first coaching job, that of player-coach of the Edmonton Flyers. He moved the next season to the Toledo Mercurys of the International League and was their player-coach in 1953-54. In 1955-56 he was the player-coach of the Fort Wayne Komets. McCaig then retired but remained the team's coach.