fojam
NNormal
•Created by fojam on 7/19/2024 in #🤝ask-a-question
How to determine the cause of "RealtimeSet received delta update for non-existent key"
Recently we've been getting tons of error logs for "RealtimeSet received delta update for non-existent key". I assume this is because multiple clients are writing to the same object in a room that was destroyed, but is there an easier way to determine which object is causing the error?
5 replies
NNormal
•Created by fojam on 7/2/2024 in #💭feature-request
Allow RealtimeView.realtime and RealtimeView.viewUUID to be set from the editor inside prefabs
We have a use case where we want to be able to dynamically spawn a normcore room from a prefab. Unfortunately, the way RealtimeView works requires us to use a scene instead of a prefab. This is because the
realtime
and viewUUID
fields on RealtimeView
are hidden in the inspector when viewing from a prefab. If these were exposed, they wouldn't conflict with other normcore room scene view UUIDs because they would be tied different Realtime
instances1 replies
NNormal
•Created by fojam on 6/27/2024 in #💭feature-request
Show the property path for RealtimeSet delta update errors
Sometimes I'll get an error from normcore like
RealtimeSet received delta update for non-existent key (2297)
. Is there any way you could add an optional flag to show the full property path for these kinds of errors? It would make debugging them a lot easier1 replies
NNormal
•Created by fojam on 6/26/2024 in #🤝ask-a-question
Delayed room updates
We were in the process of testing our game with roughly 18 people per room, and we noticed that datastore updates started to became very delayed. We ended up receiving an action that a player had performed more than 3 minutes after the action was sent. Is there anything we can do to mitigate this?
19 replies
NNormal
•Created by fojam on 4/4/2024 in #🤝ask-a-question
Best way to support async room loading?
Lately we've been working on a feature to support faster loading of normcore rooms, so that we can split larger areas over multiple rooms and load/unload them as needed. I made an object pool to reduce Instantiations on the initial room load, and we preload the pool with the total number of RealtimeView instances in the room (we keep track of these on the "host" client). However, even doing this, there's a significant bit of lag when loading in the room (about 845ms with 6 players, testing with roughly 1800 RealtimeModels in the room. This is the higher end of the possible object count though. 240 objects would be more typical for 6 players). We have a lot of small networked objects in the room per player, so it's difficult to improve this by reducing realtime model instances, since they all have properties that need to be networked individually.
What we've tried:
- preload pooled object instances
- pre-activate the pooled objects and move them off-screen
- override CreateModel and "preload" the model (found out this needs to be done on the prefab and not the instance)
- reduce time in OnRealtimeModelReplaced calls (still working on this)
Are there any other ways we could go about reducing this?
9 replies
NNormal
•Created by fojam on 3/18/2024 in #🤝ask-a-question
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?
15 replies