Career
MacKinnon began his career with Dumbarton United, Dumbarton Harp, Saint Thomas" and Saint Patrick"s Athletic, before joining Clydebank in May 2010. At Clydebank he scored 31 goals in 69 appearances in all competitions. He signed for Hamilton Academical in July 2012, and after two appearances in cup competitions, he made his debut in the Scottish Football League on 11 August 2012, appearing as an 80th-minute substitute.
He joined Ayr United on an emergency loan deal in September 2012.
Following his return to Hamilton, MacKinnon scored Hamilton"s equalising goal in a 1–1 draw with Falkirk after appearing as a substitute, after which he stated that he wanted to start the next game. MacKinnon later spoke about his hopes for a good run in the Scottish Cup, and stated that the quarter-final against Falkirk on 2 March 2013 was the "biggest game" of his career.
A few days later, on 8 March 2013, MacKinnon signed a two-year extension to his contract. In April 2013, MacKinnon publicly stated his support for new caretaker manager Alex Neil.
Following his first season in professional football, MacKinnon stated he would continue to fight for a place in the team
Once his second season had begun, MacKinnon spoke about how please he was with how the team were doing. In September 2014 MacKinnon was given a four-match ban after being sent off in a prior game. In January 2016 he signed a new contract with the club, until the summer of 2017.