This isn’t a question but a bug report: In 4.3 the Find References search is missing variables used in implemented interface functions.
Thank you for your report.
We have assigned this issue to a member of our support staff, and they will begin investigation as soon as possible. If we are unable to reproduce the issue, or we need additional information, our staff member will comment here with additional questions. Otherwise, we will post an ‘Answer’ once we have logged the issue in our bug database or we have a solution for it.
In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide.
Thank you.
Branch: Binary
Build version: 4.3.1-2226335
Repro Steps:
-
Make a new BP class.
-
Make an interface which requires a function graph which returns a value.
-
Make the BP class use that interface.
-
Make a variable which is only referenced (get/get) in the implementation of the interface’s function graph.
-
Select the variable in the list and find references.
-
The variable shows up as declaration only, no sign of being used in the function.
-
The variable is properly found in the event graph, construction graph or in plain functions.
Hi ZoltanE,
I am testing this in-house and I can’t get the same results that you are seeing. Could you also post a screenshot of your Event Graph, My Blueprint panel, and Function?
Here are two very simple blueprints showcasing the issue:
Just extract it in the root content folder and open MyBlueprint. Find references for MyVariable and see if it shows anything from inside MyFunction.
Hi ZoltanE,
Thank you for the feedback, but this is actually by design. The ‘Find References’ feature will only find references in the blueprint it was created in. This keeps confusion down if you have variables in different blueprints with the same name.
Thanks, TJ
I’m not sure I follow: the variable was created in that single blueprint and used in a function in that same blueprint. Are you saying that interface implementation functions belonging to a blueprint are somehow not part of that particular blueprint…? I’m confused.
Besides it also misses when I allow global search (“Find in blueprints”) which means that there is no way to find usage of any variable inside any interface related functions. That makes debugging and refactoring a massive pain, to put it mildly, so I have difficulty believing that it’s by design…
The issue is not present in 4.2.1: The search finds the variable in the implementation of the interface function as it should.
4.4 is broken this way still. I used the exact same empty project for testing.
Hi ZoltanE,
I’m sorry, I had some misinformation on my end and like you said, the above answer is not correct. I tested this and it’s working in our newest internal build. You should see it fixed in a future update.
Thank you for the feedback,
TJ