4.21.1 Headaches

I’m about 75% through the tank course and have been experiencing major issues with blueprint values resetting after compilation. Very specifically the tank blueprint’s child components that are all subclassed. Every time I recompile, I will see random components having their values reset. Assigned meshes disappear, the projectile blueprint reference on the aiming component seems to be particularly affected, although I have probably lost 3+ hours cumulatively to re-assigning the tank track meshes and re-connecting the events. I’ve even had some of the references break completely resulting in phantom components attached to the blueprint hierarchy that are both not editable, and crash the editor when I try to rename them.

I’ve been through a number of boards and bug posts trying everything from closing the editor and compiling in visual studio to completely rebuilding the game from scratch to see if there was something corrupted.

A few things I have noticed from my experience

  1. It’s not hotreload, even if I close the editor, clean the project and rebuild from scratch I experience the same issue

  2. It appears to be blueprint related, as I will have the aiming component reset on the mortar blueprint while it retains it’s values on the tank blueprint or vice versa

  3. I have not seen it happen to components that are not a custom subclass

  4. it’s not always consistent, sometimes re-adding the component will make the issue go away for a period of time

  5. It seems to happen more frequently when I am touching files related to the component that is being reset.

  6. I thought it may be an issue with forward declaration and hotreload not finding the class as I was seeing a “class not found, assuming new” log message. I removed the forward declarations and saw the log message change to something akin to “successfully re-instanced X class” but the component was still reset

I’m at a point now where I am going to attempt to downgrade to 4.19.2 (and possibly rebuild the project from scratch again) as the issue is an unbearable timesink. Has anybody else experienced this issue? If so, maybe we should be warning people away from using 4.21.

1 Like

I’ve been having all of these issues as well, to a T. I don’t know that it’s worth the trouble of an engine downgrade though, I’m not to that point yet :confused:

I tried to fight through it. it doesn’t seem so bad if you finish a blueprint and don’t touch it again after, but after you build a new blueprint and reuse some components, things quickly get into nightmare territory. I can’t imagine a bigger project would be able to work through this issue.

I am also struggling with this bug, did the downgrade to 4.19.2 solved the problem?

If so, i will follow you and try to downgrade because this is just ridiculous, it’s time consuming and takes away a lot of the fun following this course…

I didn’t have the heart to rebuild the entire project a 3rd time to use 4.19, but as per the “skip 4.20” announcment a few months back (https://www.udemy.com/unrealcourse/learn/v4/announcements?ids=1978099) it looks like those same data loss bugs are still present in 4.21. I’m far enough along that I’m going to hardcode component values in the C++ and just deal with the issues for the remainder of this course. I am absolutely dropping back to 4.19 for the remaining courses and my ue4 use going forward. This bug makes blueprints essentially unusable in 4.20 and 4.21.

1 Like

As an update: I’m probably about 75% through the testing grounds chapter using 4.19 and I have not experienced the issue I was struggling with on 4.21. I would highly suggest that people not use 4.21. I don’t know if 4.20.3 is more stable than 4.21, it’s possible that epic fixed the issues that where being referenced in the “avoid 4.20” video, but I have not personally confirmed that.

1 Like

This is a known issue that people have been apparently complaining about for years. Some people use data tables to store their values. What I did is when I saw the issue appear is I reverted q cherrypicked uasset file from an earlier stable git and that fixed the issue.

My theory is the reading and writing to whatever encoding they are using sometimes corrupts the uasset file. I wrote asking for some sort of encoder so I could try and manually fix it… lol liked theyd give me their compression algorithm.

This course is not for a beginner programmer… More so with the delta between the version they are using and the version that is currently out. You really have to know a few things about CPP.

yea same problems here, very annoying. I set everything I could in construction script to alleviate most of it. Still had to turn on generate hit events for tank tracks each time though.

I tried to ignore this bug for a long time, and just reentered the missing property values when they suddenly disappeared in the BP, but finally i decided to rebuild the whole Tank_BP from scratch. It turned out that this was a good repetition of what i had learned so far, and when i was finished, the result was perfect and the bug was solved.

It appears in the announcement comments that the bug will not be fixed until 4.23 !

made this construction script for everything that keeps disappearing. including projectile, meshes and materials and setting generate simulation hot events true.

5 Likes

This thread has convinced me to remove my installation of 4.21.* and install 4.19.2. Since I’ve not yet started on the part that uses Unreal itself this was very much on time.
Also, maybe it’s a good idea to give more visibility to this issue. The course only suggests to not use versions above 4.19.2, but doesn’t tell the viewer why.

I started a thread on the Ask forum to find out why we were discouraged to use 4.20+, and @DanM gladly responded with a bunch of reasons to not use those versions.
I think the bug in question in this thread is logged at Epic under code UE-63298. The issue has been backlogged, which means that Epic thinks other stuff is more important. You can however give this issue more visibility by going to the issue page, logging into your Epic account and vote on the issue. Please see my thread for more tickets that should discourage us from using 4.20+ at this point in time.

The only thing that scares me is that most of these bugs mentioned by @DanM are all confirmed to be affecting version 4.20, 4.21 and some even 4.22 without a date or indication for when they are supposed to picked up or fixed.

Hi guys. Same here and it’s driving me nuts. Thanks for your construction blueprint. In the next part I will go back to 4.19.2 as well as this is unusable. As a beginner you never know if it’s your fault or an engine error.

I can confirm that it still persists in 4.22.

Wow, I’ve been asking about the tracks disappearing and such in the Q&A for the course, but haven’t got any suitable answers. I’ve been struggling with this for a good week now, and upgraded to 4.22.1 (from 4.20.1) hoping it would fix the issue, and it didn’t. I finally got a rebuild of my tank bp that keeps the tracks, but my projectile bp often gets lost from from the aiming component and then firing doesn’t work. Today I added the launch blast and it shows up off to the left of the tank about a km from the barrel (I thought it wasn’t showing at first, but it’s there, just wildly in the wrong spot). I don’t know what to do about it, and now I am again stuck in the course, which I was hoping to just jam through and finish the last 25 or so lessons today. It’s very frustrating. I’ve been thinking about making a shift to game design from the software development I currently do, as it is much more fun and creative - but I don’t know how professional designers deal with these sort of game breaking bugs in the engine(s) - I don’t think this is something I could deal with on a daily basis - though perhaps over time you learn ways to work around the issues.

An interesting side effect of encountering engine problems, is blaming everything on the engine. I think when you first start coding it’s easy to blame everything on yourself, but when you encounter an issue with the engine, it’s easy to assume other issues are based on the engine. My issue with the LaunchBlast not attaching to the projectile was because I left a line out of the code :man_facepalming:

“but I don’t know how professional designers deal with these sort of game breaking bugs in the engine(s) - I don’t think this is something I could deal with on a daily basis - though perhaps over time you learn ways to work around the issues.”

If you’re dealing with the problem every day something is wrong. But, haven’t you had any annoying problems with software development? I know that I have. Programming is dealing with problems every day.

Of course there’s various ways to deal with this problem here. Start on 4.19 and upgrade versions at some point if possible (using different git branch or project copy), use a different engine such as Unity (which will have other problems), work around the bug, find another way to deal with it, or something else.

The biggest problem here is that people are following a course. Deviation from it results in not following every letter and dotting every i and crossing every T someone else already decided on. In real life we can make changes and do things differently should that happen. Here it means deviating from the course as one would in real life to solve a problem but people don’t want to do that.

As an example of workaround. This person had a blueprint disappearing bug that wasn’t fixed for many versions but had found a way around it https://answers.unrealengine.com/questions/574463/bug-report-subclass-disappears-from-class-variable.html

Of course encountering issues when developing is normal. I guess it’s similar to having to code things differently for Internet Explorer than other browsers when doing web dev - and once you know the tricks you just apply them and it becomes normal.

You’re right about deviating from the course, I’m starting to reach the point in learning where I want to do things differently than the instructors, sometimes because I see a better way, sometimes because I want to do it in C++ instead of blueprint, and sometimes because something are doing just plain seems incorrect to me. However I fear that in deviating from the prescribed method that it will block me from future progress, and in some cases this definitely seems true. Part of that stems from course work also leading in a direction that isn’t necessarily in line with what I want to do in a game. Perhaps it’s time for me to start doing a project on my own and see where I run into issue, I’m sure I’ll learn from that as well, but I know there are many, many things in Unreal that I have yet to learn about and I’m not entirely where to get the information I need to figure some of them out.

You don’t have to deviate that far to where you can’t complete a section :wink:

There’s fixing the issue and then there’s fixing the issue. You should still be able to do everything in the course. But things change, bugs happen. Its not always going to be possible to follow every letter, dot every i, and cross every T exactly the same way.

thank you - that is VERY helpful. One question though: the SET function coming out of “Construction Script” - how are you getting that? Thank you, Peter

I had this issue for a long time in the project.
I was also using construction script ect.
I could solve it for good by deleting all components in the Tank_BP and adding them again…

Privacy & Terms