x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

4.15 preview1 BUG Enum broken

After converting my project from 4.14.4 to 4.15p1,all my enums become empty like below:alt text

Thanks!

Product Version: UE 4.15 Preview
Tags:
more ▼

asked Jan 23 '17 at 03:11 AM in Bug Reports

avatar image

hls333555
401 63 80 107

avatar image Jamie Dale STAFF Jan 24 '17 at 03:11 PM

We did change the way that display text was stored for user defined enums in 4.15, however I've not been able to reproduce this issue.

Would you be able to provide an example of a broken enum asset?

avatar image Mootjuh Jan 24 '17 at 06:58 PM

I just found this issue too. I don't know how it happened exactly and only some enums were affected. I don't know if this might be a clue but have a blueprint open which has that certain enum referenced as a variable or whatever. Then force close the editor or force it to crash or whatever.

EDIT: I have noticed something else. The enum that's broken.. Git doesn't recognize it as modified. As in it might just be the engine reading it the wrong way?

avatar image Jamie Dale STAFF Jan 25 '17 at 03:30 PM

The display name upgrade happens on load, so unless you save the asset again it won't appear as modified.

I've tried making a BP referencing an enum in 4.13 and 4.14, and then moving it to 4.15, but I still can't repro this issue.

If you check your log, do you see the following for your problematic enum?

 Enum '{YourEnum}' was upgraded to use FText to store its display name data. Please re-save this asset to avoid issues with localization and determinstic cooking.

Are you able to repro this outside of your project, or would you be able to provide one of your problematic enums (the pre-415 version) so that I can try and fix this issue?

avatar image Nicat Jan 25 '17 at 09:57 AM

I have this issue too. If I open 4.13 project on 4.15p1 all of the enums appear as reset to default. I hope this gets fixed before main release, because almost all of Marketplace BP content contain Enums.

avatar image Sean L ♦♦ STAFF Jan 25 '17 at 04:05 PM

Hey everyone,

We have currently been unable to reproduce this issue internally. If anyone could do the following, it would be really helpful:

  • Create a simplified test project that showcases this issue. Provide the 4.13/4.14 version, as well as the 4.15 version. To do this, just go ahead and zip up the project, upload it to Dropbox or Google Drive, and post a download link here.

Alternatively, if anyone has a concrete set of repro steps we can use to consistently reproduce this on our end, you can provide that as well.

Thanks!

avatar image hls333555 Jan 25 '17 at 04:44 PM

After investigation, I have found that,in the log,there is one line showing that warning,and only that concerning enum contains the right values,but all the others have been emptied to default values like the screenshot provided above.

avatar image Jamie Dale STAFF Jan 25 '17 at 09:31 PM

What I suspect might be happening is that the meta-data for the enum isn't always fully loaded by the time FEnumEditorUtils::UpgradeDisplayNamesFromMetaData tries to use it (during UUserDefinedEnum::Serialize).

Would anyone here be able to try out a source build to confirm that? Without a local repro I can't really do it myself, so I'd only be able to make a speculative fix.

If anyone can, you'd want to put a breakpoint in FEnumEditorUtils::UpgradeDisplayNamesFromMetaData and verify that the call to Enum->GetMetaData is returning a non-empty display name (if my hunch is correct, the UMetaData in UEnum::GetMetaData will have an empty ObjectMetaDataMap).

avatar image Jin_VE Jun 11 '17 at 03:30 AM

I had this issue after upgrading from 4.14.1 to 4.16.1. It only showed up in the log when I built a server in the Frontend tool. It did not appear when I built the game in the editor. The error message was a bit confusing, maybe you could improve that. It had me thinking that I needed to re-save the asset that used the enum but that didn't work. I opened the enum in the editor and saved it. The warning went away.

avatar image unit23 Mar 12 '17 at 04:05 AM

I also have the bug A with broken Enums and B with enum select node content not properly displayed in 4.15 release ( B seems to still function) A may cause breaking related widget layouts (Action RPG Inventory). Upgraded from 4.14.3, can not reproduce, issue surfaced shortly after upgrading.

Possible related log error: '/Game/Assets/OldVillage/Meshes/Structure/Enumerators/BP_Fence_Enum.BP_Fence_Enum' was upgraded to use FText to store its display name data. Please re-save this asset to avoid issues with localization and determinstic cooking.

However, enum content is still properly displayed in the editor upon opening enums.

avatar image Mobfolios May 06 '17 at 06:40 AM

I've lost almost week's worth of working hours trying to figure out why I couldn't get my games to switch over to 4.15. All I had to do was remake my enums and replace all my nodes. Wish I saw this post earlier before I started outsourcing the work.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

I've made a speculative fix in CL# 3273243 (92b7d25).

I'd appreciate it if anyone having the issue is able to verify the fix using a source build.

Thanks, Jamie.

more ▼

answered Jan 26 '17 at 02:33 PM

avatar image

Jamie Dale STAFF
7.5k 177 67 307

avatar image hls333555 Jan 26 '17 at 02:43 PM

Thanks!Do you mean that the fix will be included in the next preview build?

avatar image Jamie Dale STAFF Jan 26 '17 at 02:57 PM

Yeah, the change will be in preview 3, but you can try a source build from GitHub if you want to test the change early.

avatar image hls333555 Jan 26 '17 at 03:01 PM

Oh,that's really a good news!Thank you for your help!

avatar image Jamie Dale STAFF Jan 26 '17 at 03:05 PM

Like I said, I can't promise you that this definitely fixes the issue as we've not been able to repro it locally, however if the issue is what I suspect it is then this change should solve the problem.

Please let me know either way once you get a chance to test it.

avatar image hls333555 Feb 02 '17 at 01:32 AM

Thanks!I have tested the new preview3,that issue has been fixed!Unfortunately,here comes another issue concerning enums,all the switch enum connected to enum variables have broken like below:alt text

avatar image Jamie Dale STAFF Feb 02 '17 at 01:49 AM

Great, thanks for letting me know.

With regards to this other issue, is that just a visual bug, or does it also break the links?

avatar image hls333555 Feb 02 '17 at 02:07 AM

After some testing,it seems that this is only just a visual bug,but I'm not sure if all the wrong displayed enums due to the same issue.

avatar image Jamie Dale STAFF Feb 02 '17 at 06:02 PM

So just to confirm, your E_StageState enum has the correct display names if you check in the enum editor, but has the internal names when used with a Switch node?

avatar image hls333555 Feb 03 '17 at 02:35 PM

Not exactly,if I create a new switch node using enum in 4.15,all display well,I think after converting to 4.15,only already created switch to nodes displays wrong.

avatar image Jamie Dale STAFF Feb 03 '17 at 02:57 PM

And in all cases, the enum now displays correctly in the enum editor?

avatar image hls333555 Feb 03 '17 at 04:06 PM

Yeah ,except the ones converted from 4.14.3 like above.

avatar image Sean L ♦♦ STAFF Feb 03 '17 at 06:54 PM

So, to clarify, the enums you've created in 4.14.3 and converted to 4.15 are not displaying correctly in 4.15?

But new ones that you created in 4.15 are working fine?

Is this correct?

If this is still the case, and you're still seeing broken Enums from 4.14.3 to 4.15, please provide your full list of repro steps after reproducing the issue in a clean, test project. Make sure to detail how you are converting the project to 4.15 (are you using the Open a Copy feature when converting, or are you right-clicking the .uproject file and using the Switch Engine Version option, or some other method).

The more information you can provide here, the better, so try not to leave anything out.

Thanks a lot!

avatar image hls333555 Feb 05 '17 at 10:56 AM

Yes,that's correct. Sadly,I cannot repro this issue myself if I create a new empty project and add enum and switch node,then convert that to 4.15 using open a copy feature.Maybe that issue has something to do with my specific project...

avatar image SVR33 Feb 08 '17 at 12:22 PM

Hi Sean, I'm having the exact same issue. Just updated to 4.15p4 and it's a project that was created pre4.15 and 'opened as a copy' initially in 4.15p3.

Any enum switches I have get reset to "New Enumerator N" (in the switch only) each time I open the project, just as in hls333555's screen cap above. If I create a new enum in 4.15p4, however, it's fine.

avatar image Sean L ♦♦ STAFF Feb 08 '17 at 01:57 PM

Could you do me a favor and test this in a clean project? Meaning create a project in 4.14 and then update it to 4.15 P4. Let me know if you see the same behavior.

Also, it would be great if you could provide your original 4.14 project that you used when you first saw the issue.

Thanks

avatar image Sean L ♦♦ STAFF Feb 07 '17 at 05:48 PM

Unfortunately, without a repro case for this issue, we are unable to take any further action. If you are able to reproduce the issue in the future, please feel free to leave a comment to reopen this thread, and provide the information requested in my previous comment.

Thanks!

avatar image hls333555 Feb 08 '17 at 01:54 AM

I have found a temp fix now:just right click on the switch on node and then refresh node,all the missing pin names come back! So all I have to do now is to do this for every of my switch node myself...

avatar image SVR33 Feb 08 '17 at 12:10 PM

I'm having the exact same problem and find that every time you restart the editor, the pin names reset to "New Enumerator n". I'm in 4.15p3 working in a project that was created in an earlier version.

avatar image OverRated_AU Feb 19 '17 at 12:33 PM

I got this issue on updated from 4.14.4 to 4.15 all my switches have just been changed to New Enumeration, i can pull off and create a new switch and it will contain the correct list its just switches created in 4.14 seem to be cleared? they all seem to work still but its a pain because i have to recreated them.

avatar image hls333555 Feb 19 '17 at 12:59 PM

I have found a workaround to solve this.At least,it worked for me. The method is quite easy.Just try resave all the enum assets in 4.15 and that's it!You can see the result after restarting the editor. Tell me if that works for you.

avatar image ste1nar Feb 21 '17 at 11:33 PM

I was prompted to post repro steps if I could reproduce the issue, and so I have. So; the steps I take followed with the project ready to be upgraded.

  1. Set 4.14.3 as "current".

  2. Launch 4.14.3

  3. New project tab

  4. No starter content

  5. Named it EnumRepro

  6. Create

  7. Add a new blueprint class, type actor.

  8. Add a new enum. (renamed it testenum)

  9. Open the enum and add elements. I named them One, Two, 3, Four4.

  10. (saved the enum)

  11. Open the actor class.

  12. Create new variable, make it testenum

  13. Drag it into the event graph as a get.

  14. Drag of it and create a switch on testenum.

  15. Connect it to begin play.

  16. Compile,save. Close the project. This is the project state I will share. Time to upgrade it.

  17. Set 4.15.0 as current.

  18. Launch 4.15.

  19. Select the Enumrepro project.

  20. Open.

  21. I will select convert in place, however open a copy should still cause the same issue.

  22. When the project has opened, open the actor blueprint class and the switch should display "new enumerator".

Fixing it: 1. Open the textEnum enum. 2. Save it. 3. Close the project. 4. Open the project. 5. Open the actor blueprint class. The select on enum now displays correctly.

4.14.3 project link: https://www.dropbox.com/sh/gjofrjwkk7y755w/AABYgKcasf3YNCpIkrUdbamla?dl=0

avatar image Jamie Dale STAFF Feb 22 '17 at 04:03 PM

Thanks for the repro. This was caused by a load order issue (the enum was used before PostLoad had been called, and PostLoad is what updated the display name).

I've fixed this for 4.15.1, but re-saving your User Defined Enums will also solve the issue (as it removes the need for PostLoad to have run to get valid display names).

avatar image Sean L ♦♦ STAFF Feb 22 '17 at 01:40 PM

Thanks a lot for the repro steps. I've reproduced the issue and have entered a bug report which you can track using the link below:

https://issues.unrealengine.com/issue/UE-42253

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question