Unity and UDK

Started by
7 comments, last by ShadowKGames 10 years, 4 months ago

Hi Everyone,

Excited to be on this forum, we are a small group of game developers looking at our options in the future. At the moment, we have a game that were working through in the Unity Engine.. We had a trial of PRO and now deciding whether we buy two licences for the main coders, or we skip over to UDK.

Here is a small snippet of what we are working on:

Now I don't want to start a Unity Vs. UDK debacle, I'd like to call on some of the GURU's here for there experience in the matter. There's several reasons we love Unity and Several reasons we are thinking about jumping ship.

Pros:

Unity and C# is an absolute delight.

The editor system is easy and informative.

The build, camera and scene editors are straight forward and intuitive.

The import system is easy, modifying textures is very simple.

Standard animation is easy to code based on events.

The asset store is amazing

Occlusion Culling and Navmesh system make enemy Ai and performance optimisation a breeze.

Cons:

Buggy issues with Mecanim system and animation system in general.

Lack's features of the UDK platform, animation touch ups etc.

Run into issues with deferred lighting system (Pro only as well).

Static skyboxes, standard shading system had to be re-wrote to look half decent.

Bugs in General

Physics system issues, takes a lot of coding to get it near how it should. Then it's not as smooth as we got it after three hours of UDK..

General render system needs work.

We are very new to UDK but out of the BOX it seems more impressive, albeit a lot more time consuming. Then there's the 25% cut Unreal take at point of sale after 5K. The main thing that concerns us about UDK after reading other forums is it's lack of versatility, we are designing an RPG game, so a dialogue system, decent physics system, character designer, weapon and armour instantiate and decent particle system is a must.

Some feedback welcome before we decide to place too much time into UDK.

Advertisement

I don't really understand what you mean by it's "Lack of versatility"

It's been said by the developers themselves that Unreal was not designed for the sheer purpose of being a FPS Game, albeit that IS what is usually created with the engine, while browsing the UDK forums you will see that there are plenty of people doing different things with it, something I believe you should look into is a game in development called "The Stomping Lands", This game uses the UDK and has nothing to do with FPS aspects, if anything it's a RPG Survival game that is purely Physic based, a dialogue system may not be a "Standard" package, but it's not in Unity3D either. I've messed with both of these engines and I would have to say that Unity3D is my favorite upon the Two, but that's just preference of writing in C#...

Do a little bit of research, the Unreal Engine is capable of so much more than people make it out to be.

If you are not working alone, you may be better off with the UDK.

I want to clarify though,the royalties don't start until you hit 50,000. It was originally just 5,000, but they changed at a while back. Also, it isn'[t much at all, but don't forget the $99 you have to pay upon releasing your first game commercially.

As far as capability....I would say that you will get more done faster with Unity overall. There are some quirks that you have ran into. Most people run into some quirk or other, but in reality, I've seen forum posts that the UDK also has some quirks to it, and in reality I'd say all software has something like that. But, the UDK is much more powerful overall. It may not be as much as people think, because Unity has been catching up somewhat, but there is still a difference. Unity's scripting is faster though, so if you intend on having anything truly code intense, Unrealscript won't be as fast. They are changing it to C++ in UE4, but we still have no idea when that is going to happen to hit the UDK as well. That shouldn't stop you from using the UDK as is now though, because many of the same concepts will hold. Languages come and go.

As far as versatility,...UDK's versatility tends to be underrated. Yes, if you are making an FPS, you get all the things included for that. But if not, it doesn't mean you can't use the UDK, rather you have to code it yourself. Unity is more "free" in this aspect because it doesn't include much of anything genre specific. It comes with a few scripts for cameras, but not much. On the other hand, the asset store has many things that are pre-built to make any given genre with Unity. Also, you can always roll your own there as well. So yeah, with the UDK there may be a slight work around, but it is worth it...if you have art assets and skill to take advantage of UDK's power. Otherwise, you may as well use Unity.

So overall, the biggest factor some people consider is price. Pay cheaply now(Unity) or pay extremely cheap now and then really high later if you make some dough. It isn't exactly this, because you have access to the free version of Unity, and if that is enough, than so be it. Also, there are two sides to the UDK argument. Some say that 25% is too much royalty. Others say that because it doesn't start until 50,000, and doesn't even affect anything before it, it is worth it. Also, once you make that amount, you can afford 25%, like saying that it is a good problem to have. The thing to also think about is that if the UDK helps to realize your dream games where other software does not, then maybe it is worth the 25%, considering that you wouldn't have made $50,000 without it. But if you CAN easily make it with Unity, then it may not be worth it to you. We can't decide that kind of thing for you, but I atleast can give you a perspective view of it.

The last thing to make a bigger point of...can your art pipeline truly take advantage of the UDK? And if not, should you still switch anyway for other reasons? Most dev teams aren't going to have the time and/or skill combinations required to fully utilize UDK's render system to the max. So if you want to switch based on those types of capabilities, it may not make any difference, as art makes a big deal. Fancy shaders etc... don't fix bad art. Now, you can use lower class art just fine with UDK, and the "fancy shaders" may help some. But then, you would need a different reason to switch. For example, the price, or the bugs in Unity. Don't switch because of something that you can't take advantage of. Disclaimer: I'm not saying your team can't produce AAA art, or enough good art to take advantage of the UDK. I'm just saying to consider if you can or can't and not base your decision to switch on the rendering if you indeed can't or don't have time to, but if you can, than it is a consideration.



It really depends on your project. Do you have better human resources? do you have more time/can bend time constraint? do you have enough budget to keep the project longer?

Answering these, I'm pretty sure if you have so much time and looking for quality, and you have a decent team ready to learn (I'm pretty sure you do, looking at your demo), UDK is your choice. If you need something fast, Unity is not that bad at all. In my opinion about Unreal Engine is, you better wait until Unreal Engine 4 is released. It's really not far for now, try contacting them for further information about it.

In short, less time? use Unity.

Not being an expert on UDK and only having tried it for a short period, my impression clearly was that the further you depart from using the pre-supplied FPS scripts the more obvious the flaws of UDK's script system become. UDK did really impress me in many other ways, but it's a god awful shame to have such a weak script system stepping on the breaks to your creation. Hoping they rectify the issue in the upcoming version but I doubt it given the WTF choice of C++ as a script language.

As for Unity, you accurately summed up the situation in the OP; technically inferior in many areas even though the core is amazing - extension is a must.

Hopefully you can some UDK expert opinions in here as well at not just "noobs" like me who only did shallow evaluations. :)

Thanks everyone, appreciate the responses. I'll start from the top:

I don't really understand what you mean by it's "Lack of versatility"

Lack of versatility in the way of, reaching goals without having to go to extremes. The system may be geared towards a type of market, doesn't mean X cannot be created in said engine although time is a limiting factor. This is a three year project and anything that saves time is a bonus, if time permitted we would look at creating our own engine but with funds and time as is I can't see it happening.

kburkhart84

I hope our art pipeline can make good use of UDK, one of the concerns is Unity may struggle in the long run. What I mean by that is look at the demo reels between the two and it becomes apparent which has the expected eyecandy, obviously graphics isn't everything but if you can excel why not? We can get the source code for the Unity engine and improve upon it (Hopefully) although the amount of time again could be better spent using UDK. Unity would give us time to complete the game quickly then work on overhauling the lighting and shading system, half of one ten dozen of the other.

That being said, we are finding UDK a little clunky and hard to get around after the extreme ease of Unity. So a lot of consideration, the demo posted above is currently using Depth of Field, DX11 shaders and some well designed artwork. But it doesn't look that good for the moment, we all like a bit of eyecandy :). Plus even with occlusion culling, performance on some systems is nothing short of poor.

mychii

Thanks for the kind words, UDK 4 may be what were looking for. Funnily enough were all C++ coders, C# is taking a bit of getting used to but we like the less rope to hang your self with approach to scripting.

StubbornDuck

I think what you say sums up very nicely.

We have had to go with another engine.

I guess that depends on your long term ideas. For example, if you make a game in UDK 3, and 10 years later you want to remake it in UDK (insert number here), there is no telling whether or not they will use the same code or functions they used 10 years ago. In fact, they are dumping unreal script. So if you made a game in UDK 3, you may have to rewrite your entire game purely from scratch. Unity doesn't look as though it is going to go through any major changes as far as languages, but you'll never know. This is why I prefer to just write my own game engine.

View my game dev blog here!

I guess that depends on your long term ideas. For example, if you make a game in UDK 3, and 10 years later you want to remake it in UDK (insert number here), there is no telling whether or not they will use the same code or functions they used 10 years ago. In fact, they are dumping unreal script. So if you made a game in UDK 3, you may have to rewrite your entire game purely from scratch. Unity doesn't look as though it is going to go through any major changes as far as languages, but you'll never know. This is why I prefer to just write my own game engine.

I've been down that path before, issue is can you make a better engine than a very large team of developers with years upon years of experience behind them? If someone else could make a better engine than CryEngine or UDK with a simple elegant UI system like Unity I'd jump on it.

For now we are developing a game in CryEngine, that will take three years alone.. To add a game engine into the mix, you might as well double that deadline. I'm not badly funded for an indie, but I don't have the time or the money to do so. If I won the lottery, hell yes I'd do it all from scratch.

This topic is closed to new replies.

Advertisement