In Actor.h at the bottom is a HIDE_ACTOR_TRANSFORM_FUNCTIONS which then gets used in PlayerState.h and other places. The comment says ’ where they don’t make sense.’ but if you are looping through the World PlayerState list you might think that you should be able to call GetActorLocation which is hidden. The reason it is hidden is that you really should call GetComponentByClass(Character.StaticClass()) and then from the Character get the location. Why? Because the PlayerState is ‘global’ in the map and does not move with the Character’s avatar.
Instead of
// Macro to hide common Transform functions in native code for classes where they don’t make sense.
A better comment wording would be…
// Macro to hide common Transform functions because some sub classes (e.g. PlayerState) do not update their Location as the player moves.
// Instead use GetComponentByClass(Character::StaticClass()) and get the location from the Character.
This could save a lot of confusion for newbies.
Also where the function HIDE_ACTOR_TRANSFORM_FUNCTIONS is used (6 places), have the comment say
// See Actor.h HIDE_ACTOR_TRANSFORM_FUNCTIONS