Could anybody help me to understand the meta "BlueprintInternalUseOnly"?

it was this:

  1. there is a function in UE4 called ‘UAITask_MoveTo::AIMoveTo’, and it’s has a meta ‘BlueprintInternalUseOnly = TRUE’, which should means i cann’t see and call this function in Blueprint.
    but in fact, i do can see and call it in Blueprint!

  2. i had tested the meta ‘BlueprintInternalUseOnly = TRUE’ in my class, without doubt Blueprint cann’t see the function used this meta;

  3. furthermore, i’ve searched all the engine code, and cann’t find any call about the function ‘UAITask_MoveTo::AIMoveTo’?

any help would be very appreciated!

By default, all BlueprintCallable/Pure UFUNCTIONS have blueprint nodes generated for them, of type UK2Node_CallFunction. That meta flag suppresses this.

There are many other types of blueprint node though. In this case, the default behaviour has been suppressed so that a customized node can be used instead - UK2Node_AIMoveTo. The implementation of that node will provide a call to the UFUNCTION.