Why is Replication multicast events when called from another event which run on server works only if marked reliable?
If the bandwidth is low, the server will try to skip calls that are not considered important. Anything marked “reliable” absolutely needs to be replicated to the clients. Anything else is a candidate for being skipped if the need arises.
The function is replicated over the network, and is guaranteed to arrive regardless of bandwidth or network errors. Only valid when used in conjunction with Client or Server.
A replicated UFUNCTION() can replicate reliably or unreliably. This simply means that an unreliable method call may not be executed under severe network stress. Don’t mark things as unreliable that have to happen, but this is a good idea to do for non-critical effects since it theoretically might make the game play better under network stress.
Depending on your network load, you might see more or fewer unreliable casts getting skipped.
there are nothing else happens, so i don’t think “skip because of netload” is a good answer
I would like to add on to this - 4.15 – still the case.
Unreliable calls are missed ALL THE TIME despite nothing else big going on.