Born in Canada, the 26-year-old started his professional career with Sheffield Wednesday, where he scored six goals in 34 Championship appearances, including a brace in a 6-0 thrashing of Leeds United.
He had loans at Southend United, Plymouth Argyle, Chesterfield and Portsmouth before signing for Steel City rivals United and featured 27 times as the Blades lifted the 2016/17 League One title.
Lavery, who has represented both Canada and Northern Ireland at youth level, gained third-tier promotion again the following season, this time via the Play-Offs on loan at Rotherham United.
Caolan achieved his third promotion in as many seasons by helping Bury finish runners-up in League Two last term, scoring five goals during a 16-game loan spell.
Walsall manager Darrell Clarke spoke to club journalists and welcomed Caolan to the club, he said; "I’m pleased to get Caolan in. He’s another piece of the jigsaw that we’re trying to put together here.
"He’s experienced and a hard worker, a grafter, which fits the bill in terms of what I’m after from centre forwards. It doesn’t do players any good to keep going out on loan, but he’s got a home now and He knows where the back of the net is."