FNames can be a lot of overhead when using as RPCs parameter?

Unreal docs says

FNames are not generally compressed, so when you are using them as parameters to RPCs, keep in mind that they will generally send the string each call. This can be a lot of overhead.

First Question: What are FNames?

Second Question: What does compressed here means?

Third Question: Why using them as parameters to RPCs can be a lot of overhead?

It would be really helpful if somone could explain in detail. Thankyou in advance!

1 Like

FName type (just Name in blueprints) is a special string type that hashes all the content for faster iteration then normal FString (String in blueprints).

According to statement, it does not compress in network protocol that UE4 use, means it it’s not shorten and take same amount of space as uncompressed string which in 2 bytes per characters in UE4. Overhead here means that it make RPC call over network grow in size rapidly with length of FName and if you do that in frequent those sizes stacks together potentially decreasing performance of replication overall.

1 Like