* feat: dgs core [MTT-6058] (#1)
* Creating base project based on NGO template
* feat: adding dedicated server package to DGS sample [MTT-6834] (#2)
* 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
* feature: adding DGS sample to CI [MTT-7459] (#3)
* 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
* feat: player character and base level design [MTT-6059][MTT-7372][MTT-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
* feat: DGS Sample AI characters [MTT-6062] (#6)
* 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
* feature: add readme to DGS sample (#7)
* 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>
* Project version upgrade + mini fix [MTT-7789] (#10)
* 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
* Doors integration [MTT-6061] (#12)
* 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>
* chore: updated multiplayer packages to solve UGS integration issues
* DGS door UI (#13)
* 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>
* DGS readme corrections [MTT-7869] (#14)
* 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>
* Feature: Dedicated Game Server Sample Art Pass [MTT-7403] (#8)
* 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>
* [DGS] Unneded systems strip [MTT-8054] (#15)
* chore: added missing newline to readme
* chore: optimization. stripped out all default rendering, UI and audio components
* Fixed incorrect CI settings (#16)
* chore: fixed CI tests not running properly
* chore: (CI) updated Windows image and added specific editor version
* chore: (CI) updated mac image
* chore: updated dedicated server and multiplayer play mode packages to 1.0.0 (#18)
* chore: updated documentation links
* chore: removed unneeded folders
* chore: added instructions related to how to change the amount of players in a section [skip ci]
---------
Co-authored-by: Louis-Philippe Lafontaine-Bédard <louisphilippe.lb@unity3d.com>
Co-authored-by: Vic Cooper <vic.cooper@unity3d.com>
Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>
Co-authored-by: Fernando Cortez <fernando.cortez@unity3d.com>
Co-authored-by: Jil Franco <jillian.franco@unity3d.com>
* Added client anticipation sample
* Added some extra comments.
* Pointing at the git repo instead of local repo.
MTT-8052
* Readme
* Fix accidentally replaying one input frame twice on each reanticipation.
* Adjusted sample based on API change in the SDK (working in real time rather than ticks)
* A few small updates:
- Ensure consistent behavior between sliders for variable E (client should jump from the end to the beginning instead of interpolating)
- Change player movement to happen in FixedUpdate for consistency of simulation (and adjusted input handling to account for that)
- Show how transforms can smooth conditionally and snap when the smooth distance is too great
* Small updates:
- Added control over latency and jitter in the UI
- Fixed a timing issue with how ValueE is updated so it exactly matches the server now
- Added a slider to control smooth duration for the network variables
- Added some extra comments
* typo
* Address review feedback.
* - Added the ability to adjust latency and jitter simulations while connected (via a disconnect and reconnect)
- Added smoothing on the server side for Value C and for the player character to show how a host can still perform smoothing on received inputs.
* Limited axes of synchronization for the player object to only those that are used.
* Updated netcode for gameobjects package commit hash.
* Readme updates
* Updated netcode for gameobjects package commit hash.
* [Project] ParrelSync's cloens are gitignored
* [Feature] Added an example scene with basic character controller and connection functionality
[Project] Added TextMeshPro's assets
* [Optimization] Marked environemnt objects as static, moved them to another layer which doesn't self-collide
* [Feature] Added a script to manage and change the color of a ColoredCube using NetworkVariables and RPCs
[Project] Added ColoredCube prefab
[Project] Grouped assets specific to this scene under a specific folder
* [Refactoring] Code cleanup
* [Project] Added SpriteEditor package
* [UI] Added a SpeechBubble to the objects in the scene to better explain what they do
* [Feature] Cubes speech bubbles only appear when the local player is close enough to them
* [Project] Removed unneeded packages and added URP package
* [Project] Converted materials to URP
* [VFX] Added Post processing
* [Documentation] (API Diorama) Added README
* [UI] (API Diorama) The color of the button representing the selected network mode (Host/Client/Server) changes when a network mode is selected
* [UI] (API Diorama) (no patch) Improved polishing of the buttons used to start the Networked session
[UI] Added a game UI that explains the controls
* [Tutorial] (API Diorama) Added Welcome Dialog
[Project] (API Diorama) Added In-editor tutorial packages
* [Tutorial] (API Diorama) Added external links to the table of content
[Tutorial] (WIP) (API Diorama) Added first steps of tutorial 1
[UX] (API Diorama) Unlocked mouse while a player character is in the scene
* [Bugfix] (no patch) (API Diorama) Removed duplicated audio listener
* [Bugfix] (no patch) (API Diorama) Fixed player not reacting to input
* [UI] (no patch) (API Diorama) Moved Color Manager script higher in the ColoredCube's inspector for visibility
* [Tutorial] (API Diorama) Added a tutorial about NetworkVariables and RPCs
* [Project] Fixed player prefab's layer
* [Project] Classes cleanup
* [Project] Added UnitySceneReference package
* [Feature] Added a screen selection scene
[Project] Renamed existing scenes to match their purpose
* [Project] Updated executable name and default resolution
* [System] Elements of the screen selection can now have images
* [Project] Added representative image for the "NetworkVariable Vs RPC" scene
* [Tutorial] Selecting "i'll explore on my own" in the welcome dialog will open the diorama selection scene
* [Project] Added documentation
* [CI] Added Pull request template
* [Tutorial] (no patch) Added Github issues link to the table of content
* [Tutorial] (no patch) Mentioned ParrelSync at the end of the tutorial
* [Project] Updated NGO to 1.2.0
* [Project] Removed custom implementation fo ClientNetworkAnimator to use the one from BossRoom instead
* [Bugfix] (no patch) Fixed wrong layers of scene objects that caused players to interact weirdly with them
* [Bugfix] (no patch) Fixed OnServerChangeColorServerRpc being invokable only by the host
* [Refactoring] Removed dead code
* [Project] (no patch) Moved pull request template to the root of the repository
* [Project] Changed the structure of the project to make it easier to find Diorama scenes
* [Project] Moved reusable assets and APIs to the common folder
* [Project] Added boilerplate scene for "NetworkVariables" example
* [Feature] Added custom data types synchronization example to the NetworkVariables example scene
* [Tutorials] (API Diorama) Grouped tutorial in a specific category of the Table Of Content
[Tutorial] (API Diorama) Added a tutorial about NetworkVariables and RPCs
* [Project] Removed unneeded prefab
* [Feature] (API Diorama) Added a new scene to display the usage of RPCs
[Project] (API Diorama) Moved SpeechBubble prefab and scripts to the Common folder
[project] Updated build settings to include the new scene
* [Tutorials] (API Diorama) Fixed typo
* [Tutorials] (API Diorama) Completion Dialogs no longer self-close after an option that opens an external link is selected
[Tutorials] (API Diorama) Added tutorial for RPCs scene
* [UI] (API Diorama) Added a "Disconnect" button
[System] Handled disconnection case in script behaviours
* [Change] Used non-swear words as swear words
[Change] Changed usernames
* [Bugfix] Fixed NetworkObjects not being despawned upon server disconnection
* [Bugfix] Fixed missing status checks in server-managed networked classes
* [Refactoring] Fixed typo
* [UI] Improved clarity of instructions in the UI
[UI] Fixed UI scaling issues at different resolutions
* [UI] Added a "Quit scene" button to go back to the Selection screen from any scene while playing
* [Bugfix] (API Diorama) Fixed multiple NetworkManager staying around when switching between scenes after a disconnection
* [Bugfix] (API Diorama) Fixed ptotential NullReferenceException when disconnecting
* [Tutorial] Improved clarity around why selecting the Host mode is what the tutorials recommend [skip ci]
* [UI] Added a "server-only" overlay for when a the scenes are running in server-only mode
* [Refactoring] Removed dead code
* [Refactoring] Renamed ChatManager to MoodManager so that users don't think that we're suggesting a production-ready implementation of a Chat
[Project] Moved PositionOffsetKeeper to an utils folder
* [Tutorial] Fixed typo
Co-authored-by: LPLafontaineB <louisphilippe.lb@unity.com>
* [UI] Added more information in the server-only overlay
* [Refatoring] Removed dead code
* [Project] Grouped common scene objects under an "Environment" prefab
* [Project] Added an editor-only scene light in the selection screen to avoid light artifacts when switching scenes
* [Project] Moved animations to common folder
* [Projcet] (API Diorama) Added ProximityChecks Diorama Scene (WIP)
* [Project] (Diorama) Added Proximity Checks Diorama to the Selection Screen and build settings
* [UI] (no patch) (Diorama) Added a dynamic visual indicator of Proximity range in the ProximityChecks scene
* [System] (Diorama) Made NetvarVsRPC scene character-free
* [Project] Enabled connetion approval in RPC scene to allow custom spawn logic
[Project] Added barebone Player prefab to RPC scene
[Tutorial] Updated RPC tutorial
[Feature] Players in RPC scene spawn at random positions to not overlap
* [Tutorial] Added tutorial for proximity checks and local interactions
* [Tutorial] Copy adjustements + Added highlighting to relevant scripts in project browser
* Update Basic/APIDiorama/Assets/Common/Scripts/DioramaUtilities.cs
Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com>
* Update Basic/APIDiorama/Assets/UseCaseSamples/NetworkVariables/Scripts/CharacterManager.cs
Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com>
* Update Basic/APIDiorama/Assets/UseCaseSamples/ProximityChecks/Scripts/ProximityChecker.cs
Co-authored-by: Fernando Cortez <fernando.cortez@unity3d.com>
* [Project] Removed unnecessary files and dependencies
* [Project] Removed unneeded files [skip ci]
* [Refactoring] Minor refactorings, removed unneeded files
* [System] Added examples about using ProximityChecker events instead of polling
* [Refactoring] Removed unnecessary code for GameUI's initialization
* [Project] asmdef references are now by name instead of GUID
* [Refactoring] Improved PlayerSpawnManager example
* [Project] Updated readme
* [Project] Fixed typos
* [Refactoring] Displayed usage of NetworkManager.Singleton.LocalClient.PlayerObject in ProximityChecker to double down on netcode-specific learnings
* [Project] Removed "devlocker.utils.scenereference" package
* [Project] Added more in-code explanations.
* [Bugfix] Updated scene names in SelectionScreen
* [Project] Removed dead references
* [Project] Fixed typo
* [Project] Removed Third Party Notice [skip ci]
* [Project] Updated PR template [skip ci]
* [Refactoring] Added customized namespaces to each diorama
* [Project] Added third party notices for ParrelSync
* Added basic project tests (#115)
* [CI] Added tests to ensure no broken assets or scene references are shipped
* [CI] Added APIDiorama to CI
* Feature: Art Pass [MTT-5907] (#133)
* first pass of art pass
* ui and material color tweaks and button outline implementation
* updated spawned obj color
* fixed lighting in this scene
* background color lighted slightly
* updated welcome dialog art
* updated tutorial thumbnail images
* scene and tutorial thumbnail image updates
* updated rpc and netvar vs rpc images per comments
* updated texture type
* updated the images to be a little be more polished and also updated image types
* (Api diorama) Updated to latest LTS and NGO (#MTT-6884) (#137)
[Project] Updated to latest 2022 LTS
[Tutorial] Enabled tutorial welcome dialog at startup
Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>
* Renamed "Api diorama" into "Multiplayer Use Cases" (#MTT-6885) (#141)
* [Refactoring] Renamed to "MultiplayerUseCase" all code-related references to "APIDiorama"
* [Project] Renamed "APIDiorama" folder into "Multiplayer Use Cases"
[Tutorial] Fixed Scritps not being highlighted properly in the inspector during tutorials
* [Documentation] minor fix
* [Project] Enabled IET welcome dialog at first startup
---------
Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>
* [CI] Updated CI script to reference 2022 LTS and the renamed project
* [Project] Moved "Multiplayer Use Cases" sample to the Experimental folder
* [Project] Updated readme
* [CI] Fixed path of Multiplayer Use Cases sample in project.metafile
* Update Experimental/MultiplayerUseCases/Packages/manifest.json
Co-authored-by: Fernando Cortez <fernando.cortez@unity3d.com>
* [Project] Updated packages
---------
Co-authored-by: LPLafontaineB <louisphilippe.lb@unity.com>
Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com>
Co-authored-by: Fernando Cortez <fernando.cortez@unity3d.com>
Co-authored-by: Jil Franco <89089503+jilfranco-unity@users.noreply.github.com>
Co-authored-by: Paolo Abela <paolo.abela@unity3d.com>