I suggest trying different programming languages with the goal of writing "Hello World!" programs.
Aiming for Unity right away is a little too much (the expectations would be too high).
Just installing IDEs, understanding the build process well enough to get a result and getting to compare the different approaches to similar problems ...
those things will show your son pretty soon if he has what it takes and if that is really something that he wants to get into.
He will get stuck, have to deal with outdated tutorials and figure out why he gets error messages. Starting with convenience products gives a false impression.
Programming is frustrating at times and a lot of research is required when you are stuck.
It also helps with the big picture thinking. It is totally possible to approach the topic from the wrong angle and not make any progress at all (while it feels like you do).
I think that is what talent is about. If you lack in that department then guidance / the chosen path will make a huge difference.
That is why I also suggest reading more general books (like "Clean Code") that give an idea of how programmers think.
And, of course, being a regular at Gamedev.net helps with that as well.
Once he picks a programming language for a larger project he can look for communities like "JavaCodeGeeks". Those have invaluable articles.
Last but not least even more general books like "The Seven Habits of Highly Effective People" or about learning (e.g. "The First 20 Hours") might help as well.