Unity for kids

Hi!

Starting this summer I’m teaching Unity to my kids. The way Unity combines visual and programming skills make it a fun approach to computer sciences.

My plan is to have 3 weekly sessions. Each week would be a mission with a final achievement.

In addition to the video tutorials, are there any good resources for learning Unity step by step, for example, Unity for non-programmers? Like “Unity for dummies”…? I want to make it very easy for them with a learn by example approach.

1 Like

What age kids?

They are 7 and 9.

I’ve helped kids at my job get into Unity. My time was limited with them, but I found that the best way to teach kids is with lots of one on one and walk them through the interface and then do small gulp sized projects that can retain their attention.

I did some very small and basic code that was easy for them to understand when I typed it out for them, but mainly focused on broad concepts to instill a foundation. That and showed them how to learn on their own from there.

As far as tutorials and books for kids go, I had no luck looking for material.

Thanks.

I would be really interested in how this goes for you. My 6, almost 7, year old daughter has in interest in “making games” but I really have no idea how to start her on it. When she first said she wanted to do it I told her that when she learned to read and write I would start her on Unity. Since then, she and her little brother ‘make games’ by using a crap ton of printer and construction paper to draw their games - I have a massive stack of drawings that they pile on my desk.

But how do I go from that to introducing her to Unity and writing code.
Unless she turns out to be some code writing freak of nature, I don’t see her keeping interest if it takes too long to get visual results.

I’ve given a lot of thought to creating sprites of their drawings in GIMP for import. Then pre-creating some scripts for simple mechanics. When its all setup, use that to start them on the Unity interface and keep expanding from there - dropping in placeholder objects, creating new art in GIMP, and expanding on the existing scripts.

2 Likes

Why not get them hooked on something simpler like Kodu or GameMaker, and drop hints that Unity’s always there when they’re ready to do more.

Or, sticking with Unity, PlayMaker might be a fun way to start programming. It’ll let them explore concepts without getting stuck in syntax.

Main reason I’m sticking with Unity is because it’s what i know, use and they see me using. This is my opinion - I would rather them slowly learn writing code than to immediately handicap them by using a visual scripting interface. I tried some visual scripting in ue4 and blender and I just couldn’t wrap my head around it.

My five and three year old do sprites for me, as well as play testing, art direction and design ideas.

But I haven’t figured out how to get them into coding yet. Coding requires heavier reading, writing, math and logic then they are equipped with.

Child labour lol.

15 Likes

Jokes aside. I think it’s a great idea to teach your kids coding. If you’d ask me I’d say as soon as they know the alphabet and how to add/subtract 2 numbers they can start with simple programming tasks. In the end it all depends on your kids anyway. I’m sure you can motivate almost anyone to do something difficult as long as you know how to engage them.

For example. I couldn’t be bothered with math books. To me it was boring because teachers hardly gave real life examples of how to apply this knowledge. There was nothing like Unity we could use to visualize our ideas so it was hardcore pen and paper and a calculator. And a ‘teacher’.

1 Like

Unity might be a hard start because it’s not just programming, it’s a whole engine / environment. I usually tutor with game dev. Spend a few hours on key words and grammar, spend a little time on logic and program execution, spend some time on data structures and representing ideas as computer data, then make a game. But I usually start with a console / text based application.

Game dev is definitely the best way to learn. If your kids have the patience to figure out the unity editor then definitely go for it. I think the first game I made was on the original version of stagecast lol. Rule-image based drag and drop coding… interesting idea. It’s probably the fastest way to make a game.

To me that sounds promising. They like the idea of making games, not just video games.

Games are a set of rules. Video games are a finely grained set of rules programmed into a computer. If they’re already visually drawing games, you could get them moving down the implementation path by getting them to upgrade their images to board games. Understanding of things like chance (dice), resources (timers, counters), goals, win/lose conditions, different types of competition is super useful.

For programming I think you’ve really got to take things from the start. Lots of games don’t require visual elements, so alongside continued creation of board games you could get them to make text-based games as they learn their first steps of programming. Once they understand the fundamentals of code then you can introduce something like Unity and combine the two - use the components Unity provides to combine the visuals they’re drawing and the rules they’re coming up with into an automated video game.

1 Like

If I were working with kids on a longer time line I think I would write code to do a simple platformer or first person game, then let them design the levels and the tweak the mechanics.

So you put together a character controller, an end stage trigger, some enemies, and some pick ups. Then let the kids see how they work and let them use it from there.

You might want to check out a simple course I put together here:
http://masteringunity2d.com/unity-2d-tutorial-bouncing-and-sliding-step-by-step/

It’s free, but does require a site signup. Lots of fun physics-based stuff before it ever mentions scripting.

It’s not designed for kids, however, but if you think they’re up for it and give it a shot, let me know how it works for them.

Jay

Last week I taught level / game design in Unity to two groups of kids ages 10 through 14. I had taught coding (C# and Lua) in the past to similar age groups using Unity and decided level / game design was more accessible to a younger and wider age range, for a one-off session anyway. I’ll be trying C# in Unity with a slightly older age range (12+) in more of a series format in the future, I think.

The workshops last week went pretty well. We used a modified RollerBall from the Standard Assets package as a spherical player, and the kids spent their time using the terrain system to build a cool level to roll around in. I had created a flag prefab that would increment their score, a mushroom prefab to boost their speed, and some UI to display score and elapsed time. The kids positioned flags, boosts, and cubes as obstacles, and painted terrain / trees for extra level geometry, then tested out their levels to see how quickly they could grab all the flags. No code, but they had a lot of fun and learned quite a bit about using the Scene, Hierarchy, Project and Inspector panels. I exposed a few of the ball’s movement characteristics as properties in the Inspector, so the kids did get to play around with those to see what happened.

At the start of the workshop, before doing any of the level design, I gave them the task of dragging a few rigidbody-enabled cubes into the scene, and stacking them so that when they launched the scene, the boxes would stay stacked and not fall over. This gave them a chance to get used to navigating the Scene view: dragging, rotating and zooming their POV as well as repositioning the boxes, so they could visually line them up for proper stacking. This seemed to work really well as a simple way to practice all those scene-navigation skills. After the workshop, I decided I’d modify this phase for future sessions by adding other objects of varying size and shape, to up the challenge a little. Regardless of what you might want to teach the kids using Unity, I would recommend some sort of task like this as a starting point, to get them to practice those basic scene-navigation skills. It really helps lay a good foundation for the other stuff.

Anyhow, fwiw!

3 Likes

PS Thrawn, good on you for deciding to do this, and with such young kids! I actually think kids that age can absolutely learn to code (even in C#), I have just found that when the group is bigger (10+ kids) and the age / experience level is a little too wide, it gets pretty difficult to find the right complexity level to keep the younger ones from getting frustrated, or the older ones from getting bored. I’m actually thinking about teaching my 8-year-old stepdaughter game design and would love to hear how it goes with yours!

Thanks for sharing your experience!

I started two weeks ago and due to work I’ve had to put the course on hold now. So, two weeks of classes on Monday, Wednesday and Friday, about 1 hour and a half.

It’s been a nice experience for everyone I think. Teaching kids about Unity is something really great, because I have to say, I have also learnt something new! :slight_smile:

We’ve covered some key aspects of the Editor as a tool to populate a scene with basic primitives, paint them with textures found over the Internet, play with them in 3D (transform…), duplicate and align, and also play with light.

We also played with rigid bodies and terrains, and learnt a little bit about Behaviours, the “brain” of things, and used very basic code to show how to respond to basic keys (my kids are true Minecraft fans so it was easy to motivate them to learn how to use WSAD to move their textured primitives). And we talked a little bit about the game loop.

I think they are sufficient prepared to learn to code; the key is to find motivators. It’s quite easy for them at so little age to get instantly bored and they start to ask to switch to other things (my fault then!)

What I would like to use is some character creator for Unity? Is there anyone? It would be really nice if, in addition to primitives, they could paint and customise their own characters, like in The Sims, but with Unity.

2 Likes

Sounds like your class has been a success so far! I hope they continue to enjoy it. I’m curious, have you found any other “simpler” game development packages to help them learn the basics of coding, while still having fun? I know this is a Unity forum, but my motivation is to teach kids coding basics ultimately so that I can teach them game development using Unity :slight_smile: I can certainly walk young kids through coding using Unity, but it’s not really a tool you can leave them to experiment with on their own, quite so much. Very easy to break things when you’re just starting out.

As for character creators, that would be cool. I don’t know of any but haven’t looked around on the Asset Store recently for anything like that specifically. Maybe somebody else here might know. I have made attempts to teach myself Blender in the past but that’s no doubt a large investment in time. You’re probably looking for more of a character creation / animation wizard of some type? I’d like to know about something like that too…

Sniffing around a bit, I see Mixamo Fuse and the open-source MakeHuman mentioned here and there. Here’s a slightly older thread describing some options. UbiSoft also has an online, Unity-based character creator, which looks like fun. Not sure if you can download them or use them… I’m at work (you know, researching game development tools of course!) so I’ll have to check it out later :slight_smile:

1 Like