Hi, few months ago I started studying UE4 since I saw so many amazing things you can make in it and amazing games that were developed on this engine. But since I started using it myself I’ve noticed a lot of bugs or errors without solution that it drives me crazy. Crashing on opening the project, disapearing meshes while doing anything, some “math” errors appearing even without me doing anything and many others. These bugs are usually not solved for years even though having tens of up votes in the bug-reporting template, and since I am beginner I do not feel like I am doing some advanced rare things. I’ve already stopped using hot-reload (as I found some people suggest that could part of problems) but now editor crashes while VS is compiling the code and meshes still disapear. I’ve been rebuilding solution many times, removing these few folders and “Generating VS project files” and nothing changes.
I am using 4.25 version right now, but my question is what in your opinion is the least buggy version of UE or maybe bugs are something that is unavoidable here and there is nothing that can be done? But on the other hand there are tons of good quality games made in UE4 and I doubt that their devs are facing crush every time they hit “F5” in VS or they have to reload half of their meshes every time they open UE editor.
[EDIT] I guess I should also mention that I am using C++ with Blueprints and that any help, tip or pointer that would help in avoiding bugs would be appreciated.
I did not even bring up the Unity, why would you? I do not care about Unity. I do not think you answered my question. I did not ask about what version can be used for production, but which one is least buggy, which one have the least complaints or whtwr. Since you never had a problem in the editor, let me ask you what is version you are using?
Unreal is not so buggy.
Yes, there is some bug, but… not more than unity, and this is a production ready software, as you said, used in many game developpement studio.
Every version of unreal can be use for production except preview version.
I mean, i almost never encounter bug from the editor, so i guess you are doing something wrong.
Yeah, don’t use Hot Reload, according to Slacker member, Live Coding is much more stable, even if it’s experimental, and hot reload doesn’t work properly since 4.23, probably gonna be removed in a near futur.
Short Answer: Rule of thumb: always use one version below the latest version. Every minor update that stabilises that version will have been done by the time the next update releases. The latest versions will always continue to be updated to clear out really bad bugs.
However, depending on what you are making, you can just be unlucky and catch wind of an obscure bug that gets in the way of your work. As someone that works in VR primarily, I can tell you that even stable versions can still have bugs. So be mindful of that. But frankly, if your game is purely utilising common practises and features you’re unlikely to run into any bugs.
In short. Every version prior to the current version is the most stable. The most recent version is the least stable, due to the fact all the updates for it aren’t out yet.
For you specifically, use 4.25 for now. When 4.27 comes out, jump to 4.26. But only do this if you actually need the new features. I’ve spent a lot of time a year behind in updates because none of the new features were important to me. I normally only get up to date if huge Quality of Life or performance updates come out (Or if that sought after VR feature I need gets released).
Additional Info: I should probably also specify that there is no Universally preferable version for “Lack of bugs”. The best and “Least buggy” version for you, wont be the same version as everyone else, since it depends on what types of games you are making. 4.22 was generally speaking a great and stable build for most people, but for me it was awful because there were some absolutely debilitating VR bugs that made it unusable for me.
So I suppose I should ask, “What kind of game are you making, and what features are you adding that are more experimental?” For example, if you want to make a game with high end Voxel terrain generation, there will be an ideal version for that. Or if you are using High end 3D interfaces, there is also a better version for that too. It depends on what you want to make, because the most important thing to discover is what area the bugs are likely to be in.
Oh come on,
i just answer on the morning and make a mispelling, i speak obviously about unreal here.
“is least buggy” → Production
Production mean you can fully developpe on a Professional level.
I’m using 4.24.3, 4.25 and 4.26.
And please, be nicely in your answer, we are here to help you but if you continue on this way, no one will, and trust me, help on unreal is something you will not easily found.
Okay I see where you are coming from. In a general sense, since the project you are pursuing isn’t using experimental features, you will be safest using one version down from the most recent version. This will ensure that you have the most up-to-date features, performance, and Quality of Life changes. Then, only advance your engine to benefit from features in the upcoming updates that you genuinely need or will benefit from.
For your specific circumstance, it’s tricky. The biggest struggle is that the engine is always changing, and this means older tutorial content can become outdated. Part of the pipeline may become defunct. This is especially relevant when the methodology used isn’t best practise. I can’t speak about the quality of the course you are taking, but I have experienced courses and tutorials that don’t use very good practises on how to get things to work, and as a result they become unstable.
When people use solid and stable practise when developing code, it’s very unlikely to ever break in the future. But there is still that chance if you wait long enough.
Which is why I recommend using very up-to-date resources when learning early on, even if it isn’t specifically what you’re looking to make in the long run. You will develop a good understanding of general practise, and will be able to re-visit older tutorials whilst using your own integral knowledge to work around issues as they happen. This is why I encourage learning good foundational skills, as the ultimate objective should be to learn about the tools and how to create what you need, when you need it, as opposed to learning very specific ways of making specific things.
In short, it’s best to use the engine version that matches the tutorial. Once you get more than 5 versions away, you will start to find severe discrepancies. You can always visit older stuff when your general knowledge gets more advanced.
Sorry I can’t get more specific, but i hope that’s somehow useful.
Thanks for your answer! I want to develop FPS game. I started by doing some very beginner tutorials and it turns out even doing that basic stuff, one can encounter a bug, since it is not only my opinion but the “tutorial’s community” too, gladly they found a work-around for that one case (like here ) but I have no work-arounds for other problems I get. And with my previous programming experience I get the feeling that the minute I step away from the tutorials and try to do something on my own I might encounter another bug that will be much harder to solve. I am reinstalling the engine now and I will install it with some addditional debugging option checked that is going to help me find the source of errors I get.
Maybe there is something wrong with the course I am using for learning, they use older versions of UE. But it is the best learning material I could find so far(I have tried few), many people bought it and it has many positive opinions on udemy and whole community behind it.
I was not “not nice” really, I just don’t understand why would you bring in competition since I did not say a word about it, I didn’t compare anything, I didn’t say which engine was better etc.
And I am really frustrated with what I get from UE. I keep reading about problems I get, cus a lot of people get same problems and often I finish this journey by finding question without any answer, reported bug without solution or some work-around that fixes the problem only temporarily.
I totally agree about learning theory, I have such attitude myself (in different programming areas) but problem with UE4 is that I do not know where to get this “solid and stable practise” there is not many books on programming for UE (the one I got was of course 7 versions older), I struggle with finding good learning materials, this course I mentioned seemed like the best possible one, starting with just C++ and slowly going to UE4, and it was fine for some time.
So may I ask you where or how I can learn this solid theory and good practices of programming UE4?
Cause, as i say, i didn’t intend to say unity.
“I am really frustrated with what I get from UE” this is unfortunally the way of unreal,
You will face a lot of issu (not necessary a bug) and you will spend a lot of time on it, and unfortunally, no one will help you on thoses issue (sometime you are lucky).
My advice is to always tryhard.
Nevermind, the correct answer to your question is “every version have the same amount of stability”, cause there is bugfix, but also new bug. Some one give you the Rule of thumb, this answer is correct but… for example, 4.26 solved some issue there have no fix in 4.25.
I would personally advice you to go on the latest version when you start a project, then stick to this version and if there is a bug, you can try to fix it by yourself with source code (that the cool UE thing).
Thanks for replying! I will get 4.26 on my other computer as you say and stick to 4.25 for the current project as other person suggests and I will try hard both, no other choice I guess.
But yeah one thing I am kinda angry about, is that before I started learning UE4, I heard many times how easy and user-friendly it is, how much progress was done in recent years towards “user-friendliness” and how anyone can make games now, but as you pointed out this isn’t excactly the case and fixing UE4 source code doesn’t seem like anyone can do tbh. But anyways thanks again for help, I will try my best!
I’m glad. And that is totally understandable, and even though there is no direct and simple answer, there are straightforward attitudes you can have when you learn.
Firstly, I suggest watching a lot of the Livestreams and videos from Epic themselves. They are incredibly well attuned to the best and most efficient ways of using the engine. Take any non-Epic tutorials, walkthroughs, and courses with a pinch of salt; there are a lot of people out there with bad habits that will pass them on to you, but listen out for when people explain why they are doing things a certain way. If you’re following any sort of tutorial, and the tutor is not explaining exactly what they are doing and why they are doing it that way, assume they don’t know, and avoid their content. You wont actually Learn anything from them. Knowing exactly why your code is the way it is is how you learn. If you finish a tutorial and don’t know what your code actually does, it was a bad tutorial. But ones that do explain everything as they go along are truly doing god’s work.
By far the BEST person by an absolute landslide on Ue4 content is the creator behind the “WTF is…” and “HTF do I” series on UE4 features. They show you how to use the engine objectively, clearly, and efficiently.
However, you are learning to write C++, which is its own beast. C++ is not just unique to UE4, so there will be other resources external to it, and I’d suggest learning C++ fundamentals, rather than just using UE4. It will help you get a good idea on how to use the language effectively, by going to the root. You’ll definitely be able to find some amazing books on C++ specifically.
Another thing is to be Patient with C++. It is an absolute monster; a famously hard (But powerful) language to be skilled with, but if you can learn it, you will be highly sought after.
And if the Logic is confusing, UE4’s Blueprints uses identical logic, and may be helpful to practise with if things seem to heavy sometimes