Skip to content

Conversation

@fernando-cortez
Copy link
Contributor

@fernando-cortez fernando-cortez commented Jan 22, 2025

Description

This PR upgrades Dynamic Addressables Network Prefabs to Unity 6 and upgrades associated dependencies.
Netcode for GameObjects has been upgraded to v2.2.0.
ParrelSync has been removed from the project and Multiplayer Play Mode has been integrated.

Issue Number(s)

N/A

Contribution checklist

  • [ N/A ] 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
  • [ N/A ] JIRA ticket ID is in the PR title or at least one commit message
  • [ N/A ] Include the ticket ID number within the body message of the PR to create a hyperlink

@fernando-cortez fernando-cortez marked this pull request as ready for review January 22, 2025 21:40
@fernando-cortez fernando-cortez requested a review from a team as a code owner January 22, 2025 21:40
Copy link
Contributor

@RikuTheFuffs RikuTheFuffs left a comment

Choose a reason for hiding this comment

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

Side note: is this sample even working?

In scene 3, If I use MPPM and set the latency to 9999 ms, I still see the prefabs spawning instantly on the client. I'd expect them to spawn 9.99 seconds later.

image

@fernando-cortez
Copy link
Contributor Author

Side note: is this sample even working?

In scene 3, If I use MPPM and set the latency to 9999 ms, I still see the prefabs spawning instantly on the client. I'd expect them to spawn 9.99 seconds later.

image

Yes, it's still working.
Inside of DynamicPrefabLoadingUtilities.cs, it's stated:

    /// Artificial delay to the loading of a network prefab is disabled by default. To enable it, make sure to add
    /// ENABLE_ARTIFICIAL_DELAY as a scripting define symbol to your project's Player settings.

So if you add that to your Player settings, you'll see the host add some artificial delay to the completion of the load request. The host still sends the initial load message to clients right away, so those would get loaded instantaneously, but it'll wait that artificial delay time to simulate latency.

@RikuTheFuffs
Copy link
Contributor

Yes, it's still working. Inside of DynamicPrefabLoadingUtilities.cs, it's stated:

    /// Artificial delay to the loading of a network prefab is disabled by default. To enable it, make sure to add
    /// ENABLE_ARTIFICIAL_DELAY as a scripting define symbol to your project's Player settings.

So if you add that to your Player settings [...]

So we expect that, for the sample being functional, users have to stumble across this little comment in a random script file?

  1. I don't think this is something the average user will find easily, but 100% of those who don't will see the latency slider in the UI, try it, and say "this sample is broken, Unity sucks", which lowers "trust".
  2. Why is this feature hidden behind a scripting define symbol? Couldn't it be on by default? If users don't want artificial latency, they just have to set the slider to "0".

P.S: I know this is unrelated to this specific PR and I'm not asking to address this now. I'd like to agree on what we want to do about this. I'll open a Slack thread to discuss this.

@fernando-cortez fernando-cortez merged commit cc601b7 into develop Jan 27, 2025
30 checks passed
@fernando-cortez fernando-cortez deleted the feat/dynamicaddressables-upgrade-to-unity-6 branch January 27, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants