I don't want to make a whole custom scene management solution and I don't want to modify the netcode library... so I made this dirty fix (added to Awake on my network objects script)
if (!NetworkManager.Singleton.IsServer && !NetworkManager.Singleton.IsClient) // make sure we are not running the server yet (and we are not the client)
{
var type = NetworkObject.GetType();
var fields = type.GetFields(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
foreach (var f in fields)
{
if (f.Name.Contains("IsSceneObject"))
{
f.SetValue(_obj, false); // _obj is NetworkObject component
break;
}
}
}
And then I simply spawn the NetworkObject manually when I click Host



also I instantiate camera locally like you would in singleplayer game and Its seen in another player wtf is even this