When he realized that the baseball he got during the D-backs game was supposed to go to a different young fan, the 12-year-old quickly went up to the boy and handed him the baseball.
"I just felt really bad for the kid, because I think it might have been intended for him," McMillan said. "But I just didn't see him. So I just thought it was the right thing to do, just give it back to him."
That would have been the end of the story -- except the incident was caught by FOX Sports Arizona cameras, and announcers Daron Sutton and Mark Grace invited McMillan up to the broadcast booth, where he was interviewed.
After a highly publicized incident earlier this year where a woman took a ball from a young fan and kept it for herself, McMillan's generosity was in stark contrast -- and it quickly spread throughout the Internet.
"Once they first saw me on television, I got about 70 text messages and calls in about 30 minutes," said McMillan, who is headed to the seventh grade this fall.
That was only the beginning, of course, as more and more media outlets picked up the story.
"It's gone really fast," McMillan said of the couple of days since the incident. "It's been exciting, and it's been really cool. It's hard to explain."
McMillan was at the game with a friend and his friend's dad. Meanwhile, McMillan's father, John, was working in the garage at home that night when his phone started ringing off the hook.
Later, when he saw the television footage, he swelled with pride.
"I was sitting back and watching what happened on the replay, and you wonder what your kid would do in that situation. And it was nice to see Ian make a nice choice," John McMillan said.
The D-backs thought so, too. Not only did McMillan receive an autographed Justin Upton bat from Sutton and Grace that night, but the team invited him out to watch batting practice and to throw out the first pitch before Friday's game with the Rockies.
After D-backs manager Kirk Gibson addressed the media in his daily briefing, he brought McMillan up to the podium and presented him with his own personalized D-backs jersey.
"Good boy," Gibson told him before breaking into a smile. "It's good to see good boys. Now, go clean your room."
Instead of cleaning his room, though, McMillan gave a press conference of his own. And then it was on to the field, where he and his friends watched batting practice and met a bunch of players -- including Upton, who is his favorite.
Why is Upton his favorite?
"Because I think he's a really good player," McMillan said.
McMillan showed maturity beyond his years while talking to the media, but that didn't surprise his dad.
"He loves that," John McMillan said. "He could have gone longer. He's top notch at announcing. I'm just happy for the kids. To have these kids all get out and have a good time, just because somebody did the right thing, hopefully it conditions people to do more of that."
McMillan was asked if he had seen the incident where the older woman took the ball away from a kid.
"Not then, but I've seen it on SportsCenter," he said. "And for like a 40-year-old woman to take away a ball, that's just not right."
McMillan was asked if he would give the ball up so easily if the incident happened again?
"Yeah, I would, because it felt good," he said.
What if it was a ball from Upton?
"I would negotiate," he said with a smile.
"He loves baseball," John McMillan said. "He hopes to go to Arizona State University, he hopes to play pro ball. It's nice to have big dreams."
As it turns out, it also pays to be nice.