Using find referances to a variable missing variables in same class

Here is a picture of a search attempting to find a variable called “Start Loc”:


You can clearly see that the variable is being used in the middle of the picture.

If I create a new referance to “Start Loc” (I.e. drag from variable list a put into the graph, selecting ‘get’) you can now find “Start Loc” in the search:


Image links seem to be temperamental, here are direct links:



Using “Find Referances” on the invisible getter gives a near search string which is:

Nodes(VariableReference(MemberName=+"Start Loc" && MemberGuid(A=-284182496 && B=1130834749 && C=232342691 && D=-213515062) ))

Whereas “Find Referances” on the variable in the editor variable list (left hand side of BP editor) gives:

Nodes(VariableReference(MemberName=+"Start Loc" && MemberGuid(A=-1577340200 && B=1289802846 && C=-227196020 && D=-649442317)))

Whats the reason for these GUID’s missmatching? This doesn’t extend to new getters as proven by the second picture. For some reason the older getters have a different MemberGUID but they still point to the same variable.

This is the same across the blueprint:
Find referances on the variable in the variable list:


Find referances on the getter in the picture:


Find referances with a new getter created from the variable list (i.e. drag → get):


Could this be todo with the code being copy+pasted? The code still runs fine, so internally the blueprint parser has no trouble finding which variable to get from the getter in the first picture. I vaguely remember writing this code in a different class, then moving it over into this one.

This is incredably infuriating. Whenever I search for referances to a variable, i.e. to see if it’s in use and to replace it’s use etc., the search function simply doesn’t give the correct results. Please note that “Start Loc” in the picture and the new “Start Loc” created both refer to the same variable in the same class.

This problem seems to have been happening a lot and it’s making refactoring near impossible. I’m glad I’ve finally been able to capture the exact problem though, hopefully this can get fixed soon.

Hello ,

I was unable to reproduce this issue on our end using the information provided. I have a couple of questions to help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provided a detailed list of steps to reproduce this issue on our end (including any small steps that may have been overlooked in your original post)?

I’ve narrowed this down to be 100% reproducable using 2 classes:

  1. Create a variable in one class. Make
    a getter or setter to this variable.
  2. Copy getter/setter to new class that
    doesn’t have this variable in it. (tested with setter)
  3. Create the variable in the new class
    using variable list, not right click-> create var.
  4. Getter/Setter is now invisible to search but functions
    perfectly.

Using right click → ‘create var’ functions as expected, creates a new var that you can search for.

I expect that the variable is created from the variable list with a new GUID which is different to the copied getter/setter. However the getter/setter still works, it’s just a ghost in the machine.

Searching by just name provides the expected results.

Hello ,

I was able to reproduce this issue with the additional information provided. I have written up a report and I have submitted it to the developers for further consideration. I have also provide a link to the public tracker. Please feel free to use the link provided for future updates. Thank you for your time and information.

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

Make it a great day

Can I expand on the write up? It definitely seems like a MemberGUID problem. The setters(/getters) that are right clicked update with the MemberGUID of the new variable. All other instances of the setter keep the old MemberGUID.

You can see this by having 3 setters. The one you right click → create variable gets the new GUID, if you “find referances” on the other two setters you can see they both show up in the search (as they have the old MemberGUID)

As variable names are unique per blueprint, it seems like a solution would be to update MemberGUID’s of getter/setters when a new variable is created that they now point to. The most (only?) useful part of the MemberGUID, uniqueness across blueprints, isn’t a factor here, and the fact that they now point to an incorrect GUID can cause problems, i.e. when searching for referances to the original, copied variable, these one’s will show up (when searching all blueprints) as they point to the original GUID, despite the fact that they are completely unrelated

I have no idea how much MemberGUID matters internally to the engine but it could cause much larger problems moving forward, if this becomes an intergral part to a new feature.

Really glad that this has been filed, it’s been driving me crazy … especially when exploring unfamiliar blueprints, e.g. bought from the Marketplace.

I hope this gets fixed as soon as possible, seems really important.