Category Archives: _________________________

The Unity vs. Unreal debate: where to start?

Unity and Unreal Engine dominate the marketplace for people getting started in game and VR development. So the perennial question is which one should I learn? Having spent some time in both, I will share my views.

I am by no means a professional game developer. After over a year learning Unity and making some small 3D/AR/VR experiences in it, I mentored a group of college students in a studio course on it. Seeing their struggles with it, I spent a couple of months learning Unreal  and making one 3D experience it.

The short version is that in my opinion (as of fall 2019)   Unreal is better overall as a more focused and higher quality product but Unity is probably the best place to start given its deep and broad support for new users–but with serious qualifications.

Unity’s biggest strength is the breadth of support for new and varied usersThere are a vast array of online tutorials for Unity (although most of them are now out of date). The official tutorials and sample projects form a large collection and recently have been greatly enhanced with beginner material for users as young as middle school.  Unity supports 2D games which Unreal really doesn’t and I have found that many newbies want to start in 2D. Unreal has a limited selection of high quality official tutorials for new users.

The interfaces have some surface similarity but are quite different beyond first impressions. By comparison Unreal is simple, logical, and uncluttered. Once you have familiarized yourself with it, things are were you expect them to be and many features you have to set up in Unity just work out of the box in Unreal (such as editing in VR). Unreal content looks much better out of the box without the need to wade into tweaking advanced shaders and HDR pipelines. Unity has many, many windows, menus and layers and they keep changing with new versions or with new assets that bring their own menu additions with them. A big part of the learning struggle with Unity is discovering which feature is accessed through which menu. Frankly it’s a big cluttered mess compared to Unreal.

The Unreal interface is clean and simple.
The Unity interface contains many layers of windows, menus, and options that get extended with new assets and versions.

The two take different approaches to scripting. Unity is more conventional with text scripts done in C#. Visual Studio is now the primary IDE for editing scripts. This makes grabbing and sharing code with other people extremely easy. Unreal starts you off in visual scripting with Blueprints. Unreal expects professional teams to prototype in Blueprints and then tweak in C++ but here I am just focusing on learners and hobbyists. I am not a particular fan of visual scripting approaches but they do work better for some people. Blueprints offer a visualization of script logic flow which is much more helpful for debugging that warnings in a text console. But Blueprints are very hard to share and you are lucky if someone posted a screen capture of their Blueprint when looking for help online. I have found that I could get my own scripts working faster in Blueprints/Unreal but had substantially less recourse for outside help if I could not solve my own problems.

Unity scripting is text-based c# that can be easily cut and pasted.
Unreal scripting starts with Blueprints, which are visual and hard to share.

There is a huge difference in access to assets for a project. The Unity Asset Store is vast and has a large collection of free and low cost assets. as well as high quality and expensive ones However many of these are constantly going obsolete since Unity is pretty ruthless about breaking old content with new versions of the software. For example, I was bedeviled by a simple collection of “free rocks” trying to keep a Unity project alive through several minor version upgrades (which are frequent).  Coming from the Unity Asset Store the content in Unreal Marketplace initially seems shockingly small and expensive. However the free collections are very high quality, very complete, and they just work when you drop them into you project (in my very limited experience with Unreal). Unreal also makes a selection of paid asset free each month so it is possible to amass quite a library over time without spending much.

Unreal has fewer assets available but they seem to be high quality and highly compatible.
Unity has lots of free assets available although the quality and compatibility varies widely

Overall, Unreal is a more focused and higher quality product for creating basic 3D & VR work. It even has autosave (which Unity doesn’t) and I have yet to have it crash (which Unity does). Pause to think about that–no autosave and random crashes. Yes you can lose a lot of work if you are not careful in Unity.

If you know you want to develop something similar to what you see in the Unreal Marketplace (i.e. realistic looking 3D & VR content) then go for Unreal and save yourself a lot of chaos by trying to learn Unity. Yet for the newbie who just wants to explore the greatest range of options Unity is much more broadly supported (if more unevenly) and can produce a wider variety of content. Just manually save your work frequently and realize you will be led down a lot of dead-ends.

At this point I could go either way in future personal projects and teaching. For teaching beginners  I would probably go with Unity mostly due to their new beginner content & projects.

 

 

Workshops on “the stick”

I will be giving public workshops on this cool new Arduino-compatible prototyping device at Fuse Factory on September 4 and Idea Foundry on October 3rd.

The workshop features the M5StickC prototyping device from M5Stack. The “stick” is a compact Arduino programmable device that contains its own screen, battery power, and extendable sensors. It also provides full Bluetooth and wifi capability. Workshop students will learn the basics of programming the stick to add interactive display, light, motion, sound, and connectivity to their projects and prototypes. Each student in the workshop will receive a M5StickC kit to work with and take home. sign ups: 

http://thefusefactory.org/events/beyond-the-arduino/

https://app.getoccasion.com/p/n/swStXnZZ#

Pop up Innovation Station

I have had a great opportunity to help with a pop up maker space, the “Innovation Station” at our local VA center.

The space is open for one month only but it has given  exposure to making opportunities to a new audience who are full of ideas and life experiences. The project board quickly filled after opening with problems presented by both patients and staff of the center. Significant progress was made on moving a number of these projects into a prototyping phase.

A number of workshops were held in  addition to many one-on-one conversations and mentoring sessions. Innovation Station has been a great success thanks to the VA center, Local Tech Heros and a substantial group of volunteers

 

Accessories for the “stick”

As I prepare to start teaching with the M5StickC I am collecting a testing hardware accessories. I’ve just gone through a small pile produced by Seeed Studio that use their Grove connector, also found on the stick. Next up will be a bunch of more commodity sensors and actuators commonly used with Arduinos. My notes on this research can be found here.

A pile of Seeed studio grove boards to test on the stick.

Unity projects for learning game audio

Capital University has a great Music Technology program (https://www.capital.edu/music-technology/) and I have collaborated with its director, Chad Loughrige, on a number of projects. One area we have collaborated on is developing simple video game environments for the students of his Audio for Media class to add all the sounds and music to.

I have created two basic first-person-non-shooter game environments in Unity for Chad’s students to work on. These environments used free and low cost assets from the Unity store along with custom coding and other tweeks. They are not full games, rather they are short experiences with 20+ opportunities to add sound effects and music.

The first project, “Chadland” had the player running around and collecting obvious targets.
Chadland had lots of gratuitous opportunities for sounds like breaking glass, knocking over fences and kicking boxes.

Chad and I led the students through a quick tutorial on Unity using these games and then he took them deeper into the FMOD middleware package (https://www.fmod.com/), where they could implement sophisticated looping and zoned music and triggered spatial audio effects.

The second project, “Elysium” was a somewhat more sophisticated escape game.
Elysium featured zombies that chased you down in a basic AI system.

Although these are more “A” (if that) than “AAA” games, they have provided a platform for the students to dive in on and quickly start using professional tools the audio side.

As of the summer of 2019 I am developing new projects in Unreal. I’ll cover the reasons for the platform switch in a subsequent post. Meanwhile Chad and his collaborators are expanding the opportunities for Music Technology majors to do work on audio for gaming and VR.

MakerX 2019 a Big Success!

MakerX The Columbus Maker Expo is an annual festival celebrating creating with technology. I lead the development and planning of MakerX.

We held our second annual MakerX at the Ohio Expo Center (aka State Fairgrounds) on April 6, 2019. Over 90 exhibitors participated and we had 1300 people in attendance (a big bump up from 2018).

Full information on MakerX is available at:  http://makerx.org/

Planning for MakerX 2020 is underway and announcements will be made on the website in Fall 2019.

 

New Maker Space going in at Capital

I’m now a Scholar in Residence at Capital University in the Columbus, Ohio area and just couldn’t resist the urge to establish a new maker space–or as I prefer to call it–a prototyping lab. We are still in the very early days here with only one room, a couple 3D printers, and some scrounged computers and furniture. Still, we already have a number of students coming in and doing cool projects. Next up will be outfitting the electronics bench and then we will see where things lead…..

 

MakerX The Columbus Maker Expo!

MakerX The Columbus Maker Expo will take place on April 21, 2018. Full details, including the call for exhibitors and venue information, can be found at:

www.makerx.org

MakerX is an independent maker festival that consists of a celebration, learning, and networking event for everyone in interested in the exciting new technologies of digital design and fabrication.

We are now accepting proposals to exhibit at MakerX!

We are seeking exhibitors who are: makers, inventors, tinkerers, teachers, clubs, meetups, hobbyists, professionals, makerspaces, schools, universities, start-ups, and corporations who want to share their knowledge of the world of digital design and fabrication.

The list of what we would like to see at MakerX is equally long and open ended. It certainly includes robotics of all sorts, drones, 3D printing and other digital prototyping and production technologies, electronic technology of all vintages, digital art and music, entertainment technologies, engineering innovations, game development, industrial design, AR/VR/mixed reality, digital biohacking, high-tech manufacturing, and technologies of citizen science.

In addition to this core we invite exhibits that round out a stimulating and fun event and remind us where our digital age has come from and where it may go: for example, cosplay of the sci-fi and steampunk variety, production crafts like blacksmithing, steam engines, DIY vehicles and art cars.

Tickets to attend MakerX will be available in January. In the meantime, please check it out at www.makerx.org, submit your proposal by December 1, and pass this announcement on to anyone you think might be interested.

MakerX is an entirely volunteer effort. Event contact: Bill Ball, billball@capital.edu.

Not Bored with the Boards?

I have sold several hundred of the prototype boards discussed here on Ebay. I made less than a dollar on each but it was fun to connect with like-minded hobbyists who seem to have found the boards quite useful. I’ve gotten bored with filling small orders and plan to keep the remaining stock of manufactured boards for my instructional endeavors. But I wanted to make the files for manufacturing new boards available.

The black lines and boxes show the pads tied together in the board (these are in white silkscreen on the top of the actual board).

If you want to have your own PCBs made you are free to do so as long as you keep the tinkerfarm.net as the only website on the silkscreen. This includes for commercial use. The Gerber files can be found here. The original blog post specified the manufacturer I used in China and I will note that I never had a problem with them across several orders.