The abrasive middle order batsman belted a tournament high 13 sixes at last month's Twenty20 World Cup in South Africa.
"I have decided that the time is right for me to retire from cricket to spend more time with my family, as well as look after my health, as I have had ongoing issues related to diabetes," the 31-year-old said.
"I feel that the past season has been one of the best of my cricket career and I am happy to be retiring on a really positive note.
"I will now spend time with my family before deciding what direction I will take with my future."
However he said the possibility of joining the rebel India league -- which has already signed his brother-in-law and former New Zealand representative Nathan Astle -- was under consideration.
He scored 3,116 runs at an average of 38.46, including six centuries and 19 half centuries.
Regarded as a one-day player in the latter stages of his career, McMillan was instrumental in propelling New Zealand to a 3-0 whitewash over Australia earlier this year.
After hitting a match-winning 52 in the series-deciding second match, he surpassed that feat with an extraordinary 117 off 67 balls in the dead rubber as New Zealand chased down 347 with a wicket in hand.
McMillan amassed 4,707 runs at 28.18 in one day internationals with three centuries and 28 50s. His nagging medium pacers also snared 49 wickets.