Sebastian
Sebastian

Reputation: 73

Are there any limitations when using Unity 3D?

I am still quite new in the world of 3D programming / game development. I am using Unity with MonoDevelop and mainly work with Models, Textures, etc. which are made with Blender. Programming logic is done with C#.

My main question is: Is there everything possible with Unity? I know that this is a broad question, but with "everything" I mean things like nearly every 3D Game (or also 2D Games) have nowadays, some examples:

Sorry again, i know this is kind of a broad question, but I can't get rid of the feelings that I "can't do everything I want" in Unity (if you know what I mean).

For example, could I write Games like e.g. Call Of Duty MW2 or Super Mario 64 completely with Blender / Unity? (I know that those are probably using their own game-engines etc., but I just mean all components which make a entire game, basically).

Or otherwise formulated, could anyone say "Oh that's a nice idea, but you can't realize this with Unity", or something like that. And if yes, why?

Thanks!

Upvotes: 2

Views: 2139

Answers (4)

AJSJ
AJSJ

Reputation: 1

So Unreal and a lot of other engines have many features kind of baked into them. Those come with constraints though. With Unreal you have a lot of what you are looking for packed into the engine already but you have to jump through hoops to get it to work exactly the way you want.

Unity on the other hand does not have as much built in. For instance in Unreal you can create bezier curves right out of the box and have the camera track along them for cinematics. Unity requires you to code your own solution.

That being said because you are coding or building your own solutions your stuff might take a bit longer but you will probably have more control over it.

Upvotes: 0

user5880181
user5880181

Reputation:

Unity is a really versaitile engine. You could get arround to do most if all the things you specify, using either unity's default engine, or some of the plugins also avaiable.

Cinematics

You can write code in C# to edit your cutscenes, it all depends on the level of quality you want to ensure for your cinematic.

Main Menu

You could get arround creating menus and other HUDs easily with the tools avaiable in the default installation of unity, particulary the "Canvas" gameObject works fine for HUDs, and load menus like any other scenes in the game

Sound

Sound editing in unity is fairly good, not so much for creating the sounds but for configuring how they will reproduce in-game

Maps

The terrain editor is really strong, You can also import Asset packages from the asset store, there are also good videos on youtube on how you can make your own maps to get you inspired, also lots of tools like shaders, wind and terrains

If you're looking for stronger graphics and more fidelity maybe Unity is not the tools you're looking for, Unreal fills more that void, but you'd have to learn C++, the editor's main lenguaje. For your first time, Unity is a pretty solid choice

Upvotes: 2

Maglethong Spirr
Maglethong Spirr

Reputation: 443

I would dare to say no game is really impossible to write in Unity. Some things are just quite hard or not viable, but lets start with your little list.

  • Intro/Cutscenes: Currently that is a little manual. You would probably have to write some C# code to control a set of animations on your GameObjects and Camera. I'd say hard, not impossible. An alternative would be using Cinema Director (asset store) or wait untill Unity releases Timeline (previously called Director, a feature made just for that kind of stuff ;D)

  • Main menu: That would be easy. Unity has, since v4.6, a feature called Canvas. Pretty easy making menus with it (even animated ones).

  • Sound and Graphic options: Not really my department but I believe what you want is Unity Quality settings. They allow you to create some predefined graphics setting so your user can choose between them. Also, when writing shaders in ShaderLab (unity's shader language), you can tell unity how it should behave depending on the graphic card your player has.

  • multiple maps / scenes, load maps / scenes / game objects on demand: For content on demand there are AssetBundles. Never really used them, but the general idea is exactly that: Group some assets in a file and tell the game to download it, load the assets and use them in game (like a DLC). You might have some difficulties if you intend to store code in it, but again, it is not impossible.

  • sound effects, background music: Ugh... there you got me. You might wanna look into Unity's Audio Mixer, but that is something I never really looked into. (Theoretically its also pretty easy, I see my colleagues working with audio all the time)

Unity can do almost anything you might want to do in a small team. If you stumble across something you can not do easily, I would recommend looking into the asset store because most likely someone else already had that problem.

Now, about what Unity can not do:

Unity is a game engine designed to fit the needs of the majority. As such, it sometimes faces efficiency issues if your game requires complex and heavy calculations. But if you have them in unity you would probably have them elsewhere too. An alternative here would be writing the heavy stuff in a dll outside of unity. In any case, most of the efficiency issues in Unity can be corrected with good programing practices and a bit of C# knowledge.

Modding support. I think that is the hugest gap Unity currently has. There are lots of attempts from the community out there, but none with a generic solution that will always work. If you intend to make a mod-able game you'll probably have to read a lot, adapt code and write a lot yourself. But again, it's not impossible. People have done it, you can do it too.

Graphics Technology Unity4 had a lot of gaps in rendering technologies AAA games usually have, but Unity5 caught up really good and should cover almost anything other modern engines support. (correct me if I'm wrong guys) There are several of those limitations that where covered in unity5.

Most of the limitations in unity that bother me in particular are editor related and not really impossible to work around.


If I remember anything I'll edit it in here.


Upvotes: 6

NLxDoDge
NLxDoDge

Reputation: 189

(I can't post comments yet, to low rep)

I could say that in the 4 years of using Unity I never had a thought of not being able to create something that I wanted (Although I had to make some workarounds for things). Unity is so broad nowadays that you can imagine a functions and it exists.

I am currently working on a school project with multiplayer and that works solid to. The only limitation that I know if is that other engines are faster and (for some people) easier to use. And I know one person where the compilation of the game takes around 30 seconds. Which isn't that great. But his code is also very rubbish.

Could you try to think of an example game or thing that you would like to build. That would help with answering this question.

Upvotes: 0

Related Questions