He played junior hockey for the Edmonton Athletic Club from 1947 to 1949 and then went east to play for the Montreal Nationale and the Montreal Junior Canadiens. He then played briefly for the Halifax St Marys and the Boston Olympics before joining the legendary Penticton V's in 1952-53.
In that game against the Soviets McAvoy bodychecked the Soviet star Vsevolod Bobrov so hard that the player was unconcious before he hit the ice. The Montreal Canadiens were so impressed that they offered McAvoy a contract. He got into four playoff games for the Canadiens in 1954-55, scoring no points.
The following season McAvoy played for the Providence Reds. He played in the minor pros until 1963. After sitting out the 1963-64 season, McAvoy returned to play senior hockey for the Edmonton Nuggets and retired in 1966.