So yeah, what I believe is happening is…
- Server spawns weapon, adds it to the TArray<>
- TArray<> is replicated, the client now knows something is in it
- Client accesses the item in the TArray<>, but the actual item in it isnt replicated, so the client is accessing null value-> Crash
I think all you need to do is make the AWeapon constructor set bReplicates/bIsReplicated (can’t remember the name but its something like that) to true inside the constructor and you should be good to go I believe.