I’m currently working on a small multiplayer game and I it has the ability to play both online and offline. So I am wondering if I need to make something that disables all multiplayer components in offline mode and make a separate game manager just for offline or can I use the multiplayer ready objects in offline mode without changing anything/changing much?
It will be easier to consider the offline mode as online or you will have a lot of work and it will be hard to maintain.
So you have just to start a server and spawn a local player.
When making physics and mechanics, try to make them for multiplayer only. That way when your in single-player your basically just running a server with only one player, so everything should run the same. Then you can simply switch off the multiplayer aspects to make it single-player.
I’m also going this way with having always server/client setup, but have to add some additional code to replace the client prediction/reconciliation system. On a host, server and client code would interfere with each other due to the predicted movement on the client.