#Difference between network objects ids

59 messages · Page 1 of 1 (latest)

winter moth
#

I have separated project for client and server and when I spawn player (object id 15 on server) client spawns wall (also 15 id). I have many errors and scene with spawned network objects doesn't work.
What should I do?

next skiff
#

Since you mentioned the IDs are the same

winter moth
#

Guid file is equal in both project for default objects

next skiff
#

Hmm, is this in the default collection or using a new one with addressables perhaps?

winter moth
#

I can show required files

winter moth
#

I reimported all and refreshed default objects, but it doesn't work

next skiff
winter moth
#

And for what?

#

I mean all worked early

#

I updated shared group profile (as I think) and objects ids broked down

#

I think I need to reappoint objects ids, but its runtime variable, yes?

next skiff
next skiff
winter moth
#

I thinked it is difference between assets bundle, but they have equal

winter moth
#

Then its strange behaviour

winter moth
#

@next skiff maybe do you know who used addressables with fishnet from supporters?

next skiff
#

I can ask FirstGearGames what advice for debugging it he'd have on Monday

#

I think the tricky part is usually two different projects for the server and client, which isn't really officially supported

winter moth
#

You think is problem new version?

#

I used separated projects some months and all is ok

#

To be honest, I enjoyed this exp

#

Except these errors 🥲

winter moth
next skiff
winter moth
#

Out of range before first if

next skiff
next skiff
# winter moth

I guess that's expected if the wrong object is being spawned and thus the object doesn't have the expected components

winter moth
#

Just some not network code and edited addressables groups

next skiff
#

Hey @rich cypress, any idea how to debug Arendrast's issue here?
Basically to summarize, he is having the wrong object spawned on the client side which is causing ObserversRpc not found for hash... and then Client received an unhandled Packetld... errors.
He is using two separate projects for the server and clients and he is also using addressables.
He has the DefaultPrefabObjects showing the same IDs here: #1385881943916150876 message
And the addressables collection loading code here: #1385881943916150876 message

rich cypress
#

Most likely the default prefabs is ordering differently between the projects. It might show they are correct on start, but they also get refresh regularly -- which might be make them desync between projects. I imagine using a single prefab collection and populating manually would work.

winter moth
#

Okay, I tried it. But it isn't right (I checked). I builded asset bundles only with player (with addressables) and it works.
But I don't understand why so

#

I compared objects through ToString and I saw it

#

Server
Name [StrawFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24608], Name [StoneFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24586], Name [LocationPlayer] ObjectId [65535] OwnerId [-1] GameObject HashCode [24344], Name [StoneWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [24658], Name [StrawWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [24682], Name [StoneWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [24754], Name [StrawDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24480], Name [ReinforcedStoneFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24564], Name [WoodenWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [24706], Name [StoneDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24438], Name [ReinforcedStoneWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [23976], Name [StrawWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [24778], Name [WoodenDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24522], Name [WoodenWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [24802], Name [ReinforcedStoneWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [24730], Name [ReinforcedStoneDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24396], Name [WoodenFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [24630],

#

Client:
Name [WoodenFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36778], Name [StrawFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36790], Name [StoneFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36798], Name [LocationPlayer] ObjectId [65535] OwnerId [-1] GameObject HashCode [36810], Name [StoneWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [36822], Name [StrawWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [36842], Name [StoneWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [36846], Name [StrawDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36854], Name [ReinforcedStoneFloor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36862], Name [WoodenWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [36882], Name [StoneDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36890], Name [ReinforcedStoneWall] ObjectId [65535] OwnerId [-1] GameObject HashCode [36930], Name [StrawWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [36934], Name [WoodenDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36938], Name [WoodenWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [36946], Name [ReinforcedStoneWindow] ObjectId [65535] OwnerId [-1] GameObject HashCode [36950], Name [ReinforcedStoneDoor] ObjectId [65535] OwnerId [-1] GameObject HashCode [36974],

#

All these objects were NetworkObjects lable (I loaded them)

winter moth
winter moth
#

(inside addressables they have equal order)

winter moth
rich cypress
#

@winter mothThe fact that the ObjectId is ushort.max value tells me it's using an unset Id some reason. There is probably an error before the one you're posting.

        /// <summary>
        /// Value used when the ObjectId has not been set.
        /// </summary>
        public const int UNSET_OBJECTID_VALUE = ushort.MaxValue;
        /// <summary>
        /// Value used when the PrefabId has not been set.
        /// </summary>
        public const int UNSET_PREFABID_VALUE = ushort.MaxValue;```
winter moth
winter moth
#

Different in order broked down all, not objects IDs

#

And I have one more question

#

I copied