Because of the way blueprints are implemented, the "Blueprint Class" asset actually points to the editor-only UBlueprint object. Because of this, all blueprint classes will show up as options for generic Object pickers, with no indication that they will not work properly. Native classes do not show up, even if you enable the option in the drop down. This frequently leads to user confusion, such as in the attached image where a user tried to compare an blueprint actor instance to the blueprint actor class. It also has caused cooking issues in the past because these references will silently disappear
I can't really think of a case where you would actually want UBlueprints to show up in the editor picker for a UObject. One possible example might be for an editor utility, but you would probably want to reference UBlueprint specifically (which is not itself a blueprint type). There may be a legitimate case where this is needed, but 99% of the time it just confuses people. If we do need to support it, the UI should make it clear that this is the "Blueprint Editor Asset" or something, right now the UI literally says Blueprint Class.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-96064 in the post.
2 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.26 |
Created | Jul 28, 2020 |
---|---|
Updated | Nov 27, 2023 |