I am creating a single player game, I do not need replication. Should I duplicate the character movement component (CMC) and remove all the replication code to optimize it?
Or does it not affect at all performance if replication is turned off (without erasing code)?
There’s really no need to remove the replication code from you cmc. Doing so would just complicate your project, and if you run into problems later, it will be unnecessary complexity to fix. You’d likely see only a tiny performance gain, less than 1 FPS maybe, so it’s not worth the trouble. You can do much more for your game’s performance than stripping out replication code from your CMC. This is just my opinion.