UMG ExposeOnSpawn ambiguity problem

Hello, i’m using UMG to create some inventory slots ( i have a base slot widget and two others that derive from that) and although the compilation on the editor is fine, on the output window of visual i’m getting the following error:

[2015.01.14-22.21.28:060][  0]LogBlueprint:Warning: ExposeOnSpawn ambiguity. Property 'ObjectProperty /Engine/Transient.REINST_SingleSlot_C_22:ItemCollection', MetaData 'False', Flag 'True'
[2015.01.14-22.21.28:061][  0]LogBlueprint:Warning: ExposeOnSpawn ambiguity. Property 'ObjectProperty /Engine/Transient.REINST_BaseSlot_C_4:Inventory Menu', MetaData 'False', Flag 'True'

On the create widget i connect the wires and he compiles fine, but when i restart the editor the wires are disconnected. The documentation tells that that error is when the metadata of the property to expose on spawn is different than the flag. How do i fix this?

Hi ,

Are you creating a C++ project or blueprints? Additionally, does this occur in a blank project with no additional content or is it limited to one project?

Hello, i’m using a C++ project. I’ve created a complex inventory system from the first release of UMG, so i’m not sure if it’s from starting from such an early build that might create incompatibilities with the current UMG version. I doubt i will be able to reproduce it on a more simple project :frowning: If possible i would like to know more about that error and how can i set both the metadata and the flag back to the same value so i stop having this error.

Hello ,

I was looking over your post and it sounds like you may have a circular dependency issue. Is it possible that something in the widget with the disconnected wires is referencing another blueprint that is in turn referencing the broken blueprint?

Simple example:

29898-circdepenissue.png

I have other blueprints that derive from Base Slot and Single Slot that don’t have that problem, so my guess is that for some reason some of the child are pointing a broken / older version and others are pointing to the right one. Is there a way to clean that without redoing the entire widget (which i already did multiple times and ended up with the same or a similar problem on the same or on another widget, so it’s worth what it’s worth)?

As far as I know, the only way to get rid of a REINST is to remake the widget, unfortunately :frowning:

In order to completely stop this from happening, you just need to remove any circular dependencies.

When I had to remake my widgets I used event dispatchers instead, to fix my problem.

Hope this helps :slight_smile:

I was hoping it wouldn’t come down to that, because those are the base widgets for my entire inventory system and redoing them will take a lot of time, but i guess i don’t have a choice :frowning: Thanks for the feedback

This appeared to be fixed on 4.7, if the issue returns i will let you know. Thank you for the support :slight_smile: