You could try using the pawn movement component instead.
you won’t be able to make changes to the character movement component without making a duplicate c++ class and changing the c++ code. But it inherits from the pawn movement component and extends it, so the pawn movement component is like a simpler version. It may have everything you need.
also, just a tip, don’t believe anything you read online, especially people complaining about optimizations. Its almost always people parroting something they read and haven’t actually tested. And most the time when people test things they don’t even know how to test things properly. So it’s always worthwhile to try things out for yourself before digging a bunch of trenches.
So if I make a duplicate class what are the parts of the code that affect performance the most?
And are you sure that it is not possible to make a movement component using blueprints? I say this considering the fact that you can make practically any type of component with BP
It is a single player game btw, so only 1 playable character, but with many NPCs.
you can absolutely make a movement component using blueprints. But if you used the pawn movement component I think you’ll save a lot of trouble. Like you probably want to use the navigation system, right? That’s not trivial to implement on your own and there is a reason that sort of thing is done in c++. There is a lot of math involved and many queries against the environment.
I have no idea which parts would effect performance and how much, you would have to test and see. And to do a real test would be a ton of work if you want real answers. But a quick thing you can and should do is a stress test using whatever sort of conditions you expect your game to have. Find out if there is really going to be a problem or not.