-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: Readme Updates [MTT-5460] #93
Conversation
…latejoin/SparseLoadingNoLatejoinSample.cs Co-authored-by: Sam Bellomo <[email protected]>
…latejoin/SparseLoadingNoLatejoinSample.cs Co-authored-by: Sam Bellomo <[email protected]>
…nderstand what's going on
…lready been preloaded on all peers
… visibility system
Co-authored-by: Sam Bellomo <[email protected]>
Co-authored-by: Sam Bellomo <[email protected]>
…ity-Technologies/com.unity.multiplayer.samples.bitesize into pdeschain/dynamic-prefabs-exploration
…ation' into feat/readme-updates
…ation' into feat/readme-updates
NetworkConfig.SpawnTimeout) before an error is logged. This is intented to enable the SDK to gracefully | ||
handle unexpected conditions (slow disks, slow network, etc) that slow down asset loading. This timeout | ||
should not be relied on and code shouldn't be written around it - your code should be written so that | ||
(RPCs, configs, deterministic loading, etc). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(RPCs, configs, deterministic loading, etc). | |
(RPCs, configs, deterministic loading, etc). This sample lists some of those possible methods with basic implementations you can adapt to your various use cases. |
the asset is expected to be loaded before it's needed. | ||
- Currently it's impossible to latejoin for clients after a dynamic prefab has been spawned by the server. The reason for this is that the initial sync doesn't allow us any time to load prefabs that are yet absent on the client. | ||
|
||
- It's currently impossible for clients to late join after a dynamic prefab has been spawned by the server - this is because the initial sync doesn't allow us any time to load prefabs that are aren't yet loaded on the client. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't true anymore, no?
Therefore, based on these limitations, the following use-cases are covered in this sample: | ||
- PreloadingSample.cs - this is the simplest case of a dynamic prefab - we just add it to the list of prefabs before we connect on all the peers. | ||
|
||
- AppController.cs and DynamicPrefabManager.cs - this is a more complex case where the server spawns things that the client haven't yet loaded. There are two loading strategies - one is "synchronous" spawning, which ensures that all clients have acknowledged that they have loaded that prefab before the server actually spawns the NetworkObject. The other one is spawning the object immediately and using visibility system to hide that object from clients that haven't loaded the prefab yet (when they do acknowledge the prefab loading - the server will show the relevant hidden objects to the client). This sample also shows how we could handle the issue with initial synchronization breaking for late joiners by using some custom logic in connection approval delegate. | ||
<br><br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs updating
closing to make a new PR off of develop post folder structure update to avoid messy merging |
Description
Updates the dynamic prefab sample readme, as well as a refresh for our global bitesize samples readme
!!!!! The dynamic prefabs readme is not done, please don't review yet
Issue Number(s)
jira ticket MTT-5460 here
Contribution checklist