Skip to content

Conversation

@RikuTheFuffs
Copy link
Contributor

Description

This PR includes a new experimental sample that showcases how to use official Unity packages and tools to make a multiplayer game.

Issue Number(s)

N/A

Contribution checklist

  • [N/A] Tests have been added for the project and/or any internal package
  • [N/A] 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

Louis-Philippe Lafontaine-Bédard and others added 20 commits September 28, 2023 14:15
* Creating base project based on NGO template
* Adding dedicated server package

* enabling content selection and stripping rendering, UI, and Audio components on servers

* using multiplayer role instead of configuration to define if server or client

* Adding scene bootstrapper from Boss Room

* Adding multiplayerRoleRestricted attribute to relevant scripts

* updating to MPPM 0.5.0

* refactored game application and gamestate to isolate client and server code

* Adding min number of players to config and using max from config

* Shutting down the server after game ends or all clients disconnect

* setting vsync count to 0 on servers

* setting multiplayer role when building via BuildProcessor.cs

* updating project editor version to 2023.3.0a7

* Updating CLIArgParser to use CLI Arguments from DedicatedServer

* removing port and server ip from config file

* Adding default config to additional build files

* enabling dedicated server build optimizations in player settings
* split the pr trigger and build jobs in separate files

* moving test-editors as fields under each project, and adding the dgs sample to projects

* adding tests to CI

* renaming project to remove spaces in name

* Adding support to build Linux/Mac/Windows clients and servers through menus
…-6063] (#5)

* adding com.unity.multiplayer.samples.coop package

* Adding third person starter assets

* adding back animation module and updating assembly dependencies

* adding starter assets asmdef

* creating player character

* creating environment

* cleaning up UI and adding quit button

* adding menu toggle action

* cleaning up disconnect flow

* setting builds to windowed mode

* Adding game menu

* displaying number of connected players
* creating basic AI character patrolling between points

* using NetcodeHooks class for spawn and despawn hooks

* extracting character geometry and skeleton to prefabs

* replacing network variable with rpc

* updating mac image to more recent one
* creating readme file

* adding UGS setup instructions

* syntax fixes and adding links to package docs

* Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* add details for how to use MPPM

* clarifying local multiplayer flow

* removing doc link to page that doesnt exist yet

* clarifying how to use autoconnect mode

* Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* adding link to doc for port forwarding

* Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>
Co-authored-by: Louis-Philippe Lafontaine-Bédard <louisphilippe.lb@unity3d.com>

* [Documentation] Removed useless section

* [Documentation] Applied feedback from PR

* Update Experimental/DedicatedGameServer/README.md

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* chore: updated readme with suggestions

* Update Experimental/DedicatedGameServer/README.md

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* Update Experimental/DedicatedGameServer/README.md

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

* chore: Fixed typos

---------

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>
Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>
Co-authored-by: Paolo Abela <rikudefuffs@gmail.com>
* chore: updated project version to alpha 17

* chore: Updated multiplayer packages

* chore: reserealized proejct settings

* fix: stripped AICharacter animator component from server instances

* chore: disabled default network prefabs generation [skip ci]

* feat: removed Bootstrapper tool [MTT-7632] (#11)

* feat: removed Bootstrapper tool and used serialized fields instead [MTT-7632]

* fix: fixed faulty initialization due to race conditions

* chore: added comments and error logs
* importing door scripts, models and animations from boss room

* adding doors to environment

* changing match duration to 5 minutes

* feat: Added logic that allows doors to be opened if at least one player is nearby, and to display the related UI on clients
chore: removed FloorSwitch assets

* feat: players can now be detected by doors when they collide

* feat: added "OpenDoor" input detection

* feat: doors open when a player asks them to do so

---------

Co-authored-by: LPLafontaineB <louisphilippe.lb@unity3d.com>
* feat: Added predicted and reconciled UI for InteractiveDoor

* fix: fixed scaling of door interaction UI

* chore: updated CI windows image

---------

Co-authored-by: Paolo Abela <rikudefuffs@gmail.com>
* chore: updated README

* chore: Apply suggestions from code review

Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>

---------

Co-authored-by: Paolo Abela <rikudefuffs@gmail.com>
Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>
* URP settings updates: deleted 2D version and replaced with 3D version

* added colors and landmarks to the enviro, reorganized enviro prefab

* updated UI with stylesheet from other samples

* Added character color shader

* updated player colors

* Color updates and the addition of player icons

* Reorg of environment prefab, reimplementation of character numbers

* deletion of unneeded assets

* removed debugging method

* adjusted URP asset to minimize shadow artifacts

* environment tweaks

* slightly update door UI

* moved a pillar to be in desired position

* chore: Updated NGO to 1.8.0 to match the version ran in the CI

* deleted unused script

* made unnecessarily public class internal, also cleaned out some redundant code

---------

Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>
* chore: added missing newline to readme

* chore: optimization. stripped out all default rendering, UI and audio components
* chore: fixed CI tests not running properly

* chore: (CI) updated Windows image and added specific editor version

* chore: (CI) updated mac image
@RikuTheFuffs RikuTheFuffs requested a review from a team as a code owner March 20, 2024 11:47
@unity-cla-assistant
Copy link

unity-cla-assistant commented Mar 20, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
3 out of 4 committers have signed the CLA.

✅ jilfranco-unity
✅ RikuTheFuffs
✅ fernando-cortez
❌ Louis-Philippe Lafontaine-Bédard


Louis-Philippe Lafontaine-Bédard seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Contributor

@fernando-cortez fernando-cortez left a comment

Choose a reason for hiding this comment

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

We'll have to reinvestigate the Yamato jobs created, but for a future PR. Seems good otherwise though.

Have @jilfranco-unity's comments from #159 been addressed here? If so, I'll approve right away!

Edit: I also edited the Yamato Pull Request status check on the repo settings for PRs against main since the name changed inside this PR. Just a heads-up. That seemed to fix the status checks!

On that note too, CLA is still a blocker. You can temporarily disable that before closing, reopen, and re-enable to workaround this issue.

@RikuTheFuffs
Copy link
Contributor Author

Have @jilfranco-unity's comments from #159 been addressed here? If so, I'll approve right away!

@fernando-cortez yes!

On that note too, CLA is still a blocker. You can temporarily disable that before closing, reopen, and re-enable to workaround this issue.

I have the permissions to bypass branch protections, it should be enough to merge

Copy link
Contributor

@fernando-cortez fernando-cortez left a comment

Choose a reason for hiding this comment

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

Looks great! Happy to have this in! 🎉

@RikuTheFuffs RikuTheFuffs merged commit 56154f1 into main Mar 22, 2024
@RikuTheFuffs RikuTheFuffs deleted the sample/DGS-2 branch March 22, 2024 12:05
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.

5 participants