First, this may not be a bug, but it makes me confused. Can someone or document make a explain about this?
I found that blueprint class name will replace underscore character to space character.
for example:
“BP_One_Two_Three” will display as “BP One Two Three” in variable type list.
“BPOneTwoThree” will display as “BPOne Two Three”.
**And problem is name of blueprint class is actually changed ! **
If you want to set a variable’s type to BP_One_Two_Three, you can type “BP One” to find it !
If you type “BP_” you can not get it, but there is Tutorial_BP_ Class instead, I do not know why just Tutorial_BP_Class has not process underscore to space.
I have a interested test:
create a new blueprint actor BpOneTwoThree.
in some actor add a variable set variable type to Bp One Two Three.
create a new blueprint actor Bp_One_Two_Three.
change a variable’s type, type bp one you will found two Bp One Two Three, hover mouse on it and tooltip will show you real name.
this situation is just a test, i am just curious why and what is reason to design this class name replace mechanism…
Thanks for feedback! I ran this by developers, and they said this is intentional. standard for editor is to display a “friendly name” for all Blueprint classes (as well as functions, variables, macros, etc). reasoning for this is mostly for ease of use and quick recognition of names and what they reference. When hovering over reference, you should be able to see actual class name. Best practice is, of course, to avoid using names that are only differentiated by camel casing vs underscoring, but with ability to hover and see actual name you’re certainly welcome to do that.