On 1 September 2014, Bray joined League Two club Plymouth Argyle on loan until 10 January 2015.[6] He made his first-team debut on 6 September as a 58th-minute substitute for Jason Banton in a 1–0 win away against Luton Town.[9] Bray had an eventful debut, earning a yellow card and playing a part in Plymouth's goal before suffering an injury after just 11 minutes on the pitch.[10] It was later confirmed that Bray had suffered a ruptured anterior ligament which would require surgery. He returned to Swansea for treatment.[11]
After returning to training in March 2015, Bray was ruled out for a further nine months with injury.[12] Bray signed a one-year contract extension with Swansea in July 2015, keeping him at the club until June 2016.[13]
Bray returned from injury in February 2016, and in March signed a one-year contract extension until June 2017.[14]
Rotherham United
On 27 January 2017, Bray joined Championship club Rotherham United, initially on loan until 9 June 2017.[15] The loan was made permanent on 10 March 2017 for an undisclosed fee, with Bray signing a contract until the end of the 2018–19 season.[16]
Having failed to make a league appearance for Rotherham since November 2017,[17] Bray joined Forest Green Rovers on loan on 31 January 2018 for the remainder of the 2017–18 season.[18]
Bray joined National League North club York City on 9 November 2018 on loan until 12 January 2019.[19] He made his debut the following day, starting in a 2–1 defeat away to Swindon Town in the FA Cup first round.[20] He returned to Rotherham on 11 January 2019 having made 11 appearances for York, scoring once.[21]
Bray joined National League South club Weston-super-Mare on 12 February 2019 on loan until the end of the 2018–19 season.[22] On return from the loan spell, he was released by Rotherham United at the end of his contract.[23]
Hereford
On 23 May 2019, Bray signed a one-year deal with Hereford.[24]