When is it apropriate to use (Reliable and when to use Unreliable) UE Networking

Hello this may not be a qustion that can be answerd with a “1:1” acuracy.
But when is it apropriate to use UFUNCTION(reliable, server, WithValidation)
and when is it apropriate to use UFUNCTION(unreliable, server, WithValidation)

Also i have the same qustion for “WithValidation”.

Can anyone please give me some example scenarios where the two are the correct option?
I been working on a networking tutorial and this is a qustion thats keep poping up for me.

Thanks
WCode

unreliable = particle effects and stuff that doesnt have to make it to client in the right order, or at all

reliable = anything essential to gameplay, including anything that has collision, so basically everything other than particle effects and sounds :slight_smile:

Rama

Reliable: gameplay rules, eg. Notify server of client intending to fire a weapon or something requiring handling asap based off input

Unreliable: cosmetics, delayed behavior. I personally have yet to use unreliable as I just do things via a repnotify in that situation so far.

Thank you for clearing that up guys.

Much aprichiated.

Cheers!