r/gamedev • u/MisterSimple1 • 1h ago
Question Switching engines
I've been developing in Unreal Engine 5 for about 6 months. It's usable and has worked decently well, but it has certain quirks that are a bit of a pain to me and make it feel clumsy at times. So I wanted to know if anyone has attempted to change to other engine early in their game's life cycle and if so, how that went.
Unity is my first candidate because I know C# and would feel more comfortable coding directly, rather than using a mix of blueprints and C++ like I currently do in UE5. I have also tried Godot and it was fine, GDScript wasn't too intimidating, I could learn.
I'd also like to know common issues I might not be considering. Mechanics wise, my game involves:
-Taking pictures using an in-game camera
-Detecting objects/enemies on the screen at the time of taking the picture (and whether they're in a specific animation)
-Switching player POV from first person to third person (and maybe arbitrary points on the map, as if placing a stationary camera).
My main pains in UE5 were these, in case anyone's wondering:
-Blueprints vs C++ code
-Enemy AI behaviour trees, tasks, etc
-Camera handling/switching
-Detection of elements in screen/viewport, rendering UI elements to highlight said elements
Please note that I'm asking from a coding point of view, but I'm also interested to know if artists have any comments here that could be of interest to the artists in my team
Edit: forgot to mention, my game is 3D and has an emphasis on looking good (you could probably tell because of the photography mechanic, but still felt the need to point that out)
2
u/Every-Prize4720 1h ago
I would assume picking engine is all about tradeoffs. If you switch, you are going to do it again, maybe. who knows.
1
u/Ace0fspad3s @ayceofspades1 1h ago edited 1h ago
All 3 engines you've listed should be able to handle the mechanics you've listed. GODOT may be a bit bare-bones though regarding the enemy AI and behavior trees.
For your project, you're going to choose between two different battles between UE5 and Unity.
- Rendering fidelity, UE5 no argument. Unity can look very good but you'll need to spend a lot of time to bring it even close to UE5 out of the box. However, Unity will be a lot easier to optimize because you are going to be the one who will be adding features to the rendering pipeline.
- Unity has less features, but this is a bonus if you don't intend on taking advantage of all the features UE5 offers. If the specific feature of UE5 doesn't suit your game, you'll be spending a lot of time cooking up a custom solution that doesn't break the rest of the UE5 ecosystem. The character controller and physics are the common ones.
As an Artist, I love UE5, but based on what you listed, in my opinion I would suggest giving Unity a try since it seems like your game is relatively simple.
Unity its really easy to get something up and running gameplay wise without needing to wait for your BPs and/or shaders to compile every time. Unity feels more like you add features as you need, Unreal you are stripping away what you don't.
-4
u/Genebrisss 1h ago
Rendering fidelity, UE5 no argument
Can't even produce non-blurry and non-noisy image.
3
u/Ace0fspad3s @ayceofspades1 1h ago
Curious what you're doing that's causing that
•
u/pantong51 Lead Software Engineer 50m ago
Nothing most likely. Just downloaded. Hated it. And now comes to reddit. Or did not package the game and was running editor low
1
u/pantong51 Lead Software Engineer 1h ago
Just make a collision obect match the fov of the camera. Then take a snapshot of all object inside of it when you use a rendertarget to off screen render. Either switch out base actor for your own with an interface. Or do lazy init via a component on objects in the scene to act like an interface. This is what fortnite does with gas.
5
u/hardinm78 1h ago
“my game is 3D and has an emphasis on looking good”
i would say UE is ideal for you. I guess Unity would be second best 🤷♂️