Why is my custom C++ actor not replicating correctly even with SetIsReplicated(true) and bReplicates = true?

welcome to the forums!

check this out. Multiplayer Network Compendium | An Unreal Engine Blog by Cedric Neukirchen
check the official docs, they’re really comprehensive Networking and Multiplayer in Unreal Engine | Unreal Engine 5.5 Documentation | Epic Developer Community

make sure it’s relevant.
there’s a flag called AlwaysRelevant or smth.
read about relevancy also.

no. never call RegisterAllComponents if you don’t know what you’re doing.

yes. but small details. read the link i’ve shared. mostly you don’t need to worry, except for multicast and overriden methods.

that’s a book in itself. make a thread for that. or read the link i’ve shared (from cedric), it’s explained pretty well.

not necessarily. but it’s important to set the owner.
only actors that owned by the local player controller, or chains to it, can call an rpc. read the link.

“good practices” leads to certain dogmatism. read the link ive gave you.
the only way is to build a ton, and read a ton, there’s no shortcut, since all projects are different.
and dumping all that info could be really long.
you can also search in the forum and the docs here. there’s great content.
i wouldn’t trust youtube much, lots of ppl there has never done big projects. though some do. you’ll have to select yourself.