Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one.
Unforseen but when we link component reference from a prefab to property on something else in scene, we should still store component reference like we used to. We'll try to find the component in the scene directory by id if we can, but revert to old behavior if not
Revert "Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one."
This reverts commit 55d6e5c51d2fd6b663391d9e22c191a6a810603f.
Switch GameObject/Component.Id to be serialized as __guid
Upgrade PrefabFile on load
Merge fix
Set hitbox surface
Update SceneEditorMenus to use MakeIdGuidsUnique instead of MakeGameObjectsUnique
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
Don't do on the root though save that for the multi-comp PR
Merge branch 'master' into multi-comp-synvar