Skip to content
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

Closed
wants to merge 63 commits into from
Closed

Conversation

jilfranco-unity
Copy link
Contributor

@jilfranco-unity jilfranco-unity commented Feb 10, 2023

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

  • Tests have been added for the project and/or any internal package
  • Release notes have been added to the project changelog file
  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • JIRA ticket ID is in the PR title or at least one commit message
  • Include the ticket ID number within the body message of the PR to create a hyperlink

pdeschain and others added 30 commits November 3, 2022 08:57
…latejoin/SparseLoadingNoLatejoinSample.cs

Co-authored-by: Sam Bellomo <[email protected]>
…latejoin/SparseLoadingNoLatejoinSample.cs

Co-authored-by: Sam Bellomo <[email protected]>
…ity-Technologies/com.unity.multiplayer.samples.bitesize into pdeschain/dynamic-prefabs-exploration
@jilfranco-unity jilfranco-unity added the enhancement New feature or request label Feb 10, 2023
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).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(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.
Copy link
Contributor

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?

Comment on lines +29 to +33
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>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs updating

Base automatically changed from pdeschain/dynamic-prefabs-exploration to develop February 14, 2023 21:58
@jilfranco-unity
Copy link
Contributor Author

closing to make a new PR off of develop post folder structure update to avoid messy merging

@jilfranco-unity jilfranco-unity added duplicate This issue or pull request already exists and removed enhancement New feature or request labels Feb 15, 2023
@fernando-cortez fernando-cortez deleted the feat/readme-updates branch February 17, 2023 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants