How are pointers to UOBJECT replicated on a technical level when used either as a replicated variable or as a parameter to an RPC?
Does UE4 only transmit id of the object and client find its own version? Or is the pointer internally de-referenced and all properties are serialised and sent?
For example say I am making an RPC call from client to server with UAnimMontage* as parameter what happens then?
A. Under the hood a unique identifier/number for the UAnimMontage asset is sent as parameter and then server finds UAnimMontage on its disk corresponding to the identifier/number
B. The pointer is de-referenced and the properties of the montage asset e.g. its full path , the animsequence , notifies etc are all serialised and sent as a whole instead