Seems all the cool Flash Platform developers have been trying their hand at Unity these days, so I had to jump in and find out for myself what all the buzz was about.
So, after a week or so of trials and tribulations, I finally completed my first Unity project – a little driving game with a Flintstones style car. Why a Flintstones car? Well, I wanted to use my own models (or those provided by the Unity environment) and, the ugly truth be told, I pretty much suck at 3d modelling. At least a Flintstones car is just a bunch of simple primitives thrown together.
Some stuff I learned, experienced, or would like to learn:
- Make liberal use of public variables and the Unity IDE. When I started, I found myself creating private vars and trying to define them with complicated and convoluted GameObject.Find() calls. Then I realized I could make the variable public and set its content with a dropdown box and suddenly life became a lot more fun.
- Really not impressed with the Unity code editor. I’ve heard you can set your own, but haven’t yet taken the time to figure out how to do so.
- For those of you like me who are both poor 3d modelers and just plain poor and have Swift3D, here’s a quick workflow tip. Create your models in Swift, export to .dae (export object to papervision3d), import the .dae into Blender (free and opensource 3d software) then save the file as a .blend in your unity project assets directory. Unity will import .blend files natively. Sure, I could just learn Blender and cut out the middle man, but the learning curve’s a bit steep and I wanted to focus on Unity not modelling. Don’t worry, it’s on my TODO list…
- The worst experience: I’m not sure what happened – there was no crash or error logged, but halfway or so through the development process I closed Unity. When I opened it back up, it couldn’t read my project’s database. Thankfully, my models and scripts were still there, but I had to create a new project, recreate the terrain, reattach the scripts etc. Even for such a small thing as this, that was an extra day’s worth of re-work. If this had been a huge complex commercial project a disaster like that could have added weeks to the deadline potentially losing a lot of money. Makes me a bit weary shelling out the 1500 bucks on the pro version. But I guess weird shit happens all the time with all software. You pays your money and you takes your chances…
- Still a bit unclear on WheelCollider physics. I’d really like to make a car that doesn’t drive up 90 degree angles. I’m sure it has to do with adjusting friction, but when I played around with it, I found I made the vehicle either undrivable or worse when it comes to climbing up terrains. A bit more research needed here.
While I can’t say I’d be willing to give up Flash for a career in 3d game development (I love the variety Flash offers – you may be making a game one day then a website, RIA, or mobile app the next – beautiful), I’m definitely digging Unity and look forward to doing some more with it.
For anyone who may have missed the link earlier, you can check out the experiment here. Of course you’ll need the Unity plugin. Oh, and make sure you work up a good head of steam going around that first corner – you’ll need it to make it over the Fiery Pit of Doom…