Niv
Niv2w ago

is the ReltimeView property 'preventOwnershipTakeover' synched between the clients?

Meaning, if clientA takes ownership and the sets the 'preventOwnershipTakeover' property to true - will client 'B' observe that property to be true on his end? If it is not synchronized and assuming we have a rigidbody with a RealtimeTransform component that clientA prevented ownership changes on - what would prevent client B from requesting ownership on that rigidbody (and immediately receiving it), only for it to be rolled back by the server. This process can happen again and again over multiple frames (as the rigidbody keeps colliding with clientB owned rigidbodies - creating an unnecessarily janky behavior of that rigidbody.
4 Replies
kapa.ai
kapa.ai2w ago
Hi @Niv. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- The preventOwnershipTakeover property of a RealtimeView is indeed synchronized between clients. If client A takes ownership and sets the preventOwnershipTakeover property to true, client B will observe that property to be true on their end. This is mentioned in the documentation (https://normcore.io/documentation/room/ownership-and-lifetime-flags#prevent-ownership-takeover-of-a-realtimeview). As for your second question, if client A has set preventOwnershipTakeover to true on a RealtimeView, client B cannot request ownership of that RealtimeView. The server will block the request. This is because the preventOwnershipTakeover flag, when set to true, means the model owner must clear ownership before another client can request it. This is mentioned in the documentation (https://normcore.io/documentation/reference/classes/Normal.Realtime.RealtimeView). In the case of a Rigidbody with a RealtimeTransform component, if client A has set preventOwnershipTakeover to true, client B cannot request ownership of that Rigidbody. If client B attempts to request ownership, the server will block the request and roll back any changes that required ownership. This is mentioned in the documentation (https://normcore.io/documentation/room/ownership-and-lifetime-flags#requestownership--clearownership). Therefore, there should not be a situation where client B is repeatedly requesting and being denied ownership over multiple frames, creating janky behavior. If such a situation is occurring, it may be due to a bug or a misconfiguration. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai2w ago
<@269927864265211906> kapa.ai is still learning and improving, please let us know how it did by reacting below
Niv
Niv2w ago
where specifically does the documentation mention that 'preventOwnershipTakeover' is synchronized?
maxweisel
maxweisel7d ago
it is synchronized it’s not mentioned but the property doesn’t make any sense if it’s not it’s not a local value that needs to be synchronized it’s a setting on the server for this object all clients are referencing the same value on the server
More Posts
Security Question: Is the app key stored in the Unity APK?Is it possible the APK could be reverse compiled and the app key stolen?Normcore headless buildCan we create a unity headless build and deploy to one of our cloud platforms instead of using normchow to handle code server sidehow do i run a timer for example on the server and get a signal sent to all the clients when that tiWhat is the best way to get the exact time a room is created?Is there a way to find the room start time?Bandwidth usage analysisI wanted to analyze my application's bandwidth usage more thoroughly to see if I'm sending unnecessaAllow RealtimeView.realtime and RealtimeView.viewUUID to be set from the editor inside prefabsWe have a use case where we want to be able to dynamically spawn a normcore room from a prefab. UnfoRealtime.Destroy On owned realtime prefabs.Can I destroy a RealtimePrefab by calling Realtime.Destroy even if someone else is an owner? Or do IHow can I distort the mic audio in RealtimeAvatarVoice to be higher or lower pitch?Is it possible to distort the mic audio from RealtimeAvatarVoice so the player is heard with a squeaAre there any best practices for syncing a large number of variables in one script?For instance if we have a large script with many bools floats, integers etc and they all need to be First player isn't synced to other players, while other players are visible to the first playerNo idea why this started happening - didn't change any code from what I can tell, but now whenever a