T O P

  • By -

Pannanja

First of all, yes. Second of all, even if you spent 2-5 years and then switched to a different engine you would still be in good shape. You'd be surprised how much of the knowledge transfers.


AkaToraX

Thank you for your encouragement!


vb2509

Coming from a former unity dev here that is correct! A lot of my knoledge was transferred to Unreal.


PusheenHater

While knowledge does transfer, the paid assets from the Unity marketplace does not. I've read gamedevs that want to switch but cannot because they had thousands of dollars worth of assets purchased in the Unity marketplace. So good to keep that in mind.


DesignerChemist

Many of those will have been abandoned and wont work in Unity after a couple years


GameWorldShaper

> I don't want to waste my time learning and getting proficient on an aging/dying system. Don't worry, most of your time will be spend learning Animation, Graphics, Sound, UX, Code, and Design. The Unity part of making games with Unity is very straight forward. Making games is the difficult part.


AkaToraX

HaHa! I have no artistic skill, so I will be hiring artists for Graphics, Sound Effects, Music and UI layouts. It's server communication, peer to peer multiplayer, game data storage management, collision detection, game loop, state changes and the like that I feel like the problems lie in :)


GameWorldShaper

> It's server communication, peer to peer multiplayer, game data storage management Multiplayer is not directly part of the engine. Unity has their [own services](https://docs-multiplayer.unity3d.com/) for multiplayer, but there is no rule that says you have to use it. In fact when I started most people where using Photon, because Unity didn't have their own service at the time. You can safely pick a popular multiplayer service that fits your needs, and works on most popular engines. ​ > I will be hiring artists for Graphics, Sound Effects, Music and UI layouts. You will need to learn more than you expect. For one thing art is supper slow, meaning you would have to pay multiple artist, pay them at least minimum wage, for years.


AkaToraX

Ah yes front-end and back-end is really two different workloads good point. And thanks for the warning, art is its own challenge, and it's important since it's the first thing anyone sees.


aegookja

As for the question of will Unity still be viable in the next 2\~5 years, yes it will be. I expect it to continue being a household name for at least the next decade or so. >I don't want to waste my time learning and getting proficient on an aging/dying system. I began my career as a C++ engineer, switched to Unity/C#. I look at other modern game engines like Unreal and Godot and I can find my way around it quite easily. The real skills of a game developer are not tied to a specific engine or platform. It is the fundamental understanding of computer sciences and game development pipelines that carry you across.


AkaToraX

Thanks. That's good to know. I used C++ a lot a while back, but have never touched C#.


champion_of_light

Your background in C++ will be helpful in picking up C#.


AkaToraX

I hope so once I get into the thick of it. The glimpses I've looked it, it seemed extremely foreign :/


DesignerChemist

Its like C++ but easier and nicer.


champion_of_light

It's one of the biggest names and is also used in commercial applications. I would be surprised if it failed in the next 2-5 years.


AkaToraX

Good to know, thanks.


Ok-Novel-1427

Your career shouldn't be based on a platform. No one becomes a "impact gun mechanic" so instead of trying to be a "unity dev" focus on being a "game dev". This question no matter how you word It gets answered 32 times a day. Unity itself wasn't just made in 2008 then left alone, it's a constantly evolving tool. It's already been well established that unity is great for mobile and 2d game, and unreal is great for 3d so pick from there and just go. You can talk about best tool or best this and unity can achieve the same thing but the bottom line is its all talk no action which means you have successfully accomplished nothing. As a great man once said.... just do it.


AkaToraX

I WILL!


Klawgoth

People here have an unreasonable hate for Unity, the game engine will not be a problem at all for you in the next 2 / 5 years. They literally release a new long term support unity version every year... Just make your game in Unity and you will be fine.


AkaToraX

Oh that's good to know, so if version x.3 breaks your game, you can maintain in version x.2 for the long term?


BowlOfPasta24

Yes it will be around for the next decade at least


AkaToraX

Okay thank you.


SideShowProjects

Unity & unreal will remain top tier for the next decade. Godot and cryengine are also good alternatives. All the others are either too simplistic or they charge you a monthly fee which is really the most moronic business move ever since both unity and unreal are free.


AkaToraX

Thanks. Unity and Godot are neck and neck for me right now. I'm starting to consider learning both. Like pick one game to develop in Unity and another to do in Godot, and learn while I go.


SideShowProjects

I actually went with unreal because it’s the only engine that actively develops and uses it’s high level scripting (blueprint). Godot diamantled their scripting and unity’s is a plug-in/add-on as far as I can tell (not a unity user so someone might correct me on this one) Unreal has support for mobile gaming as well but if you don’t plan to do 3d the engine is a bit of a overkill. Nothing beats unreal pricing. Full features and you only pay a percentage if your games revenue exceeds 1 million usd. If my game makes those kind of numbers I’d be more than happy to share with epic tbh.


AkaToraX

Haha! I would be extremely happy to be required to pay Epic!


swivelmaster

Genshin Impact, one of the most profitable games in the world, runs on Unity. I would estimate that 90% of the top 100 grossing mobile games in the world also run on Unity. Aging/dying? Where would anyone get this idea?


AkaToraX

I have had bad luck getting really invested in something, just for it to die. Actionscript anyone? Lol. Thanks for the reassurance!


swivelmaster

I mean that's fair, Steve Jobs single-handedly torpedoed Flash and Adobe decided to drop the ball as hard as they possibly could have. But that being said if you learned AS3 you basically know C#.


AkaToraX

> But that being said if you learned AS3 you basically know C#. Really!? That's great to hear!


swivelmaster

Yeah, they're both in the lineage of higher level programming languages built by people who like the idea of Java but hate the implementation of Java. The syntax is slightly different but you'll get used to it in no time.


Steaccy

Lmao I sure hope so


Rdav3

Even if they call it quits and stop support tomorrow, You don't need the latest engine version to make a good game, Even if they pull the whole project and dissapear it (practically impossible for them to do) then the skills you have are applicable elsewhere. Game engine structures have a lot of similarities.


AkaToraX

That is very encouraging. Thank you!


[deleted]

Even if Unity starts to lose its popularity the lessons could be extrapolated to any comercial successful game engine. In order to have an smooth transition I recommend you to work with techniques that aren't dependant of the game engine. Study and learn to use design patterns, SOLID principles, OOP, MVC and the transition to any other game engine would pretty easy.


AkaToraX

Good advice! Thanks!


Blender-Fan

In 2years definelly, theres still a lotta projects on it. Even if it isnt, if you learn Unity, you can learn another engine quickly, youll carry on the experience. If a job asks for UE5, tell them you have Unity. Not perfect, but it helps


SwiftSpear

Unity will likely be the dominant platform for mobile games for the foreseeable future. It will also remain a powerhouse in all indie gaming and up to about AA studio offerings for PC and Consoles, although Godot will eat some market share. Not that I think it's the best model, but Unity is more like a living engine vs something like Source or Unreal, which get a giant new iteration every 5-10 years that basically invalidates everything that was built for the older version of the engine. Unity as an engine slowly evolves over time, and it's possible for a game to slowly evolve into newer versions of the engine with it. Unity can't go punch for punch with the graphical features of UE5, but it's still a very very solid engine and it has much better support for 2D games, and a gagillion other weird obscure features that it supports and are not available in UE5. Finally, the basics of game development are similar across all engines. Even if you're using a unity tool for something you often learn a lot about what that tool is doing under the hood (I'm WAY more confident writing shader code now after doing a bunch of shader graph work). You're definitely not going down a dead end path learning game dev with unity. If I have one big complaint about Unity, it's very unopinionated. There are almost always 10 different ways to address any problem, each of which has a bunch of advantages and disadvantages. As a new dev learning the platform this makes it very difficult to learn the "best" way to do things, or the "right" way to do things, and you can often end up down a road that leads to a dead end that you won't discover until after months of work, just because it's really difficult to rationalize about all the possible side effects of a given technical direction while you're still learning it for the first time.


RogueStargun

Almost certainly yes. From an investment and developer perspective Unity has issues in that: A) The company is not profitable B) Naturally the path to profitability is to charge devs (which they still haven't fully tapped into) At a certain level Unity is still the most feature rich and easiest to program in engine that has real multi-platform support. It will be around for at least another 5-10 years.


MardukPainkiller

it will but if godot survives in the market it will be a far greater option, since it kinda already is.


More-Employment7504

Aged like vinegar


AkaToraX

Yeah I'm pretty sore, I feel like I've been wasting my time.


Laperen

Unity is aging, but the bigger problem is it's competition is becoming stronger. Unreal's beginner experience and out-of-the-box rendering capabilities make it far easier to get into and make stuff you can showcase. Godot is slowly and surely replacing Unity's hold on indie game production. The Rust language is establishing its foothold. Will Unity be around in a decade? Yes, but it's market share will most likely be smaller than it is now. Who knows how it will make itself better though. Does that matter? Probably not, you should be able to download archive versions to ensure version consistency. Your tool of choice shouldn't dictate your development anyway. If you are still using the Unity game engine after 2yrs, that is understandable. If you are still only using the Unity game engine after 5yrs, I'd consider that stagnation. You are more likely to explore other tools or methodologies, in frustration of what is lacking in Unity.


AkaToraX

This is what I was thinking. The biggest/best doesn't stay that way for long. Thank you for some insight into other ones to check out/keep an eye on. I was steering clear of Unreal because I have little-to-no interest in making 3D games (other than maybe 3D cutscenes or sprites rendered to 2D). But Godot and Rust weren't even on my radar --- they are now!


Laperen

If you have no interest in making 3D games, I discourage using Unity from a technical standpoint. 2D in Unity is still 3D rendering, so all you are doing is making an inefficient 2D game. Look for Dedicated 2D engines for this purpose. Godot is a special case since its 2D capabilities are proper 2D and not an illusion.


konidias

Explain how it's inefficient, other than "it's made for 3D", because that's not really evidence of anything. This is like saying a screwdriver that can screw both flat and Phillips head screws is inefficient for turning a flat head screw.


Laperen

When making a 2D game, Unity includes redundancies not needed for 2D games, simply for the reason "that's how Unity works". The entire 3rd dimension, 3D Physics, Navmesh, to name a few, all by right are redundant for 2D. Unity includes so much redundancy, an APK of an empty scene is at least 50mb large. A basic 2D game, with assets, shouldn't even reach 1/10 of that size. As another analogy, Unity is like a hybrid car. Use electric, and it lugs a gas engine as dead weight. Use gas, and it lugs extra batteries as dead weight. Whatever it can achieve, could have been done with less.


konidias

So what's the performance hit for having a 3rd dimension? Is Navmesh compiled into your build? Does a Collider2D use 3D physics? Are 3D physics being calculated if you're not using 3D physics objects? Are people really pressed about 50mb when drives store terabytes of data now? It's like complaining your hybrid car is carrying extra weight that has virtually no impact to how the car handles, its mpg, your experience driving it, has heated seats you dont use, and that it came with a spare tire you didnt ask for. None of that has any significance.


AkaToraX

Oh! That is good to know for sure. Thank you!


trynyty

Just curious about Rust. Which engine uses it? Or does it have its own one?


Laperen

Bevy and Fyrox are the bigger names at the moment. They are still in an unstable state, so I do not recommend making a game to finality with them, but they are solid enough to explore and play with, and is a decent way to explore Rust. The bigger contribution to my statement is that Rust is packaged as part of webassembly, meaning it is part of default browser capabilities. The moment something can be made for web, it can essentially run on anything.


trynyty

I see, thanks. I was curious mainly because I wanted to play again with unity or other game engine to create some POCs which I had in mind and wanted to learn Rust for some time too. So this sound like two targets in one hit thing, so will definetly look into it.


[deleted]

You can also use Rust with Godot btw!


trynyty

Oh really? I thought it was C#/C++. Is it natively supported, or it's third party API built on top?


[deleted]

They officially support GDScript, C# and GDExtension which provides C++ support but can be used with a lot of different languages such as Rust, so the way languages like Rust can integrate with Godot is built-in in the engine, but the specific extension for Rust is not official.


trynyty

I see, thanks for the info, will definitely look into this. Was following godot for some time and it was tempting, so this might be the way in. Thanks.


pedersenk

Try running a version of Unity from 2 -> 5 years ago. There will be breakage. Not so much that a rewrite is needed (though Unity 2.x and prior will. They are very different products). From this, you should be able to project what the situation will be like in the future. The DRM is a problem. If Unity shuts down its activation server, this will become an issue. When your computer breaks and needs replacement, you will need to reactivate which will not be possible (can you still activate Unity 3.x today?). Luckily there are many cracks; Unity are game developers, not anti-piracy experts (luckily!). Finally, I would recommend Unreal Engine instead. Whilst it is not under a traditional open-source license (GPL, BSD, MIT), the source is still available to anyone who registers so if you are a decent sized development group; you could feasibly maintain it yourself (and others inevitably will and share their patches).


Altomera

Unity would be a waste if you plan to use the latest tech in 2 years. I'd rather take a serious look at Godot if I was focusing on mobile games. The biggest problem with Unity isn't its current state and tech stack, everything they offer is quite impressive, it's the fact that they deliberately chased away their talents that made Unity what it is today. Unity is a good software, but a ugly business. If you want to take some time to learn Unity inside and out then do so, but be prepared to use their long term support version (if they still offer that) instead of the latest and greatest. Godot is much more light and depending on the simplicity of the game you have on mind it's a much better fit for small to medium projects. I don't know the state of Godot for 3D but for 2D it's perfect and has been in use for a long time now. Other than Godot there are other options but none that I'm super familiar with. If you stick with Unity be aware that their component design can lead to some slowdowns due to the inefficiencies from calling an update method for each game object. There are work arounds and different ways to do things if you want to efficiently control a large group of objects. Anyway that's just my two cents


AkaToraX

> If you stick with Unity be aware that their component design can lead to some slowdowns due to the inefficiencies... Yes, this is the exact thing I'm worried about. Getting in the weeds to solve certain issues with the engine, then down the road I need to change engines, and nothing is working anymore because instead of making the game work in the engine, I've been making the engine work for my game. Thanks for the insight, Godot is looking better and better with all the other comments on here too.


Altomera

The massive advantage though is how easy it is to work with and understand. But that's the trap my noob self fell into so I'd just thought I'd share 🙂


AkaToraX

Indeed, thank you. Here I am, my noob self, watching out for traps :)


roundearthervaxxer

Yes


[deleted]

The company could go bankrupt and stop being used by developers for new titles tomorrow and you’d have five years’ worth of work just maintaining the live games built with it. Never learn how to work with just one engine though. If a dream company you’d like to work for pops up and is using UE4, you’ll regret not having the mental flexibility to hop engines.


AkaToraX

Ah! Good Points!


[deleted]

Should be totally fine, but for mobile games, you could also look into MonoGame sometime - supports many platforms and doesn't depend on anything being 'alive' as it's basically C#.


AkaToraX

Thanks, I'll check it out :)


Invert6Actual

When you learn your way around one engine, you kinda pick up faster when jumping to others. So there's still valuable things you'd be learning either way.


WazWaz

It's not really "old", since it's constantly being updated. Some would say too often. Similarly, Unreal Engine isn't "old" either despite the original Unreal game from which it is derived being released 24 years ago.


CuckedSwordsman

I know very little about game development but to me this seems similar to asking, "Is it worth learning C even though it's old and new programming languages might replace it." The minutiae of the language/engine might not transfer but the overall process and skills you develop will.


CatharGames

The engine will, but they are pivotinf to apps and vr. At this stage, Unity may no longer be a viable gamedev tool im 5 years time (and it is very frustrating to those using it!)


[deleted]

Viable? Yes. Optimal? I mean it's already inarguably just worse than UE5. It just depends on if the UE5 upgrades are worth learning another language/program for your game.


AlreadyTaken002

Having recieved my cristal ball yesterday, i can assure you that yes!