How to replicate a UObject property inside a struct?

When you do replication, you only create object on the server. You are surely replicating only the pointer, not the object pointed.

So you are 2 distincts objets (client/server) but one pointer replicated. When you set null the pointer, the change is replicated, as expected.

The pointer and the object pointed are not the same thing.

PS : This post is old. You don’t need to replicate subobject like this anymore.