BP: Spawn Actor doesn't use expose on Spawn variables

Hi teak421,

This is currently marked for 4.11, though there is always a possibility it gets pushed back so I cannot absolutely guarantee this. It will be more clear once we post release notes, which you will be able to view [here][1].

[1]:

I’m taking it that this was never implemented in 4.11 because I am encountering this bug very frequently. Can’t even expose a simple integer…?

Edit:

I guess scratch that, forgot to enable it to be editable first. (/_-)

Hi,

Could you confirm that this issue has been resolved in 4.11?

Hi DekanTrue,

This has been implemented in 4.11. If you are still seeing this error, please post back and I’ll be happy to take another look.

I tested it in 4.11, and it seems to work perfectly.

Hi there,
bug is still there when using an Enum in 4.12.5.

A workaround is to get enum and set it to itself before plug it in spawn node.

Hi Clem_Plantier,

I have not been able to reproduce this on my end. Do you have any steps I can take to recreate error you are seeing?

Quite amazing that such a fundamental issue is still not fixed properly. I’m getting this on 4.14p1. It’s not a regression though, I noticed effect previously but just worked around it and didn’t look into cause.

I don’t have time to create a repro, but I’m seeing issue on an exposed bool, on a widget blueprint, where default value is true and it is set to false on CreateWidget node. In case it’s relevant (but I doubt it) I’m also passing in a value to Class parameter - node is a Create [MyBaseBlueprint] Widget, and I pass in a widget class derived from MyBaseBlueprint.

It behaves exactly as detailed above, ignoring inline value, but working when a wire is plugged in.

Hi ,

Do you have any additional steps I can take to reproduce this error on my end? I have not been able to reproduce this on my end using errors listed in this post in 4.14 P1. Please let me know what additional steps if any I can take to recreate this on my end.

Hey , sorry didn’t subscribe so I missed your reply.
Turns out it only occurs in very specific circumstances, but there is a bug in there somewhere. I eventually reproduced it (on 4,14 p1 but I think it should occur on all versions) like this:

  1. Create widget BP, add a boolean variable, make it editable and exposed on spawn.
  2. Add a text block to widget, add a binding to its text property, in binding function plug boolean into return value.
  3. Open your level BP, add a variable called WidgetClass. For its type, select name of your widget BP → Class (purple one).
  4. Hook BeginPlay up to a CreateWidget node, and connect an AddToViewport to result.
  5. Create a Get node for your WidgetClass variable, plug it into Class input on CreateWidget node. Your boolean should show up, defaulted to false.
  6. Set exposed boolean to true, compile and play. It prints false.

From what I can see, node gets into an invalid state based on setting of its Class input. If you disconnect pin, change dropdown to your widget class, then reconnect variable, reset input to true and play again, it will print true as it should. Disconnect and change dropdown to None or another incompatible widget class, then reconnect your variable, set to true and run, and it prints false. It seems behaviour is affected by whatever dropdown was last set to, when actually dropdown value should have no effect at all when a wire is plugged in.

Hello ,

Thank you for additional information. issue that you have described in your post is a known issue. I have provided a link to public tracker. Please feel free to use link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-34491)

Make it a great day

You’ve linked to something that is marked as a non-issue. It’s also completely different - in case above, pins do not disappear, they remain but value is ignored.

Hello ,

Could you provide an example project that exhibits issue that you are seeing on your end?