UE4 comes with complete source code access. You can make pretty much anything if you know how or are willing to take the time to learn.

Blueprint visual scripting is amazing for prototyping, and especially for anyone who doesn't already know C++ which it is based on. Artists can pick blueprint up and prototype things that would normally require knowledgeable programmers. Blueprint is also extremely powerful, allowing you to create the vast majority of functions without having to delve into code.

There are a lot of other good reasons, but those are the most important. You can make good games in both engines, but UE4 has the upper hand right now.

I had tried both Unity and UDK back in the day. As a noob with no real coding ability I found both engines large and unfathomable. With blueprint I was pretty much able to hit the ground running. Visual scripting is just amazing.

If you are already completely familiar with C#, then blueprint probably won't be the deal maker for you. Though, I know a lot of competent C++ programmers saw blueprint, blew it off as something for noobs and artists, and then months later found themselves spending most of their time in it because of how quick and easy it is to prototype.

I can't really lay out the pros and cons between the two because I never seriously used Unity. Hell, I didn't even come here to sell UE4. It has empowered me greatly though. Anyone who has even had half a thought of game design should give it a go.

Now that I'm actually *liking* coding, though...guess that advantage isn't as significant and I can stick to Unity?

UE4 gives you access to more areas to code for than Unity does, unless they've decided to give people the Unity source code recently. You can literally change everything about UE4 that you want, though it might not be wise to do so if you aren't highly experienced.