On 26 February 2017, Voca was named as a Luzern substitute for the first time in a Swiss Super League match against Basel.[2] His professional debut with Luzern came on 5 April in the 2016–17 Swiss Cup semifinal against Sion after coming on as a substitute at 103rd minute of the extra time in place of Tomi Juric and the entire match finished in a goalless draw and advanced in the penalty shoot-out, where Voca scored the 6th and last penalty but Luzern lost 6–5.[3]
Ankaragücü
On 23 September 2020, Voca signed a two-year contract with Süper Lig club Ankaragücü.[4] Four days later, he made his debut in a 0–0 away draw against Sivasspor after coming on as a substitute at 62nd minute in place of Alper Potuk.[5]
Cosenza
On 28 January 2022, Voca signed a two-and-a-half-year contract with Serie B club Cosenza.[6] Two days later, he was named as a Cosenza substitute for the first time in a league match against Cittadella.[7] His debut with Cosenza came on 5 February in a 0–0 home draw against Brescia after coming on as a substitute at 67th minute in place of Rodney Kongolo.[8]
Triestina
On 16 July 2024, Voca moved to Serie C club Triestina and signed a three-season contract.[9]
International career
Youth
Albania
Voca during two periods as April 2013 and January 2016 was part of Albania at youth international level, respectively has been part of the U15,[10] and U21 teams,[11] but failed to make his debut as both call-ups were for training camps.
On 19 March 2018, Voca received a call-up from Kosovo for the friendly matches against Madagascar and Burkina Faso.[14] Five days later, he made his debut with Kosovo in a friendly match against Madagascar after coming on as a substitute at 77th minute in place of fellow debutant Edon Zhegrova.[15]