as someone who has no programming experience whatsoever, I had a very hard time understanding how Cast To node in Blueprint works, not because I couldn’t get the logic, but because the logic it executes seems completely unrelated to the name of the node for someone who has no experience with programming. And since Epic claims Blueprint is supposed to allow non-coders create game logic, I believe it should have also naming friendly to non programmers.
When I asked my friend, who does coding in UE4 about it, he basically told me that casting in programming is diverse, multi-purpose tool, but its variant inside the Blueprint resembles to “Is of type” operation, and that is something that corresponds with my observation, as well with what the UE4 documentation describes:
“When using a Cast To node in Blueprints, put simply, you are attempting to check if the object you are casting from is the specific object you casted to. In other words, say you have created a special Character Blueprint (called MyCharacter for example) that has variables in it or other custom functionality contained within it and assigned it as the Default Pawn Class (or the Character Blueprint all Player Characters use by default).”
If you have no experience with programming, and see a node called “Cast To”, you will immediately associate such node with operation that takes an information from somewhere, and casts it somewhere else. For example, almost everyone owns a smartphone these days, and if you see a “Cast” button on your phone, you will most likely assume it will cast your screen on the other device. Yet, what the node actually does, is making sure that you are interacting with specific object of a certain type.
What confuses me further is that Cast To is basically a branch node, which takes Actor instead of boolean as a condition to route the execution output pin, yet in branch node, execution output pins are True/False, but in case of Cast To, execution pins are [empty] and Cast Failed. This, combined with the clumsy name makes understanding of Blueprint logic really difficult for non programmers. So I hope this is something that could be improved.