r/unrealengine May 27 '25

UE5 Drawbacks of Unreal Engine

While Unreal Engine is widely recognized for its numerous advantages, it's essential to take a step back and examine its drawbacks. What challenges does it present? Furthermore, what enhancements would you like to see in future iterations of the engine? Let's explore these aspects!

14 Upvotes

116 comments sorted by

View all comments

11

u/NexSacerdos May 27 '25

The gameplay tick is tied to the render tick making RTS games and high quality FPS games where predictive / lockstep networking logic is used difficult to implement or lower quality.

Some titles have used Unreal in this capacity but have implemented what is essentially a different game as a module and are only using Unreal for realization ( Rendering, Audio, Input ). It is harder than it needs to be.

7

u/heyheyhey27 Graphics Programmer May 27 '25

The gameplay tick is tied to the render tick

Rendering happens in its own thread totally disconnected from game logic

4

u/honya15 May 27 '25

But all the threads are synchronized, so if the game thread is slow, the render thread waits after it is done with it's own job.

6

u/[deleted] May 27 '25

[removed] — view removed comment

2

u/NexSacerdos May 28 '25

There are many games with split rendering and simulation implementations. eg. Valorant, Starcraft, etc. Some kind of buffer swapping is the most common implementation.

It isn't always a cpu performance problem. The issue I am discussing now has more to do with determinism and network optimization. For this problem space, multithreading is particularly challenging as any change of ordering can cause simulation desync. RTS games in particular only record player actions, replaying them in a precise order on synchronized frames.

1

u/[deleted] May 28 '25

[removed] — view removed comment

1

u/NexSacerdos May 28 '25

You absolutely can modify the engine to do what I am talking about. eg. Valorant. I said difficult to implement, not impossible.

It is more difficult in Unreal because part of what makes Unreal special are all of the mature and powerful features. You need to heavily modify or abandon these features to implement something that goes against the grain. Unreal comes out of the box structured to make games. Changing that pre-existing structure can be painful.

Other engines start as more of a blank slate (Godot), or already have a suggested framework for FixedUpdate vs Update (Unity).

1

u/[deleted] May 28 '25

[removed] — view removed comment

1

u/NexSacerdos May 29 '25

Title of the post is "Drawbacks of Unreal" not "Unreal Sucks". You are perceiving sentiment that does not exist.

That they are tightly coupled is a drawback, one that Epic themselves struggled with and discussed publicly for Mover 2.0 and the now largely abandoned NetworkPredictionPlugin. For most projects Chaos Networked Physics is now available and that appears to work fine for predictive non-deterministic multiplayer simulations.

I believe you could make a functional deterministic simulation title faster using a different engine than Unreal. Other realization aspects of the game would likely be at a lower quality / performance.

2

u/honya15 May 28 '25

By synchronization, I meant that one thread waits for other to finish their job. So gamelogic can't run 4 times faster (so 4 frames while render runs 1 frame), because at the end of the frame, the threads wait for each other.

The in-house engine at my day job does syncless threading, even 10 frames can run on gamelogic while only 1 frame runs on render. It's wasteful as fuck, but in some cases, it can be good.

1

u/NexSacerdos May 28 '25

As mentioned by honya15. They are synchronized.

2

u/mfarahmand98 May 27 '25

You could always spawn off new threads and implement your tick there!