Main takeaways

  1. Text sucks. Use visual examples if possible. Show connections, show differences. Don’t use text if you can avoid it. (However, this website is a blog so you are stuck with my words.)
  2. Folks on the autism spectrum can learn Unity like anyone else. Spoiler alert, game dev is a huge challenge for anyone! Especially so if you are not familiar with computers to begin with. Everyone has needs, and teaching seems to be about being able to identify what peoples needs are in order to create a good learning environment. Luckily, most everyone on the course was super interested in learning game dev, and so were curious about Unity, if not frustrated. If you can muster the patience to move through the frustration of learning a new thing, you will find learning a rewarding experience.
  3. Individuals vary! No one person is representative of the group.
  4. For better learning outcomes, please provide your course participants with:
    • compassion and understanding,
    • adequete time,
    • adequate resources (computers to run Unity, ability to practice at home),
    • a well designed course curriculum,
    • an instructor with patience and compassion,
    • an assistant to provide additional support to class,
    • a low-distraction space that is consistent each lesson (no loud games, no calls in class, no distressing sounds, no strobing lights)
    • space for students to get up and move around whenever they want
  5. Bring everyone together and present at the beginning of class for a few minutes if needed, use visual examples rather than text, animated or otherwise.
  6. Visual Scripting is the way forward for teaching how to add behaviours in Unity, rather than hand-typing code during class.
  7. Turning up is enough, don’t get too emotionally invested in outcomes. Being in the class, meeting like-minded folks, sharing in a love of games and a desire to make games, and having something to show for it is enough! You want to help people learn, but you can’t help everyone to get to the finish line. Instead, examine what ‘success’ means. We all have good days and bad days. Turning up is the main thing, especially in game development, which takes a long, long, long time to make progress!
  8. Iteration is key Help students to embrace failure and learn how to move forward from errors. Celebrate strange and unexpected things that happen in the editor.
  9. Be early for class. (Some students can be very aware of time, being punctual can help ease people into being ready for class).
  10. Have fun! Your energy and passion for game dev can be infectious.

Summary of my teaching experience

There are a few things to keep in mind about the course I recently delivered. Firstly, Unity is technically challenging material to learn. Secondly, the course is delivered in a short evening class once per week. This presents lots of interested challenges!

One challenge is time. Most students would have to spend time re-acquaintting themselves with the project during every class, as they may not have opened Unity since the previous class. This, plus the fact it could take up to 20-30 minutes for some students before they were able to get settled in, with laptops turned on, Unity editor open and loaded on the correct project.

Being in a position of having to ‘catch up’ is frustrating. You will feel like you are already falling behind, as other students were ready from the beginning. Not the best learning environment! But the best one we have to work with so we must!

Offering an evening course instead of a single day or two-day workshop was a trial by fire for me. I learned a great deal from this experience, and I can anticipate changes to my curiculum to address the gaps and challenges I faced. Such as to have a period at the beginning of class where some exercises or additional explainer slides that can be on display while people are loading up Unity.

The class will be able to follow instructions related to using editor (navigation, changing values in the inspector etc). But, once I strayed into the world programming, it became apparant that C# programming would be the most difficult topic to cover with the class. Not surprising since this is always going to be the biggest barrier to entry, however there are some aspects of the autism that may make this more difficult. It really depends on the individual. A student’s familiarity with programming, where they land on the autism spectrum, and whether they have some executive disfunction or other condition will all play a part in the success of their learning experience.

Learning programming, in the class situation I was in, mean students copied my code (both code that was prepared beforehand, and code I wrote in-class). Anything that hinders focus/concentration, reading comprehension of source code, abstract reasoning and patience will cause problems here. Unfortunately, the classroom environment is full of distractions and stimulation, as it is based in the city center with lost of noise around that could easily grab your attention. Once you are distracted it’s difficult to get back to the focused mental state - it takes effort and time. And even if you are not distracted and pay 100% close attention, it is so easy to make to be make some minor spelling mistake that will cause a compile error and break your game that I am certain the majority of people give up a this point. So, how do I teach Unity without programming and the frustration of hand-typing code?

The answer could be simple: a visual scripting language. There are many engines that offer this, including Scratch and Unreal engine. Luckily for us, Unity acquired the Bolt visual scripting plugin not so long ago. In my next set of evening classes I aim to deliver all of the programming topic through the visual scripting tool. Hopefully, this will act as a bridge instead of as a barrier for the students, and they will be empowered to add and change functionality in a quick and easy way without fear of breaking their game in ways they unable to fix without help

If there are any specific behaviours that need to be coded up for the game, I can do so ahead of time and create a visual scripting node for my students to use like a building block. The main thing is that the students understand what it does and understand how it is made. The course time is precious, rare. They can look at the code later and attempt to re-make it themselves on their own time if they desire to learn more.

An assistant can be a great help to the smooth running of the class

Another problem is that we were all stuck in a class together! I had to find ways of delivering a curicullum of highly technical skills to people with a variety of learning styles in a very short period of time. Hopefully I did okay with a projector and my laptop, and then walking around to help. I had to learn the personalities of each of the students in the group, and I am grateful for the occasional assistance of the course coordinator who was on hand to tend to the needs of the students when necessary. Without this help I would have had a stressful time! Instead it was fun, though occasionally emotionally tiring for me. So having experiencing what it was like those resources available, I can only recommend them as requirements for future courses.

Autism can make a challenge more challenging for the learner

I’m not an autism expert. Though it seems that the main pain points manifest around moments when someone brushes up against a challenging task that their personal autism makes even more challenging. A higher level of difficulty, just for them. My respect for everyone there is immense for taking on these challenges. For each of my students, learning Unity would be more challenging and exhausting than it has been for me. They all deserve so much and I am grrateful to be able to give them my patience and a safe space to experiment with the tools they are so enthusiastic to master. Each person will have their own way of dealing with the frustrations borne from this challenge. Some will have more acceptable coping mechanisms that others in the class setting, so be sure to get help from an assistant if needs be. Otherwise simply continue with the class and you can help whoever needs it at the next available opportunity.

Student life in hard mode

One particular student who had difficulty also had with strong “inner-critic” voice, or negative self-talk, and really began struggling through the course when we hit the programming topic. They wanted to do everything themselves and not get help. However, due to issues with their laptop, it became difficult for them to follow the code examples. They seemed to have a personal rule about not wanting to be helped. So it became upsetting for them when the programming topic caused bother with compile errors (which are VERY common in Unity development unless you already know everything you are building and are not learning as you go), and they needed help in order to progress. Initially I offered help a lot, but they would back off. Eventually I would give them the code so they didn’t fall behind the class and hoped that they enjoyed other topics that didn’t involve coding. (Later, I would revise this course to use visual coding, to much success.)

It must really suck for someone who is literally playing life on hard mode to be offered help in things they want to do themselves. A helping hand can quickly, easily and seemingly magically take away an obstacle that caused you to stop in your tracks. But that obstacle could have become one they overcame themselves, to become one their own achievements. Being helped can deny someone of these wins, make someone feel useless and helpless. That’s a truly awful feeling. So, my goal is to design my next course essentially so that person can maximise their agency with no input required by any external one-to-one help. A big ask from me! If they can do it but require a minor amount of help, I would accept that as a minor success. Let’s see what can be done!

Awesome people

Considering this was my first time teaching folks on the spectrum, I found the experience a little distracting from time to time. I went in understanding that some folks would want to move around more. So, I never chastised anyone for stimming or moving and instead understood that this is how people are thinking and working through a problem. It can cope with feeling overwhelmed, and simply to process information. Given that there’s a lot going on inside people’s heads for these classes, given the abstract nature of the course, movement is going to happen. So if you are running a course like this, please consider the space and allow an area for people to get up out of their chairs and move about.

Movement is a way to change your state of mind, and it seems for many folks on the spectrum, it is one that brings a level of comfort and familiarity, a way to re-center themselves in a chaotic world. I don’t know, I’m not a psychologist. Being among a classroom of folks on the spectrum who were not masking hard was a new and fun experience for me, and I really appreciate that they gave me their time. The classroom environment could be characterised as being open, frank and honest (or blunt!), full of excitement at times, but always moving forward. Quite a wholesome experience. I really cared a lot about the students on this course, and enjoyed the class. I really tried to connect and deliver something useful for everyone, and felt cognitively and emotionally drained after each class. I would do better to be less emotionally involved next time, I reckon, but it was a fantastic experience.

The main takeaways are listed above for convenience.