I'm a long time advocate of Scratch and love the fact it makes programming so accessible to children. In the early days of computing you would turn on your computer and be able to program in BASIC straight away. There were no extra packages needed, no hoops to jump through - it was just there. After the popularity of PCs took off I feel this went by the wayside. To program you would have to boot into windows and (purchase and) install an IDE. It just made programming harder to get into. With the advent of Scratch you can simply fire it up in a browser and jump straight in.

As a programmer by profession and a Code Club teacher by choice, I wanted to test out the boundaries of Scratch. So many children (and teachers) think it's a very basic programming environment with very limited application. I have found this to be far from the case and have created dozens of advanced projects to demonstrate as much. From replicas of arcade games (Galaga, Scramble, Mr Do and many more) through to ports of PC projects (Beneath a Steel Sky, The Manhole, Zork and more) through to a complete BBC Micro emulator that plays most original disk images. There's some delicious irony to having created an emulator of the computer I learned to program with in a modern language that children now learn to program in.

For anyone interested, you can view and play all of these project at https://www.rokcoder.com

I'm not suggesting that Scratch should be taught to this level but I think it's interesting and useful to know just how flexible and powerful it can be.

I discussed the exit strategy from Scratch with Scratch Team members at the Scratch Conference back in 2019. One suggestion they put forward was Unity due to the fact it's not dropping children directly into a text-only scenario which is the case with most programming languages. I found this to make a lot of sense but also recognised that putting a child in front of an empty Unity screen can be a little daunting. Because of this I started creating a tool to bridge the gap - to give children something other than the blank canvas to start from and to ease their journey into Unity.

The tool simply adds a "Scratch" option to the main Unity menu. Using this it allows you to enter a Scratch project ID and then imports the project directly from the Scratch website and into Unity. The idea behind this is that intermediate to advanced Scratch users can pull their own favourite project that they have made directly into Unity. The assets (graphics and sound effects) are imported and the actual code is converted to C#. Within minutes anyone can play their own Scratch project from within Unity. They can see the C# code equivalent of their Scratch project. They can see the Unity components in action, the Unity scene, who the IDE works. They can even breakpoint their code and single step through it. If they wish they have the ability to export their Scratch projects as apps for Windows, iPhones, Android devices or even XBox or other consoles.

Right now the tool is in pre-beta but I'm hoping to make it available for testing within a matter of months. An early demonstration of the tool in action can be seen at https://www.youtube.com/watch?v=nuUF9BcJT8g and I'm happy to get feedback and/or discuss the idea.