Hello everyone I just want to ask this question for the artists in my team. There it a little bit of confusion with out team with the graphics. We plan of making a 2.5d game (like super mario bros U or donkey country tropical freeze) but we are a little confused on which style do we use. Do we use sprites and models for the objects and backgrounds. Or do we only use models to make everything and the camera is just facing the side so it’s rendered in 3d but looks 2.5d.
We are complete novices right now but we all want to learn and do this. All of the artists and programmers are currently learning more.
It is entirely up to you, but if you’re given a choice I’d go 3d (not sprites/images rendered from models) because…
Unity is a 3D engine, with newly added (and limited) 2D functionality. Don’t kid yourself, this is not a 2D engine. It is still very much a 3D engine. The go-to choice would be 3D.
3D gives you small file sizes if you want smooth animation, high quality renders, etc. I’ve created an entire game’s worth of 2D graphics from 3D models. Let me tell you, the difference is quite large on the HDD. Animating a 3D model in an engine is cheap on space. Adding that same animation in 2D with sprites from 3D models, means FrameRate * AnimationLength * Images * FileSize.
You can’t turn the camera very well with 2D, like you can with 3D. Although you certainly can (especially if you mix the two) the ability to work in 3D allows you extra options. These options don’t matter if you never allow the player to change the camera, but it is something worth thinking about in terms of design.
Documentation. Nearly all the documentation for Unity is for 3D games. Even the 2D stuff is simply pseudo-2D in 3D, because the recent 2D 4.3 documentation is sparse compared to the enormous amount that existed before 4.3. I don’t just mean Unity’s documentation. I mean tutorials, books, code examples, website materials, youtube videos, etc.
But most of all…
What is easiest on your artist? What type of style do they want the game to be in? If it’s a cartoony game, then 2D would obviously be better than making an odd looking 3D model. There is a reason 2D cartoons are still drawn rather than animated in 3D.
What are their skills? If they are skilled at 2D art, not 3D, then that will make a huge difference in quality.
In the end, you can always use both. Being a 3D engine with 2D support, you are able to have 2D + 3D together. There are a lot of games that do this and have done it for awhile, such as those games that use 2D character sprites in 3D worlds, or vice versa. (Shadowrun Returns, for example. Ragnarok Online, etc.)
Doesn’t really matter. A lot of Unity’s most successful games are 2D games. And these had been successful, long before Unity even added native 2d features.
Some things are actually easier to achieve in Unity, than in a native 2d engine.
Yes Unity is primarily a 3D engine. But it’s also proven as 2D engine many times. Eventually who cares, as long as the result is looking right?
Ultimately you should decide this for yourself, based on what you want achieve. Unity is capable of both styles.
Sorry, but it is important to point out that it is not a 2D engine. It is a 3D engine, and all 3D engines have the capacity to perform 2D games by simply ignoring the 3rd dimension.
For 3D, I don’t even see any real competition with Unity. For 2D, there is plenty of competition and other engines which do 2D far better- some in nearly every way. Unity has OTHER advantages that make it a better choice than those superior 2D engines, as I’ve state at the end of this post.
As of 4.3, it became a 2D engine, but one with limited 2D functionality that doesn’t compare to engines which are first and foremost 2D.
It is very important for this terminology to be specific and clear to others. Unity3D is a 3D engine first, and as of 4.3 a 3D engine with rather basic 2D engine functionality.
Why is this so important? Because we don’t want to deceive people. There are 2D engines with far more features for 2D than Unity3D has. Engines that are primarily or only 2D, will have exclusively 2D updates to its 2D functionality. Unity does not have this advantage, as most of its updates seem to be and most likely will continue to be 3D.
Most of Unity’s “successful 2D games” were released long before 4.3, when people had to either code their own 2D engine inside of Unity’s 3D engine using textures and quads, or purchase a plugin which adds 2D functionality.
As someone who tried to use Unity as a 2D engine back when it was only v1.6, I can attest to the fact that before 4.3, or at the very least before all the great 2D plugins, it was certainly far far behind real 2D engines.
Before 4.3, before all of the plugins and their major updates, I am surprised anyone would even consider this for their 2D game. Of course, I fail to realize how many of indie 2D games are platformers. Like, 99.99% lol I’m sure a 3D engine is great for physics-based platformers. However, you don’t see people rushing to make the latest Super Meat Boy or the next Dwarf Fortress with Unity. Every engine, framework, or decision has its advantages and disadvantages. IMO it is important to be transparent about them and honest about the disadvantages.
It is best not to deceive people into thinking Unity is something it is not. This is and always will be, a 3D engine. Don’t expect the updates, features, functionality, or clarity of 2D, in a 3D engine. Unless Unity simply (over time) monopolizes the game engine competition to consume both 3D and 2D, I see it competing with but not eliminating 2D engines.
2D engines very often have supported features like you see with Tile packages like SpriteTile, UniTile, TileD .tmx support, tile-based logic, etc.
Smoother implementation of animation (Unity’s 2D animation is from a 3D perspective, so it is a bit less intuitive coming from traditional ways of handling 2D animations.)
The SIGNIFICANT BENEFITS of using Unity as a 2D engine, even before 4.3 / plugins, is the documentation, the community, etc. and most importantly the asset store.
Without the asset store, Unity would be quite a heaping ball of useless to many people. At least compared to rolling their own or using a game framework or a different game engine.
A big reason you see so many successful games with Unity is probably due in part to so much wonderful documentation and such a friendly community which is heavily involved in improving Unity by providing tutorials, asset store assets, and forum support.
Such benefits extend far beyond any 2D feature a real 2D engine could provide. Typically, other engines are poorly documented, or have very tiny communities who may or may not be friendly. Other engines have significant amounts of quality updates (Unity has less, because Unity is so spread out and has to focus on so many aspects of 3D and 2D). Yet Unity destroys them in updates, because you don’t have to wait for the devs to publish their new build. You can simply “buy an update” or “buy a feature” at the asset store.
That IMO, is Unity’s true advantage. Not so much the power of its engine (for 2D) but the power of its community/docs and the additional features in the asset store.
I get your point. And I mainly agree. But it’s still possible to make 2D games in one way or another in Unity, isn’t it? I was proven lot’s of time. That was my point actually. I won’t deny that it’s mainly a 3D engine.
And of course it’s probably be better to use one of the 2D engines/frameworks if you mainly work with 2D. But I guess that is not an option for everyone, who already invested lot of time and money into Unity.
And as you said, it is Unity’s ecosystem that a lot developers stuck with.
Personally, I also find it kind of awkward to use a 3D engine for 2d stuff. That being said, it is possible though.
If you already have a lot of time and money in Unity, you’re definitely right, it’s best to use it. Especially if that time was spent already doing great work with 2D.
I did not mean to discourage making 2D games with Unity.
Hehe, this is what I am doing
I am making a completely 2D game.
I meant to press on the thread the importance of being transparent that Unity is definitely not the best choice in 2D, but is certainly the best choice (at least IMO) when it comes to a game engine. What it lacks in features, it makes up for in incredibly extensive documentation. I mean, where else can you go and find 272 tutorials on how to make a RPG, or buy something like SpriteTile to skip having to code your own tile logic? And man, the documentation is so readily available and easy to read.
I actually chose Unity for my 2D game, because I was so sick and tired of having to code so much of the basics. I love how I can pay (asset store) to skip parts of hard work and focus on just making games! You’re right it’s weird working with it, kindof awkward. But it definitely is worthy of the praise it gets.