The 26-year-old, 5ft 9in striker, was released by fellow National League side Torquay at the end of last season, having scored six goals in 28 league games for them during the 2020-21 campaign.
Waters started his career at Crewe, making his debut in November 2013, and playing nine times for them that season in League One.
The following season, 2014-15, he scored three goals in 21 matches before joining Cheltenham on a free transfer in June 2015.
He scored 11 goals in 37 matches for Cheltenham during the 2015-16 campaign, including one in their 7-1 win against Halifax at The Shay.
The following season he scored 16 goals in 55 appearances for Cheltenham, who were now in League Two, and was voted as the club’s Player of the Year and also named as Players’ Player and Young Player of the Year.
Waters joined League One side Northampton in June 2017 but was loaned out to League Two Cambridge United in January 2018, where he scored twice before the end of the season.
He started the 2018-19 campaign back at Northampton, now in League Two, scoring twice in the first-half of the season, before re-joining Cheltenham on loan in January 2019, where he scored four goals for the League Two club.
Waters was back playing for Northampton in the first-half of the 2019-20 season, and then joined Newport on loan in January 2020, but only played six games there and failed to score throughout the campaign, before joining Torquay last summer, where manager Gary Johnson described him as a “hard working, energetic striker”.
He is the Shaymen’s second signing of the summer after midfielder Harvey Gilmour’s arrival was announced yesterday (Wednesday).