fojam
fojam3mo ago

Strategies for updating clients when the normcore realtime models have changed?

When new properties or realtime prefabs are added, is it still possible for new clients to connect to rooms with older clients, or will the network contract be broken for older clients until they update their app? Are there any ideal ways to go about pushing app updates that make realtime model changes without disallowing older clients from connecting?
Solution:
Yes new and old clients can talk just fine. Old clients ignore propertyIDs they haven’t seen before
Jump to solution
9 Replies
kapa.ai
kapa.ai3mo ago
Hi @fojam. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- Hmm, I don't know enough to give you a confident answer yet. The provided knowledge sources do not contain specific information about strategies for updating clients when the Normcore Realtime Models have changed, or about the compatibility between new clients and rooms with older clients when new properties or realtime prefabs are added. However, it's worth noting that Normcore's datastore automatically replicates changes to all connected clients, and when a client joins a room late, the server sends them a complete copy of the datastore without requiring any intervention from the other clients. This might suggest some level of backward compatibility, but it's not explicitly stated in the provided sources. For more detailed information, I recommend checking the official Normcore Documentation (https://normcore.io/documentation/). ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai3mo ago
<@119985475967516673> kapa.ai is still learning and improving, please let us know how it did by reacting below
Solution
maxweisel
maxweisel3mo ago
Yes new and old clients can talk just fine. Old clients ignore propertyIDs they haven’t seen before
maxweisel
maxweisel3mo ago
just don’t reuse property IDs
fojam
fojam3mo ago
Awesome, I figured that was the case. What about prefabs or scene objects though?
Mechabit
Mechabit3mo ago
if scene ids have changed you're probably stuffed you can use something like unity's content delivery service to allow you to update old clients with new prefabs
maxweisel
maxweisel3mo ago
@fojam RealtimeView deprecates child view IDs and component IDs to emulate the same process
fojam
fojam3mo ago
Got it, makes sense. Thanks so much! @Mechabit how would this work? @Mechabit ah I just realized what you meant. For general asset changes, I think in this case it's easier for us to just do an app update. I more was worried about the network contract breaking. But I'll definitely keep this in mind, I could see this being pretty useful
Mechabit
Mechabit3mo ago
if you tried to instantiate a prefab that's not in the old client I think you'd just get a missing prefab error