Interview With Unity Guru, Will Goldstone
I was first introduced to Unity by an incredibly excited modeler / developer who'd stumbled across the Unity Island Demo at work (Hey Tim!). We both sat there in total awe at the fact this was running in the browser and hastily bought a book by a certain guru on the subject, Will Goldstone...
QSo Will, tell us a bit about yourself and how you discovered Unity? Were you involved in the game industry before you found Unity?
I discovered Unity way back in its version 1.5, around 2008. The university I taught at was looking for a solution to introduce degree students to game development and we were looking to drop Macromedia Director from the course at the time as it had pretty had its day by then, and shockwave 3D development in it wasn’t the most intuitive solution, especially for fresh developers.
I was blown away by the simplicity and speed of being able to get gameplay up and running, and we never looked back. I’ve been a bit of an online evangelist of the engine ever since, producing the first video tutorials and the first book on the topic in the past couple of years, and I am starting to work for Unity Technologies here in the UK in April.
QSo, why should our Flash loving and game developing followers be paying any attention to Unity? Is there a common ground between Flash and Unity?
Its never been a better time for Flash developers to take a dip into Unity development. Since Adobe’s announcement at the San Francisco Game Developers’ Conference that Unity are working on implementing publishing to the new Flash player (codenamed ‘Molehill’), there is a bright future ahead for any developer taking advantage of the newly expanded opportunities this news brings.
Now not only can a Flash developer start working in 3D, but they’ll also be able to work between the two mediums, and indeed share more common ground with the existing wealth of Unity developers out there in the existing community.
So brass tacks - what is the strength of Unity, well apart from being very easy to use thanks to a highly intuitive interface - I think the key strength, now more than ever is its ability to take a developer into publishing their content across multiple platforms. So working from a simple prototype that is ready in a few hours up to a game that can be published simultaneously to desktop, web browsers, iOS and Android devices and even consoles - you have the chance to level the playing field for yourself, your agency and who knows where that could take you?
When I began working with Unity I also worked with Flash myself and immediately drew several parallels, for example -
- The Stage: as the main focus in Flash, Unity’s equivalent is the Scene panel, a 3D easily navigable stage to build games in.
- Movie Clips: such stored assets can be equated to what Unity calls Prefabs - constructed in the Scene and saved as a Prefab, ready built objects can be instantiated at runtime.
- The Library: Unity has a similar concept known as the Project panel, and importing is even simpler, just save into a folder in your project, and Unity updates / converts all assets natively each time you update a file.
Having taught Unity, Flash and various other disciplines for the past five years I’ve seen a lot of software and techniques come and go and I understand why many Flash developers have taken the leap to 3D with Unity. This said, I also think it’s important to break down any design process you may have and take it out of the IDE and into individual concepts when considering any new project.
What often strikes me when developers approach a problem is that of course they stick to what they know - its a skill they have taken time to hone and feel it is where they deliver their best work. I believe strongly in taking stock of what the idea or brief you’re working towards requires - now don’t get me wrong, I’m not here to suggest that Flash devs should make the leap because 3D is the future! and other outlandish 90s statements like that - no I simply mean that if a project requires third dimensional depth - a tool such as Unity is definitely worth considering.
The main issue most developers have is time. Using myself as an example - I’ve spent years focused purely on getting beginners up and running, and honing my own skill of knowing how best to teach different individuals. I have had little time to develop for myself and branch out and I know the demands of working all hours on projects that leave little time for experimentation. So with this in mind - if you’re a Flash developer who wants a chance to take a dip into Unity development, what you could find is that a small time commitment may reward you with a skill that saves you time at a later date, when the right project to apply it to presents itself.
It’s already great to see many Flash developers getting into the Unity community, and hopefully the move to Flash export via Molehill will encourage even more. With the massive wealth of experience and talent for game development inherent in the Flash community, it’s a fantastic symbiotic creative opportunity.
We’re already seeing a large uptake of use of Unity and its web player for commercial game developers that would have previously only considered working in Flash, but now these opportunities to take console quality gaming into the browser mean that we’ve seen corporations such as Disney and Warner take some of their major IPs to promotion with Unity games, and this trend is bound to continue.
QFor those looking at getting started within Unity your book 'Unity Game Development Essentials' is an invaluable resource for learning the basics and developing a fun mini-game. Being a university tutor you obviously have a profound interest in the education of those around you, but what inspired you to write a book on the subject? Was it something you enjoyed? Do your students enjoy being taught by the author of their reading list?
When I began teaching and developing with Unity, there were only two tutorials - they were pretty lengthy, and I’m a firm believer in splitting up learning into more manageable chunks. So I began making a series of video tutorials on a website I had at the time called LearnMeSilly.com - these became very popular and were shared all over the Unity forums, which is where I was picked up by an acquisition editor by the pretty tech savvy Packt publishing, who asked if I’d be interested in writing a book on the topic.
I’d just written an article for MacTech magazine - my first foray into fanboy ranting about Unity and I’d quite enjoyed the writing process so said yes. Ten months later it was ready, fortuitously in time for Unity becoming available on PC and soon after that, freely downloadable.
I’ve really enjoyed the opportunities the book offered - simply a better chance to give out the kind of information I’d found essential when I began learning. Often its difficult for those outside of education to understand what new learners need when they approach a new skill and its why the web is littered with hours long video tutorials that get abandoned and books for beginners that focus purely on programming - often the most off-putting element of interactive disciplines. With my book I hope I balanced giving the reader a chance to learn skills essential for Unity a step at a time, without ever feeling like they need to refer elsewhere or lose track of what they’re aiming towards.
I took this approach when developing my latest live experiment - http://unity3dstudent.com - a module and challenge based system that introduces Unity beginners to the package and then asks them to take what they’ve learned and complete an unguided challenge. So far this is working out great, with lots of engagement from the online community.
As for my students, hopefully being taught by someone who is passionate about a topic is reassuring and I have a great time with them - something I’ll definitely miss when I move to work for Unity Technologies, but in reality I think I’ll discover that I end up with a whole world of students to help learn the tool which will be great. This said I did have a student ask me today if I could sign his copy of my book before I leave, which seemed a bit odd, but cool I guess!
QAs if writing a book for the community isn't enough you're also the author of http://unity3dwork.com, http://unity3dstudent.com and http://learnunity3d.com!! You sure like to keep yourself busy! Walk us through what your main goal is with these sites and maybe share a little of what's coming soon...
These sites grew out of my wish to spread the usage of Unity around the web a little more. When I first started using it, there was only the Unity forum itself to discuss it on, and Facebook hadn’t really taken off just yet.
I started LearnUnity3D.com back in 2008 to this end and I maintain it to this day mostly with cool things I’ve discovered that were made with Unity - so that site specifically has ended up being more of a (WhyYouShould)LearnUnity3D.com - so if you need convincing - go take a look at whats posted there. The educational side of things I put purely on Unity3Dstudent.com now and I am looking forward to having more time to add content to that soon - every now and then I’ll find that I’m asked a similar question a lot so I try and post an example script and video up there.
The goal with these sites is really just to give the community a good quality, considered approach to supporting their needs in the best way I know how - I’ll continue to develop them as I find better ways of helping people learn. For example I’m about to launch a profile feature on Unity3Dstudent.com that will help users track what they have covered and communicate better with fellow learners.
QSo when not teaching or writing you must be lost somewhere within the Unity world. Are there any projects that you've worked on within Unity that you particularly enjoyed? What role do you usually facilitate on the projects you've been involved in so far? Are there any that you enjoy the most?
I’ve mostly worked in a consulting role in Unity projects for developers getting started, as I’ve been largely involved in education until now. Most of the time what users need is a point in the right direction, or advice on how to achieve a particular game scenario or mechanic with Unity.
QFor budding Unity developers, any tips you'd like to share? Are there any extensions you've used that save serious development time or make game development even more fun that you'd like to share?
If you’re starting out with Unity, you’ve plenty to learn before you get into plugging anything into the Editor, but there are exceptions that are well worth checking out that will save you lots of time. The main ethic here is to remember not to reinvent the wheel - as Unity Technologies and many others have already written Character Controllers or car scripts then really there is little point in repeating what others have mastered - unless you are doing this in order to learn more, in which case it can be great to set yourself projects to work on.
Some great time saving tools and resources I’d heartily recommend are -
iTween - a class of animations and motions by Bob Berkebile really speed up creating stylish animated elements for various parts of your game, and what’s more, Bob provides this for free!
ActiveDen / GamePrefabs.com / The Asset Store (in software) - Unity provides the prefab system outlined early to store assets you make, but you can also import ready built assets in this form. Sites like Active Den and GamePrefabs sell assets for all manner of purposes, and you can also get these assets directly within Unity by going to Window > Asset Store.
Mixamo - if you’re doing anything with Character animation, you should check out Mixamo. A highly advanced toolset of character animations you can buy tweak and apply to any rigged character, this is a massive time saver, and a breeze to use.
String - a fairly fresh name in the Unity world, String is a fantastic Augmented Reality tool that works with Unity to bring remarkable AR to various deployments of Unity, including iOS for mobile.
Finally, an honourable mention goes to answers.unity3d.com and unifycommunity.com/wiki - the former answers pretty much any question you’ll need and the latter is a massive wiki of examples and contributions from the community around Unity.
QAnd to wrap up, being a huge 'beach frisbee fan' have you mastered an iPhone game with the iPhone as the frisbee yet? =D
Not as yet, I think I’ll stick to the old school approach for now cheers!