Different game engines

So, i’d like to start a conversation about pros and cons of game engines or other related things.
(dunno, is it legal? I guess so, if you didn’t like it, lol)

I tried Godot 3.6 and didn’t like it, though:

Pros:

  1. Scripts changes in real time, edit and see result instantly in debug build.
    (Upd: that includes making changes to things in 3D tab, especially if they are sleeping, though getting your character out of bounds/under floor will be problematic)
  2. Debug build is launching fast.
  3. I like the left side of interface, also its responsive?
  4. The feel of a toy.
  5. Built-in IDE (A con at the same time)

Cons:

  1. No simultaneous editor + game mode (won’t see the running game inside editor)
  2. Bunch of problems with hierarchy, no prefabs.
  3. Lots of crutches (even the “scene” that can act like prefab is it)
  4. No multiple scripts on one object
  5. Built-in IDE still worse than VS Code/Studio
  6. The right side/inspector is worse
  7. I hate pythonish, i guess GDScript is even worse than it.
  8. GPT doesn’t know 4.0+ versions, no easy dive in to there

A little Q. from that, does Unity modified or project that doesn’t reload for 5+ seconds each script change exist?
(I know there are hot-reloads addons, they’re not ultimate pill, still full needed in some cases)

I think many indie-people would love version of unity that is quick, even if its cutted to only the ability to make 2D games/platformers.

UPD 09.12.24.
So i spent 4 days and about 21 hours on this GDScript mess, and i must say, oh boy there is zero pros if it is 3D, not 2D or some platformer, it was hell, hell on earth.
If someone will ever try, try mono version with C#. There is no proper Format Document even with extension for VSCode, no extension for Visual Studio either. (Indents, Johny, they are on the trees!)
Also my VSCode is flickering like crazy even after installing new one on top of old. (If you want to know my progress it is KinematicCharacter and RigidCharacter scripts and pick and throw with gyroscope) UPD. After that VSCode again reset my hot-keys in VS, god damnit Microsoft!

P.S
Those people who said GDScript is easy and is the way to do it in Godot are crazy or made only 2D platformers, problems can arise at any time.

I find that the requirements for a game determine what engine I’ll use. For example:

  • Unreal: AAA game, large budget, multiplayer, openworld, realistic graphics, new features.
  • Unity: Indie game, mobile game, consistent, rapid prototyping, easy to extend.
  • Godot: 2d game, mod support, lightweight. You can freely modify and distribute the Godot editor.

Overall, I’d say Unreal is probably the best value for money (especially for larger teams). I just prefer c# over c++ and blueprints. I find it interesting when I see comments about 5 second compile times in Unity. I remember when I was first trying Unreal. I had a decent computer and just updating the code with a newline would require about 90 seconds to compile each time.

Unity does everything I need for most projects. My only real complaint would be with management and the runtime fee drama but that seems to have settled now.

1 Like

Btw, i heard there’s some next step in unreal 5 called, that they made after hot-reload: “real time editing” or something. I guess it works like godot now, though do you see in unreal editor your character movement in game window? idk.

So that 90 sec are off the line now, i guess even in 4th version and in 5th it is like godot?
(except it doesn’t allow you add new things at runtime, new will remain in editor only)
P.S.
I like the C# more too.

2 Likes

I can’t parse out this question. Can you rephrase it, maybe?

Unity has a play-mode that will run whatever scene you have loaded. Sometimes it takes a little bit of compile time, but it’s a much faster way to preview what you’re working on than making a full build. If you make changes in a script you’ll need to stop play mode and start it again, but you don’t need to rebuild the entire project.

Also, you can change variables and settings in the inspector while play-mode is running and they will change in real-time. That way you can instantly see the affect they have on your game. When you do this, the changes you make reset when you exit play-mode, so you don’t have to worry about screwing everything up.

I’m talking about domain reload that take place when you change anything in scripts or create new scripts/rename them/moving to different folder.

About what you described, i know.

I meant about special versions of Unity, that work faster, like i heard there was “Tiny Unity” project, though this one was about size.

Btw with fastscript or other hot-reload addons for Unity you don’t have to stop and launch again, though not all changes applies and that disturbs sometimes. Maybe i should just remember what is not able to hot-reload than stepping on a rake every time, when i did the unable to hot-reload thing.

No ultimative solution, but there are a few options to know:

  • Disable domain and scene reload here: Unity - Manual: Code and scene reload on entering Play mode
    It requires some attention when coding, namely objects in the scene should reset their static variables somewhere like in the awake or start method (or just generally not use static variables).
    This does reduce the loading time notably but Unity still does something with every single script in the project when a change occured.

  • The hot-reload frameworks which you already mentioned. Have only given them little try myself though as it quickly put my project in a “strange” unclear state.

  • As kdgalla hinted, one can have a globally accessible singleton with a handful of dummy variables which y can just use any time from anywhere to do tweaking when you do not want to introduce serializable variables right away.
    Of course that’s only applicable for numeric tweaks, not for actual semantic code changes. It does cover a surprisingly large amount of usecases though.

  • Wait till later in 2025 It should be be very exciting in this regard.
    Unity 7.0 is said to bring Core CLR which at least theoretically helps greatly with this problem because it finally allows to properly treat code separately from each other.
    CoreCLR and .NET Modernization - Unite 2024

1 Like

Godot 4 pretty good. The newest 4.4 is especially amazing. It has better lighting, better fog, better color grading, .NET 8 and 9 support, and with my ECS I get about 2x to 3x the raw performance out of it - with managed code - than with Unity DOTS with IL2CPP and Burst. Godot has a bunch of really intelligent paradigms - e.g., put a CSG node inside a Path node, and tadaa - you get a Road! (in Unity, that requires 2 trips to the Asset Store and Package Manager)

I just started working with unigine, it has a very modern .NET architecture, feels truly amazing (even if it doesn’t fulfill all the typical game engine needs yet, since it’s a simulation and industrial engine as well). unigine does multi-threading in a dead-simple way, in addition to Update() you have UpdateSyncThread() and UpdateAsyncThread() basically on every behaviour if you want it. It also uses an asset GUID system that’s kind of clever, working with code annotations. (jury is out if that makes sense for larger projects, but it is super fast and eliminates all the meta file madness)

I tried Stride, I liked it, but the msbuild project handling is super janky and you can’t keep your project easily as a sub-project of others. Stride has an interesting, but unfortunately difficult to preview, UI system (because it’s premultiplied alpha everywhere - technically correct, super hard to judge and edit). Stride’s renderer is extremely fast.

I tried Flax, it is very pretty, but feels janky here and there, and its text renderer does not support SDFs, and looks like a*se. It does seem to be an engine made with love and care.

I tried raylib.cs, it’s nice but too simplistic.

I tried MonoGame, its tooling feels even more 2008 than Unity.

I will try Foster and MurderEngine next.

3 Likes

I tried all those engines: Flax, Stride, Godot and the other weird ones and all those are pretty much inferior, Unity is way better than those and btw idk why there are prople saying that it’s easier to make realistic graphics on Unreal or multiplayer games when Unity is way easier for those, Yes Unreal has Lumen but if you are happy to see your game running at 30fps because it’s unpolishes thecniques. Unreal is better than Unity if you know how to use it without those beta features.
For me, the best alternative to Unity is Unigine, which is superior in almost any aspect, Even the AA is way better and sharper, not like the blurred one from unity, but Unigine lacks some features and you need to be creative to solve some issues but the performance, graphics and “usability” is miles away better…
Edit: i forgot to mention that i also tried O3DE which is pretty nice too, maybe better than Unity but i still prefer unity over O3DE because it’s easier, you should try it, it’s totally free
Edit 2: if you want to try a really weird one XD try Torque Game Engine… you will love it/hate it

“It’s easier to make realistic graphics in Unity than Unreal” is perhaps the most absurd thing anyone has ever said here, especially when it comes to the performance angle. Unreal has been outperforming Unity in the ease of accomplishing that since UE4 when Lumen didn’t even exist. Trying to get high fidelity graphics of any sort out of Unity, realistic or not, has always required to either have the skills of a highly skilled graphics programmer yourself or to have the resources to hire one.

Unreal has always had the advantage there.

Also, complaining about “beta features?” When you’re talking about Unity, an engine that is notorious for shipping new features that are lacking critical functionality and suffer from severe performance issues at times? Are you for real? One of the biggest complaints about Unity for ages is how they’ll ship beta or even alpha state features and then you’ll either get an update to them that brings them to a barely shippable state or they’ll unceremoniously deprecate them in favour of a new feature that’s broken and lacking in entirely different ways. One of those situations has come up no less than three times with multiplayer functionality alone.

1 Like

a valid point, but wall of text, still appreciate it, btw i still suck at modelling, lol. (though i found blockbench web app is noob mode, but slow to model, no shortcuts, but a huge bonus of easy UV’s

i’m a meticulous text\speech person not a creative one, always hated drawing etc. Seems it’s unfixable, or only after 10 years of beating the art crap. Now i understand why artists hate programming usually)

p.s.
is the netcode good enough with AI’s? or all of them d, cg, g, c, things are bad at it because they remade the system and now ther databases lack on actual version netcode? Wanna try to make a Terraria clone that teaches english, but i never touched the net (excluding the most unsafe login and register system from a YT guide on php, where admins can see passwords of people)

This thread was posted a few months ago, but it was bumped recently sparking more discussion, so I assume it’s fine to keep the conversation going. I’ll respond to the Godot mention, then go into my perspective on the game engine subject with a focus on Roblox Studio.


I wouldn’t say it’s easy, but concepts in video game programming help for sure. Learning it for me wasn’t the hardest thing in the world. My experience in Godot is brief though.

I have been using Roblox Studio for 5+ years and got into Godot for a 72-hour game jam. I was quite literally thrown into learning Godot as quickly as possible. The autocomplete -and this goes for all game engines- was helpful. I hear the frustration on 3D, cause that’s my background. I suck at making 2d games cause I don’t have experience in it, but anyways, the docs and YouTube videos were more about 2d than 3d for Godot. It’s an untapped market for tutorials for sure.


Over my 5 years or so in game development, I’ve used Roblox Studio the most, followed by Unity, Unreal, and Godot. Each has reason and merit. @CodeKiwi summarizes it well with notes on graphics, game studio size, 3d/2d, ease of support or use in a specific area, etc. How Roblox Studio plays into that..

  • Ease of Supporting Console (Xbox & PlayStation w/ one click)
    • No need for Sony or Xbox dev accounts or fees like Unity
  • Ease of Multiplayer
    • In implementation & algorithm. This also means though that single-player games don’t usually thrive on the Roblox platform.
  • Lacking in realistic graphics compared to Unreal, focus on Mobile & accessibility for a range of devices.
  • 3D focus, but creators have many 2d physics engines, plugins, & resources.
    • Example:
  • The Roblox audience and platform (where to find the game you make)

I’d say overall Roblox Studio as a game engine is most similar to Unity with the focus on indie dev and speed of creation focus. Of course, things draw Roblox Studio back, such as its needed connection to Roblox, the platform. Servers, rules, etc. The payment model of the platform itself, general confusion about engine capabilities, moderation and content rules, and graphical fidelity held back by old phones also are some cons.

Also, Roblox made a page on their docs about the differences between Unity & Roblox Studio that I think is helpful for understanding: https://create.roblox.com/docs/unity.


On a larger note, I don’t think Roblox Studio should be discounted when discussing game engines, nor do I think it should be seen as less than. I find that there’s a stigma in the game industry about Roblox Studio and a lack of understanding on the game engine. When people play my games on Roblox -Polymars, other fellow game devs content creators, and players- they are surprised by the quality. In short, I take action on that by replying here and sharing my perspective.

Apologies if this was too long; thanks for the opportunity to express this! I’m a regular user of the Roblox developer forum and hope to understand Unity in a similar encompassing way. :grin:

1 Like

There’s also GameMaker. As much as I love Unity, if you want to make a dinky NES-style game then GameMaker will get you the best results.

One major drawback is that the provided scripting language is not object oriented and feels 1980s primitive, but that can also be a good thing for productivity. Instead of wasting too much time engineering the ideal solution, you just plow forward with the only possible solution.

2 Likes

Well the productivity case is now way too solved with open source online AI’s which got almost as good as paid ones in junior code cases.

Also i hate NES graphics, maybe i’d thought of it in early days, when was making platformer for the diploma, but even in there i made bunch of mechanics (even inventory, which i ditched, as it is just not fitting the concept way too much), though pretty much no OOP in them was.

I played Roblox in childhood and even tried to make something up from someone else’s code at that time, well, sadly in core not much changed, yes, now the capabilities bigger, the lighting doesn’t suck as it was.

But i still haven’t seen a single game in it that would be like: “Wow, i would play this on a regular basis, it is indeed a full fledge game with no flaw”

  • Roblox is more like a platform to rob kids on breakfasts. (and also young 12 y.o. devs on free work, lol)

  • Though Unity is also usually used for that, but on mobile platforms only.

Dunno what is more profitable btw, considering Roblox games seem to be made even easier. (and question of advertising also is solved for free pretty much)
Sometimes it is literally 1 scene where you jump around and pretty much nothing else viable happens and things like that in top lists.

To be honest i’d prefer to see some genius LBP 2 idea inspired game engine, though when i tried it also when was a kid it was even harder than Roblox, because you need to look at their ugly “visual programming” with wires on a small scheme, lol. Or 'cause it was also a bit earlier, cause PS3 net pretty died in 2014 already.

(i know you could say but there is Dreams from them, no, that looks like a nightmare when understanding code not a problem anymore and you get bunch of free AI’s to code, ask improve, some of which are even opensource. And yeah it is still a one platform game not an engine)

1 Like

I’d assume there’s nostalgia and believing a game dev industry belief that is unfounded, clouding judgment. There’s been a lot of change. I mean, Roblox -the company- has thousands of employees dedicated daily to hundreds of teams. Studio on many fronts has been remade, UI, top-level systems, or otherwise. I mean, look at how much gets done exponentially: Announcements - Developer Forum | Roblox

Literally all games have flaws, on Roblox or not. If you pointed out a game to me, I’m sure I could find something underdeveloped, or objectively wrong in UI, game design, animation, etc.

Proving Roblox’s quality, here some stuff to look at:

Your basis on Roblox “rob[ing] kids” is based on what? Not developers who use the platform. I can say that as the developer community has discussed this many times:

You’re not forced to make games. You’re not employed by Roblox. What’s this about “free work”?! YOU work for free when you make a game in Unity. Don’t matter how old you are, if your game isn’t bringing it money, you’re not getting money.

You have no guarantee of income. Just. Like. Unity. Parents should be understanding what their kids do online. If a kid spends 5,000 USD or is being unhealthy when making a game.. that’s not Roblox’s fault. Roblox has parental controls. Roblox has age guidelines for games. Roblox has monthly spending limits. Blocking users and chat. These features exist. Parents just don’t use them cause they treat the online world as child care. As non-PR as it sounds, it’s the fault of the parent.

Genuinely point to an example of “exploitation” on Roblox and I will research it like there’s no tomorrow. The claims are either misunderstood or just plain wrong. I’m not saying the Roblox platform is perfect -in fact, I advocate for change for the better on the forum all the time. I’m saying the game industry has their ideas wrong about Roblox, and you’re included in that. There’s no widespread exploitation plaguing the game dev scene. And, there are objectively good games on the platform. If you don’t like the devex rates or whatever, nobody is stopping you. A plethora of game engines exist.

As an aside, Roblox’s team behind Search & Discovery reinforces issues in understanding quality by stifling niches and innovation in addition to not listening to the everyday developer community: [Test] New Content Curation Banner on Home - #68 by Reditect - Announcements - Developer Forum | Roblox. Look at the replies by the developers. We’re mad and want change. That team at Roblox though isn’t listening. If you take issue with what’s shown on the top page/sort, look no further than there.

your reply just dissappeared, just to clarify i was talking about a case of kids exploit as devs (This also happened with Starbound which is not even based on external game engine) and overall mobile or roblox games being 1head money juicers usually, when you make money, you usually not making quality, you make quantity with good enough to juice money quality.

Also i kinda not answered the main question properly, why Roblox isn’t counted a game engine by some people:

  1. You can’t even build a game and get going offline (at least the proper way)
  2. There is still limitations
  3. It is very kid oriented, so no AAA (or AAAA some studios use, lol) game can be made.
  4. From 1. you also can’t get out of Roblox publish ecosystem (above you pointed it yourself too)

My noob conclusion:
Roblox is like a game to make games but with real code and UI, not like Dreams.

1 Like

But it is, i’m not talking about quality of render, i tried Unreal 4 and 5 and the workflow (at least back then) it was not exactly easier than Unity imo, prettier yes, not not easier ¯_(ツ)_/¯

Or maybe you’re just used to Unity’s workflow.

i am (and was) more used to Unigine’s workflow

Okay, and? You’ve moved the goalposts a couple times now, but the simple reality of things is that not only is it easier to get high quality graphics both from a fidelity and workflow level in UE5.

We’ve even seen this to be the case in how the engines are used. Loads more better looking games come out in the indie and AA space using UE5 than Unity, to the point where there is surprise in developer circles when a Unity game actually looks good on a technical level and not just an art direction one. We also see this in how UE4 and 5 were used pretty extensively whenever in-house engines weren’t used in AAA development.

Going even further than that, I’ve been able to accomplish effects in UE5 in my own tests that would have taken ages to implement in Unity in a matter of minutes. There are entire systems in place, some of which have been there since UE4, around streamlining the process to get the best visuals out of the engine.

Frankly, if you can’t see this thing that most every other developer using either Unity, Unreal, or both has, that’s on you.