├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ ├── activation.yml │ ├── update-pages.yml │ └── update-unity-package.yml ├── .gitignore ├── CONTRIBUTING.md ├── Demos ├── Console │ ├── .gitignore │ ├── Console.sln │ ├── ConsoleClient │ │ ├── ConsoleClient.csproj │ │ └── Program.cs │ └── ConsoleServer │ │ ├── ConsoleServer.csproj │ │ └── Program.cs ├── MonoGame │ ├── .gitignore │ ├── Common │ │ ├── Common.csproj │ │ └── MessageExtensions.cs │ ├── MonoGame.sln │ ├── MonoGameClient │ │ ├── ExampleGame.cs │ │ ├── MonoGameClient.csproj │ │ ├── NetworkManager.cs │ │ ├── Player.cs │ │ └── Program.cs │ └── Server │ │ ├── Player.cs │ │ ├── Program.cs │ │ └── Server.csproj ├── README.md └── Unity │ ├── DedicatedServerDemo │ ├── Client │ │ ├── .gitignore │ │ ├── .vsconfig │ │ ├── Assets │ │ │ ├── Materials.meta │ │ │ ├── Materials │ │ │ │ ├── Ground.mat │ │ │ │ ├── Ground.mat.meta │ │ │ │ ├── LocalPlayer.mat │ │ │ │ ├── LocalPlayer.mat.meta │ │ │ │ ├── Player.mat │ │ │ │ ├── Player.mat.meta │ │ │ │ ├── Skybox_Mat.mat │ │ │ │ └── Skybox_Mat.mat.meta │ │ │ ├── Prefabs.meta │ │ │ ├── Prefabs │ │ │ │ ├── LocalPlayer.prefab │ │ │ │ ├── LocalPlayer.prefab.meta │ │ │ │ ├── Player.prefab │ │ │ │ └── Player.prefab.meta │ │ │ ├── Presets.meta │ │ │ ├── Presets │ │ │ │ ├── AudioCompressedInMemory.preset │ │ │ │ ├── AudioCompressedInMemory.preset.meta │ │ │ │ ├── AudioStreaming.preset │ │ │ │ ├── AudioStreaming.preset.meta │ │ │ │ ├── Defaults.meta │ │ │ │ ├── Defaults │ │ │ │ │ ├── AlbedoTexture_Default.preset │ │ │ │ │ ├── AlbedoTexture_Default.preset.meta │ │ │ │ │ ├── AudioDecompressOnLoad.preset │ │ │ │ │ ├── AudioDecompressOnLoad.preset.meta │ │ │ │ │ ├── DirectionalLight_Default.preset │ │ │ │ │ └── DirectionalLight_Default.preset.meta │ │ │ │ ├── NormalTexture.preset │ │ │ │ ├── NormalTexture.preset.meta │ │ │ │ ├── UtilityTexture.preset │ │ │ │ └── UtilityTexture.preset.meta │ │ │ ├── Scenes.meta │ │ │ ├── Scenes │ │ │ │ ├── Main.unity │ │ │ │ └── Main.unity.meta │ │ │ ├── Scripts.meta │ │ │ ├── Scripts │ │ │ │ ├── CameraController.cs │ │ │ │ ├── CameraController.cs.meta │ │ │ │ ├── NetworkManager.cs │ │ │ │ ├── NetworkManager.cs.meta │ │ │ │ ├── Player.cs │ │ │ │ ├── Player.cs.meta │ │ │ │ ├── PlayerController.cs │ │ │ │ ├── PlayerController.cs.meta │ │ │ │ ├── UIManager.cs │ │ │ │ └── UIManager.cs.meta │ │ │ ├── Settings.meta │ │ │ └── Settings │ │ │ │ ├── ForwardRenderer.asset │ │ │ │ ├── ForwardRenderer.asset.meta │ │ │ │ ├── SampleSceneProfile.asset │ │ │ │ ├── SampleSceneProfile.asset.meta │ │ │ │ ├── UniversalRP-HighQuality.asset │ │ │ │ ├── UniversalRP-HighQuality.asset.meta │ │ │ │ ├── UniversalRP-LowQuality.asset │ │ │ │ ├── UniversalRP-LowQuality.asset.meta │ │ │ │ ├── UniversalRP-MediumQuality.asset │ │ │ │ └── UniversalRP-MediumQuality.asset.meta │ │ ├── Packages │ │ │ ├── manifest.json │ │ │ └── packages-lock.json │ │ └── ProjectSettings │ │ │ ├── AudioManager.asset │ │ │ ├── ClusterInputManager.asset │ │ │ ├── DynamicsManager.asset │ │ │ ├── EditorBuildSettings.asset │ │ │ ├── EditorSettings.asset │ │ │ ├── GraphicsSettings.asset │ │ │ ├── InputManager.asset │ │ │ ├── NavMeshAreas.asset │ │ │ ├── PackageManagerSettings.asset │ │ │ ├── Physics2DSettings.asset │ │ │ ├── PresetManager.asset │ │ │ ├── ProjectSettings.asset │ │ │ ├── ProjectVersion.txt │ │ │ ├── QualitySettings.asset │ │ │ ├── TagManager.asset │ │ │ ├── TimeManager.asset │ │ │ ├── URPProjectSettings.asset │ │ │ ├── UnityConnectSettings.asset │ │ │ ├── VFXManager.asset │ │ │ ├── VersionControlSettings.asset │ │ │ └── XRSettings.asset │ └── Server │ │ ├── .gitignore │ │ ├── .vsconfig │ │ ├── Assets │ │ ├── Prefabs.meta │ │ ├── Prefabs │ │ │ ├── Player.prefab │ │ │ └── Player.prefab.meta │ │ ├── Presets.meta │ │ ├── Presets │ │ │ ├── AudioCompressedInMemory.preset │ │ │ ├── AudioCompressedInMemory.preset.meta │ │ │ ├── AudioStreaming.preset │ │ │ ├── AudioStreaming.preset.meta │ │ │ ├── Defaults.meta │ │ │ ├── Defaults │ │ │ │ ├── AlbedoTexture_Default.preset │ │ │ │ ├── AlbedoTexture_Default.preset.meta │ │ │ │ ├── AudioDecompressOnLoad.preset │ │ │ │ ├── AudioDecompressOnLoad.preset.meta │ │ │ │ ├── DirectionalLight_Default.preset │ │ │ │ └── DirectionalLight_Default.preset.meta │ │ │ ├── NormalTexture.preset │ │ │ ├── NormalTexture.preset.meta │ │ │ ├── UtilityTexture.preset │ │ │ └── UtilityTexture.preset.meta │ │ ├── Scenes.meta │ │ ├── Scenes │ │ │ ├── Main.unity │ │ │ └── Main.unity.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── NetworkManager.cs │ │ │ ├── NetworkManager.cs.meta │ │ │ ├── Player.cs │ │ │ └── Player.cs.meta │ │ ├── Settings.meta │ │ └── Settings │ │ │ ├── ForwardRenderer.asset │ │ │ ├── ForwardRenderer.asset.meta │ │ │ ├── SampleSceneProfile.asset │ │ │ ├── SampleSceneProfile.asset.meta │ │ │ ├── UniversalRP-HighQuality.asset │ │ │ ├── UniversalRP-HighQuality.asset.meta │ │ │ ├── UniversalRP-LowQuality.asset │ │ │ ├── UniversalRP-LowQuality.asset.meta │ │ │ ├── UniversalRP-MediumQuality.asset │ │ │ └── UniversalRP-MediumQuality.asset.meta │ │ ├── Packages │ │ ├── manifest.json │ │ └── packages-lock.json │ │ └── ProjectSettings │ │ ├── AudioManager.asset │ │ ├── ClusterInputManager.asset │ │ ├── DynamicsManager.asset │ │ ├── EditorBuildSettings.asset │ │ ├── EditorSettings.asset │ │ ├── GraphicsSettings.asset │ │ ├── InputManager.asset │ │ ├── NavMeshAreas.asset │ │ ├── PackageManagerSettings.asset │ │ ├── Physics2DSettings.asset │ │ ├── PresetManager.asset │ │ ├── ProjectSettings.asset │ │ ├── ProjectVersion.txt │ │ ├── QualitySettings.asset │ │ ├── TagManager.asset │ │ ├── TimeManager.asset │ │ ├── URPProjectSettings.asset │ │ ├── UnityConnectSettings.asset │ │ ├── VFXManager.asset │ │ ├── VersionControlSettings.asset │ │ └── XRSettings.asset │ └── PlayerHostedDemo │ ├── .gitignore │ ├── .vsconfig │ ├── Assets │ ├── Materials.meta │ ├── Materials │ │ ├── Ground.mat │ │ ├── Ground.mat.meta │ │ ├── LocalPlayer.mat │ │ ├── LocalPlayer.mat.meta │ │ ├── Player.mat │ │ ├── Player.mat.meta │ │ ├── Skybox_Mat.mat │ │ └── Skybox_Mat.mat.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── LocalPlayer.prefab │ │ ├── LocalPlayer.prefab.meta │ │ ├── Player.prefab │ │ └── Player.prefab.meta │ ├── Presets.meta │ ├── Presets │ │ ├── AudioCompressedInMemory.preset │ │ ├── AudioCompressedInMemory.preset.meta │ │ ├── AudioStreaming.preset │ │ ├── AudioStreaming.preset.meta │ │ ├── Defaults.meta │ │ ├── Defaults │ │ │ ├── AlbedoTexture_Default.preset │ │ │ ├── AlbedoTexture_Default.preset.meta │ │ │ ├── AudioDecompressOnLoad.preset │ │ │ ├── AudioDecompressOnLoad.preset.meta │ │ │ ├── DirectionalLight_Default.preset │ │ │ └── DirectionalLight_Default.preset.meta │ │ ├── NormalTexture.preset │ │ ├── NormalTexture.preset.meta │ │ ├── UtilityTexture.preset │ │ └── UtilityTexture.preset.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── Main.unity │ │ └── Main.unity.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── NetworkManager.cs │ │ ├── NetworkManager.cs.meta │ │ ├── Player.meta │ │ ├── Player │ │ │ ├── CameraController.cs │ │ │ ├── CameraController.cs.meta │ │ │ ├── Player.cs │ │ │ ├── Player.cs.meta │ │ │ ├── PlayerController.cs │ │ │ └── PlayerController.cs.meta │ │ ├── UIManager.cs │ │ └── UIManager.cs.meta │ ├── Settings.meta │ └── Settings │ │ ├── ForwardRenderer.asset │ │ ├── ForwardRenderer.asset.meta │ │ ├── SampleSceneProfile.asset │ │ ├── SampleSceneProfile.asset.meta │ │ ├── UniversalRP-HighQuality.asset │ │ ├── UniversalRP-HighQuality.asset.meta │ │ ├── UniversalRP-LowQuality.asset │ │ ├── UniversalRP-LowQuality.asset.meta │ │ ├── UniversalRP-MediumQuality.asset │ │ └── UniversalRP-MediumQuality.asset.meta │ ├── Packages │ ├── manifest.json │ └── packages-lock.json │ └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── PackageManagerSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── URPProjectSettings.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── VersionControlSettings.asset │ └── XRSettings.asset ├── Docs ├── .gitignore ├── api │ └── .gitignore ├── apidoc │ ├── MessageSendMode.md │ ├── Riptide.md │ ├── Transports │ │ ├── Tcp │ │ │ └── Tcp.md │ │ ├── Transports.md │ │ └── Udp │ │ │ └── Udp.md │ └── Utils │ │ └── Utils.md ├── apifilter.yml ├── docfx.json ├── images │ ├── down-arrow.svg │ ├── favicon.ico │ ├── logo.png │ └── sponsor-heart.png ├── index.md ├── manual │ ├── guides │ │ ├── build-docs.md │ │ └── send-modes-explained.md │ ├── overview │ │ ├── about-riptide.md │ │ ├── faq.md │ │ ├── get-started.md │ │ ├── getting-started.md │ │ └── installation.md │ ├── toc.yml │ └── updates │ │ ├── guides │ │ ├── update-to-v2.md │ │ └── updating-to-v2.md │ │ └── release-notes │ │ ├── v2.0.0.md │ │ ├── v2.1.0.md │ │ ├── v2.1.1.md │ │ ├── v2.1.2.md │ │ └── v2.2.0.md ├── templates │ └── riptide │ │ ├── ManagedReference.html.primary.js │ │ ├── layout │ │ └── _master.tmpl │ │ ├── partials │ │ ├── affix.tmpl.partial │ │ ├── class.header.tmpl.partial │ │ ├── class.memberpage.tmpl.partial │ │ ├── collection.tmpl.partial │ │ ├── description.head.tmpl.partial │ │ ├── enum.tmpl.partial │ │ ├── footer.tmpl.partial │ │ ├── head.tmpl.partial │ │ ├── li.tmpl.partial │ │ ├── namespace.tmpl.partial │ │ └── title.tmpl.partial │ │ ├── styles │ │ ├── codehighlighting.css │ │ ├── config.css │ │ ├── docfx.css │ │ ├── docfx.js │ │ └── riptide.css │ │ └── toc.html.js └── toc.yml ├── LICENSE.md ├── README.md ├── RiptideNetworking ├── .editorconfig ├── .gitignore ├── RiptideNetworking.sln ├── RiptideNetworking │ ├── Client.cs │ ├── Connection.cs │ ├── EventArgs.cs │ ├── Exceptions.cs │ ├── IMessageSerializable.cs │ ├── Message.cs │ ├── MessageHandlerAttribute.cs │ ├── MessageRelayFilter.cs │ ├── Peer.cs │ ├── PendingMessage.cs │ ├── RiptideNetworking.csproj │ ├── Server.cs │ ├── Transports │ │ ├── EventArgs.cs │ │ ├── IClient.cs │ │ ├── IPeer.cs │ │ ├── IServer.cs │ │ ├── Tcp │ │ │ ├── TcpClient.cs │ │ │ ├── TcpConnection.cs │ │ │ ├── TcpPeer.cs │ │ │ └── TcpServer.cs │ │ └── Udp │ │ │ ├── UdpClient.cs │ │ │ ├── UdpConnection.cs │ │ │ ├── UdpPeer.cs │ │ │ └── UdpServer.cs │ └── Utils │ │ ├── Bitfield.cs │ │ ├── ConnectionMetrics.cs │ │ ├── Converter.cs │ │ ├── DelayedEvents.cs │ │ ├── Extensions.cs │ │ ├── Helper.cs │ │ ├── PriorityQueue.cs │ │ ├── RiptideLogger.cs │ │ └── RollingStat.cs ├── nuget-readme.md └── package-icon.png └── UPDATING.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: tom-weiland # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/workflows/activation.yml: -------------------------------------------------------------------------------- 1 | name: Acquire Unity Activation File 2 | 3 | on: 4 | workflow_dispatch: {} 5 | 6 | jobs: 7 | activation: 8 | name: Request manual activation file 🔑 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Request file 12 | id: getManualLicenseFile 13 | uses: game-ci/unity-request-activation-file@v2 14 | 15 | - name: Expose as artifact 16 | uses: actions/upload-artifact@v2 17 | with: 18 | name: ${{ steps.getManualLicenseFile.outputs.filePath }} 19 | path: ${{ steps.getManualLicenseFile.outputs.filePath }} -------------------------------------------------------------------------------- /.github/workflows/update-pages.yml: -------------------------------------------------------------------------------- 1 | name: Update Documentation Site 2 | 3 | on: workflow_dispatch 4 | 5 | permissions: 6 | contents: write 7 | 8 | jobs: 9 | publish-docs: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v3 14 | 15 | - name: Dotnet Setup 16 | uses: actions/setup-dotnet@v3 17 | with: 18 | dotnet-version: 7.x 19 | 20 | - name: Install docfx 21 | run: dotnet tool install -g docfx --version 2.70.1 22 | 23 | - name: Build 24 | run: docfx Docs/docfx.json 25 | 26 | - name: Deploy 27 | uses: JamesIves/github-pages-deploy-action@releases/v4 28 | with: 29 | branch: gh-pages 30 | folder: Docs/_site 31 | commit-message: Update site -------------------------------------------------------------------------------- /.github/workflows/update-unity-package.yml: -------------------------------------------------------------------------------- 1 | name: Update Unity Package 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v3 14 | 15 | - name: Delete .cs files from package branch 16 | run: | 17 | git fetch 18 | git checkout unity-package 19 | find Packages/Core/Runtime/Core -name "*.cs" -type f -delete 20 | git config --global user.email "51303091+tom-weiland@users.noreply.github.com" 21 | git config --global user.name "Tom Weiland" 22 | git add Packages 23 | git commit -m "Update package" 24 | 25 | - name: Setup .NET Core SDK 26 | uses: actions/setup-dotnet@v2.1.0 27 | with: 28 | dotnet-version: 3.1 29 | 30 | - name: Build Riptide 31 | run: | 32 | git checkout main 33 | dotnet build RiptideNetworking/RiptideNetworking.sln 34 | 35 | - name: Checkout package branch 36 | run: | 37 | git checkout unity-package 38 | git add Packages 39 | git commit --amend --no-edit 40 | 41 | - name: Create LFS file list 42 | run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id 43 | 44 | - name: Restore LFS cache 45 | uses: actions/cache@v3 46 | id: lfs-cache 47 | with: 48 | path: .git/lfs 49 | key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }} 50 | 51 | - name: Git LFS pull 52 | run: | 53 | git lfs pull 54 | git add . 55 | git reset --hard 56 | 57 | - name: Restore Library cache 58 | uses: actions/cache@v3 59 | with: 60 | path: Library 61 | key: unity-package-project-library 62 | 63 | - name: Unity builder 64 | uses: game-ci/unity-builder@v2.1.1 65 | env: 66 | UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} 67 | UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} 68 | UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} 69 | with: 70 | targetPlatform: StandaloneWindows # This field is required, but won't actually be used because the build method doesn't do anything 71 | buildMethod: MetaGenerator.Build.GenerateMetaFiles 72 | 73 | - name: Commit and push changes 74 | run: | 75 | git add Packages 76 | git commit --amend --no-edit 77 | git push 78 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated Unity package files should only be committed when on the unity-package branch 2 | /Packages -------------------------------------------------------------------------------- /Demos/Console/Console.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30503.244 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleServer", "ConsoleServer\ConsoleServer.csproj", "{F93E1B66-981A-426F-8C48-649DA54BEFDD}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RiptideNetworking", "..\..\RiptideNetworking\RiptideNetworking\RiptideNetworking.csproj", "{B2230EC5-E7AB-46C4-8741-B19F011B5226}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleClient", "ConsoleClient\ConsoleClient.csproj", "{35C43614-62C1-4ED0-BEA4-363F9B891B83}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {F93E1B66-981A-426F-8C48-649DA54BEFDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {F93E1B66-981A-426F-8C48-649DA54BEFDD}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {F93E1B66-981A-426F-8C48-649DA54BEFDD}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {F93E1B66-981A-426F-8C48-649DA54BEFDD}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {B2230EC5-E7AB-46C4-8741-B19F011B5226}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {B2230EC5-E7AB-46C4-8741-B19F011B5226}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {B2230EC5-E7AB-46C4-8741-B19F011B5226}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {B2230EC5-E7AB-46C4-8741-B19F011B5226}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {35C43614-62C1-4ED0-BEA4-363F9B891B83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {35C43614-62C1-4ED0-BEA4-363F9B891B83}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {35C43614-62C1-4ED0-BEA4-363F9B891B83}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {35C43614-62C1-4ED0-BEA4-363F9B891B83}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | GlobalSection(ExtensibilityGlobals) = postSolution 35 | SolutionGuid = {6551645D-8887-4F1D-B32D-82B451C4EB5B} 36 | EndGlobalSection 37 | EndGlobal 38 | -------------------------------------------------------------------------------- /Demos/Console/ConsoleClient/ConsoleClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | Riptide.Demos.ConsoleClient 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Demos/Console/ConsoleServer/ConsoleServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | Riptide.Demos.ConsoleServer 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Demos/MonoGame/Common/Common.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1 5 | Riptide.Demos.MGCommon 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGame.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30907.101 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoGameClient", "MonoGameClient\MonoGameClient.csproj", "{37A963BB-F97F-4B7C-AB30-8F746488027C}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RiptideNetworking", "..\..\RiptideNetworking\RiptideNetworking\RiptideNetworking.csproj", "{3A42A97E-3B72-4571-92E8-F59BBFBFD783}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{BE9D4B6E-6AD3-479D-81B4-8A58101A6F9B}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{474CC096-E9B4-4B63-9FEC-FA64D0781AA3}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Any CPU = Debug|Any CPU 17 | Release|Any CPU = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {37A963BB-F97F-4B7C-AB30-8F746488027C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {37A963BB-F97F-4B7C-AB30-8F746488027C}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {37A963BB-F97F-4B7C-AB30-8F746488027C}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {37A963BB-F97F-4B7C-AB30-8F746488027C}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {3A42A97E-3B72-4571-92E8-F59BBFBFD783}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {3A42A97E-3B72-4571-92E8-F59BBFBFD783}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {3A42A97E-3B72-4571-92E8-F59BBFBFD783}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {3A42A97E-3B72-4571-92E8-F59BBFBFD783}.Release|Any CPU.Build.0 = Release|Any CPU 28 | {BE9D4B6E-6AD3-479D-81B4-8A58101A6F9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 29 | {BE9D4B6E-6AD3-479D-81B4-8A58101A6F9B}.Debug|Any CPU.Build.0 = Debug|Any CPU 30 | {BE9D4B6E-6AD3-479D-81B4-8A58101A6F9B}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {BE9D4B6E-6AD3-479D-81B4-8A58101A6F9B}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {474CC096-E9B4-4B63-9FEC-FA64D0781AA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {474CC096-E9B4-4B63-9FEC-FA64D0781AA3}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {474CC096-E9B4-4B63-9FEC-FA64D0781AA3}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {474CC096-E9B4-4B63-9FEC-FA64D0781AA3}.Release|Any CPU.Build.0 = Release|Any CPU 36 | EndGlobalSection 37 | GlobalSection(SolutionProperties) = preSolution 38 | HideSolutionNode = FALSE 39 | EndGlobalSection 40 | GlobalSection(ExtensibilityGlobals) = postSolution 41 | SolutionGuid = {1C0287AA-01E6-4BFB-9E4D-CC257CA70EB7} 42 | EndGlobalSection 43 | EndGlobal 44 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGameClient/ExampleGame.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Xna.Framework; 2 | using Microsoft.Xna.Framework.Graphics; 3 | using Microsoft.Xna.Framework.Input; 4 | using Riptide.Utils; 5 | using System; 6 | 7 | namespace Riptide.Demos.MGClient 8 | { 9 | public class ExampleGame : Game 10 | { 11 | public static Texture2D Pixel { get; set; } 12 | 13 | private readonly GraphicsDeviceManager graphics; 14 | private SpriteBatch spriteBatch; 15 | 16 | public ExampleGame() 17 | { 18 | RiptideLogger.Initialize(Console.WriteLine, false); 19 | 20 | graphics = new GraphicsDeviceManager(this) 21 | { 22 | PreferredBackBufferWidth = 800, 23 | PreferredBackBufferHeight = 600 24 | }; 25 | graphics.ApplyChanges(); 26 | 27 | IsMouseVisible = true; 28 | 29 | Exiting += (s, e) => NetworkManager.Client.Disconnect(); 30 | 31 | Pixel = new Texture2D(GraphicsDevice, 1, 1); 32 | Pixel.SetData(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF }); 33 | } 34 | 35 | protected override void Initialize() 36 | { 37 | NetworkManager.Connect(); 38 | 39 | base.Initialize(); 40 | } 41 | 42 | protected override void LoadContent() 43 | { 44 | spriteBatch = new SpriteBatch(GraphicsDevice); 45 | } 46 | 47 | protected override void Update(GameTime gameTime) 48 | { 49 | if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) 50 | Exit(); 51 | 52 | if (Player.List.TryGetValue(NetworkManager.Client.Id, out Player localPlayer)) 53 | localPlayer.Update((float)gameTime.ElapsedGameTime.TotalSeconds); 54 | 55 | NetworkManager.Client.Update(); 56 | base.Update(gameTime); 57 | } 58 | 59 | protected override void Draw(GameTime gameTime) 60 | { 61 | GraphicsDevice.Clear(Color.CornflowerBlue); 62 | spriteBatch.Begin(); 63 | 64 | foreach (Player player in Player.List.Values) 65 | player.Draw(spriteBatch); 66 | 67 | spriteBatch.End(); 68 | base.Draw(gameTime); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGameClient/MonoGameClient.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | WinExe 4 | netcoreapp3.1 5 | false 6 | false 7 | 8 | 9 | 10 | Riptide.Demos.Rudp.MGClient 11 | true 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGameClient/NetworkManager.cs: -------------------------------------------------------------------------------- 1 | namespace Riptide.Demos.MGClient 2 | { 3 | internal class NetworkManager 4 | { 5 | internal static Client Client { get; set; } 6 | 7 | public static void Connect() 8 | { 9 | Client = new Client(); 10 | Client.ClientDisconnected += (s, e) => Player.List.Remove(e.Id); 11 | 12 | Client.Connect("127.0.0.1:7777"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGameClient/Player.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Xna.Framework; 2 | using Microsoft.Xna.Framework.Graphics; 3 | using Microsoft.Xna.Framework.Input; 4 | using Riptide.Demos.MGCommon; 5 | using System.Collections.Generic; 6 | 7 | namespace Riptide.Demos.MGClient 8 | { 9 | internal class Player 10 | { 11 | internal static readonly Dictionary List = new Dictionary(); 12 | 13 | private Vector2 position; 14 | private readonly ushort id; 15 | 16 | internal Player(ushort clientId, Vector2 position) 17 | { 18 | id = clientId; 19 | this.position = position; 20 | } 21 | 22 | internal void Update(float deltaTime) 23 | { 24 | KeyboardState keyboard = Keyboard.GetState(); 25 | int h = (keyboard.IsKeyDown(Keys.A) || keyboard.IsKeyDown(Keys.Left) ? -1 : 0) + (keyboard.IsKeyDown(Keys.D) || keyboard.IsKeyDown(Keys.Right) ? 1 : 0); 26 | int v = (keyboard.IsKeyDown(Keys.W) || keyboard.IsKeyDown(Keys.Up) ? -1 : 0) + (keyboard.IsKeyDown(Keys.S) || keyboard.IsKeyDown(Keys.Down) ? 1 : 0); 27 | 28 | Vector2 pos = new Vector2(h, v); 29 | if (h != 0 && v != 0) 30 | pos = Vector2.Normalize(pos); 31 | 32 | position += pos * deltaTime * 96; 33 | 34 | SendPosition(); 35 | } 36 | 37 | internal void Draw(SpriteBatch spriteBatch) 38 | { 39 | spriteBatch.Draw(ExampleGame.Pixel, position, null, Color.White, 0, Vector2.Zero, 16, SpriteEffects.None, 0); 40 | } 41 | 42 | private void SendPosition() 43 | { 44 | Message message = Message.Create(MessageSendMode.Unreliable, MessageId.PlayerPosition); 45 | message.AddVector2(position); 46 | 47 | NetworkManager.Client.Send(message); 48 | } 49 | 50 | [MessageHandler((ushort)MessageId.PlayerPosition)] 51 | private static void HandlePosition(Message message) 52 | { 53 | ushort id = message.GetUShort(); 54 | Vector2 position = message.GetVector2(); 55 | 56 | if (List.TryGetValue(id, out Player player)) 57 | player.position = position; 58 | } 59 | 60 | [MessageHandler((ushort)MessageId.PlayerSpawn)] 61 | private static void HandleSpawn(Message message) 62 | { 63 | ushort id = message.GetUShort(); 64 | Vector2 position = message.GetVector2(); 65 | 66 | List.Add(id, new Player(id, position)); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Demos/MonoGame/MonoGameClient/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Riptide.Demos.MGClient 4 | { 5 | public static class Program 6 | { 7 | [STAThread] 8 | private static void Main() 9 | { 10 | using var game = new ExampleGame(); 11 | game.Run(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Demos/MonoGame/Server/Player.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Xna.Framework; 2 | using Riptide.Demos.MGCommon; 3 | using System.Collections.Generic; 4 | 5 | namespace Riptide.Demos.MGServer 6 | { 7 | internal class Player 8 | { 9 | internal static readonly Dictionary List = new Dictionary(); 10 | 11 | private readonly ushort id; 12 | private Vector2 position = Vector2.Zero; 13 | 14 | internal Player(ushort clientId) 15 | { 16 | id = clientId; 17 | 18 | foreach (Player otherPlayer in List.Values) 19 | Program.Server.Send(otherPlayer.CreateSpawnMessage(), id); 20 | 21 | List.Add(clientId, this); 22 | Program.Server.SendToAll(CreateSpawnMessage()); 23 | } 24 | 25 | internal static void SendPositions() 26 | { 27 | foreach (Player player in List.Values) 28 | player.SendPosition(); 29 | } 30 | 31 | private Message CreateSpawnMessage() 32 | { 33 | Message message = Message.Create(MessageSendMode.Reliable, MessageId.PlayerSpawn); 34 | message.AddUShort(id); 35 | message.AddVector2(position); 36 | return message; 37 | } 38 | 39 | internal void SendPosition() 40 | { 41 | Message message = Message.Create(MessageSendMode.Unreliable, MessageId.PlayerPosition); 42 | message.AddUShort(id); 43 | message.AddVector2(position); 44 | Program.Server.SendToAll(message, id); 45 | } 46 | 47 | [MessageHandler((ushort)MessageId.PlayerPosition)] 48 | private static void HandlePosition(ushort fromClientId, Message message) 49 | { 50 | if (List.TryGetValue(fromClientId, out Player player)) 51 | player.position = message.GetVector2(); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Demos/MonoGame/Server/Program.cs: -------------------------------------------------------------------------------- 1 | using Riptide.Utils; 2 | using System; 3 | using System.Threading; 4 | 5 | namespace Riptide.Demos.MGServer 6 | { 7 | internal class Program 8 | { 9 | internal static Server Server { get; private set; } 10 | 11 | private static void Main() 12 | { 13 | RiptideLogger.Initialize(Console.WriteLine, false); 14 | 15 | Server = new Server(); 16 | Server.Start(7777, 4); 17 | 18 | Server.ClientConnected += (s, e) => new Player(e.Client.Id); 19 | Server.ClientDisconnected += (s, e) => Player.List.Remove(e.Client.Id); 20 | 21 | while (true) 22 | { 23 | Server.Update(); 24 | Player.SendPositions(); 25 | 26 | Thread.Sleep(10); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Demos/MonoGame/Server/Server.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | Riptide.Demos.MGServer 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Demos/README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 |
YouTube • Discord
5 |

Demos

6 | 7 | **Note:** the [Unity demo](Unity) projects are *not* built to work interchangeably with the [console demo](Console) project. As is, they serve different purposes, and if you try to connect the [Unity client](Unity/DedicatedServerDemo/Client/) to the [console server](Console/ConsoleServer/) (or vice versa), you will get unexpected behavior and/or errors. 8 | 9 | You *can* build a client in Unity and have it connect to a console server just fine, it's just that these demos aren't set up to work that way. 10 | 11 | ## Unity 12 | 13 | Unity Version: 2020.3.25f1 14 | 15 | ### Dedicated Server Demo 16 | 17 | The dedicated server demo shows how to set up connection, disconnection, and *very* basic server-authoritative player movement in Unity. Using two separate projects is not necessary, but helps visualize the separation between server and client. 18 | 19 | ### Player-Hosted Demo 20 | 21 | The player-hosted demo shows how to set up a single project which allows players to host a game or join someone else's. Player movement is client-authoritative in this demo—the host's server logic doesn't perform any validation on the player positions it receives and exists simply to relay the data to all other clients. This means that players could easily cheat, but that generally isn't a concern in player-hosted (often cooperative, non-competitive) games. 22 | 23 | Note that this setup requires you to enter the host's IP and port, which means that players will need to know the IP of the player they're trying to connect to. The host player will need to portforward if they wish to allow others who aren't on the same LAN to join. One way to circumvent the need to portforward is by using a relay server. If you intend to release on Steam, you can even take advantage of their free relay servers by using the [Steam transport](https://github.com/tom-weiland/RiptideSteamTransport). 24 | 25 | ## Console 26 | 27 | Server-client setup using .NET Core console apps. Once connected, clients send several thousand test messages to the server, which—in the case of a two-way test—sends them back as soon as they're received. The tests take around 40 seconds to complete. Note that this demo project has not been extensively tested with more than one client connected at any given time. -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Asset meta data should only be ignored when the corresponding asset is also ignored 18 | !/[Aa]ssets/**/*.meta 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | 63 | # Crashlytics generated file 64 | crashlytics-build.properties 65 | 66 | # Packed Addressables 67 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 68 | 69 | # Temporary auto-generated Android Assets 70 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 71 | /[Aa]ssets/[Ss]treamingAssets/aa/* -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0234ba368eeec9418390da711bfdad0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42daa3ef4f5266c42b7cc13c25acb497 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials/LocalPlayer.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90f24ed7826417f47840d7039d3e8446 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials/Player.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ac2b538ae33c914c8ca225a4138c03d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials/Skybox_Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Skybox_Mat 10 | m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _METALLIC_SETUP _SUNDISK_HIGH_QUALITY 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _SpecGlossMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - _AtmosphereThickness: 0.53 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _Exposure: 1.25 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 1 78 | - _SunDisk: 2 79 | - _SunSize: 0.04 80 | - _SunSizeConvergence: 5 81 | - _UVSec: 0 82 | - _WorkflowMode: 1 83 | - _ZWrite: 1 84 | m_Colors: 85 | - _Color: {r: 1, g: 1, b: 1, a: 1} 86 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 87 | - _GroundColor: {r: 0.6392157, g: 0.6901961, b: 0.7411765, a: 1} 88 | - _SkyTint: {r: 1, g: 1, b: 1, a: 1} 89 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 90 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Materials/Skybox_Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ffaa0b7117ba8c47a9d05ae701d4b4d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c5d0f1b81aea574b9b2c11710f5f930 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Prefabs/LocalPlayer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d5151bcb5961284bb320e3ed73691f4 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Prefabs/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03418b126fa542f46aa6da9a5167bada 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 558255460b74ec04fa70b5570e9327bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/AudioCompressedInMemory.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dd802e4d37c65149922028d3e973832 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/AudioStreaming.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86bcce7f5575b54408aa0f3a7d321039 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/Defaults.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71ea82b02df99c2439e0dc8e4e1ebc24 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/Defaults/AlbedoTexture_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8537455c6c08bd4e8bf0be3707da685 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/Defaults/AudioDecompressOnLoad.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7689051185d12f4298e1ebb2693a29f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/Defaults/DirectionalLight_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 463065d4f17d1d94d848aa127b94dd43 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/NormalTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14a57cf3b9fa1c74b884aa7e0dcf1faa 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Presets/UtilityTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45f7b2e3c78185248b3adbb14429c2ab 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91960e597d291624696ff51d2697e63f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d9f5f522394d724ab0bcb3522606fe1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02a3527b6b33a924e8ec66aa805ea717 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/CameraController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Riptide.Demos.DedicatedClient 4 | { 5 | public class CameraController : MonoBehaviour 6 | { 7 | [SerializeField] private Player player; 8 | [SerializeField] private float sensitivity = 100f; 9 | [SerializeField] private float clampAngle = 85f; 10 | 11 | private float verticalRotation; 12 | private float horizontalRotation; 13 | 14 | private void Start() 15 | { 16 | verticalRotation = transform.localEulerAngles.x; 17 | horizontalRotation = player.transform.eulerAngles.y; 18 | } 19 | 20 | private void Update() 21 | { 22 | if (Input.GetKeyDown(KeyCode.Escape)) 23 | ToggleCursorMode(); 24 | 25 | if (Cursor.lockState == CursorLockMode.Locked) 26 | Look(); 27 | 28 | Debug.DrawRay(transform.position, transform.forward * 2, Color.green); 29 | } 30 | 31 | private void Look() 32 | { 33 | float mouseVertical = -Input.GetAxis("Mouse Y"); 34 | float mouseHorizontal = Input.GetAxis("Mouse X"); 35 | 36 | verticalRotation += mouseVertical * sensitivity; 37 | horizontalRotation += mouseHorizontal * sensitivity; 38 | 39 | verticalRotation = Mathf.Clamp(verticalRotation, -clampAngle, clampAngle); 40 | 41 | transform.localRotation = Quaternion.Euler(verticalRotation, 0f, 0f); 42 | player.transform.rotation = Quaternion.Euler(0f, horizontalRotation, 0f); 43 | } 44 | 45 | private void ToggleCursorMode() 46 | { 47 | Cursor.visible = !Cursor.visible; 48 | 49 | if (Cursor.lockState == CursorLockMode.None) 50 | Cursor.lockState = CursorLockMode.Locked; 51 | else 52 | Cursor.lockState = CursorLockMode.None; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/CameraController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19a9c5c751a1239459c49f30954a3ed9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/NetworkManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94059081fcaed264587f6a4d49c93e59 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/Player.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace Riptide.Demos.DedicatedClient 5 | { 6 | public class Player : MonoBehaviour 7 | { 8 | public static Dictionary list = new Dictionary(); 9 | 10 | [SerializeField] private ushort id; 11 | [SerializeField] private string username; 12 | 13 | public void Move(Vector3 newPosition, Vector3 forward) 14 | { 15 | transform.position = newPosition; 16 | 17 | if (id != NetworkManager.Singleton.Client.Id) // Don't overwrite local player's forward direction to avoid noticeable rotational snapping 18 | transform.forward = forward; 19 | } 20 | 21 | private void OnDestroy() 22 | { 23 | list.Remove(id); 24 | } 25 | 26 | public static void Spawn(ushort id, string username, Vector3 position) 27 | { 28 | Player player; 29 | if (id == NetworkManager.Singleton.Client.Id) 30 | player = Instantiate(NetworkManager.Singleton.LocalPlayerPrefab, position, Quaternion.identity).GetComponent(); 31 | else 32 | player = Instantiate(NetworkManager.Singleton.PlayerPrefab, position, Quaternion.identity).GetComponent(); 33 | 34 | player.name = $"Player {id} ({username})"; 35 | player.id = id; 36 | player.username = username; 37 | list.Add(player.id, player); 38 | } 39 | 40 | #region Messages 41 | [MessageHandler((ushort)ServerToClientId.SpawnPlayer)] 42 | private static void SpawnPlayer(Message message) 43 | { 44 | Spawn(message.GetUShort(), message.GetString(), message.GetVector3()); 45 | } 46 | 47 | [MessageHandler((ushort)ServerToClientId.PlayerMovement)] 48 | private static void PlayerMovement(Message message) 49 | { 50 | ushort playerId = message.GetUShort(); 51 | if (list.TryGetValue(playerId, out Player player)) 52 | player.Move(message.GetVector3(), message.GetVector3()); 53 | } 54 | #endregion 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/Player.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b3bbd8df7ea2ea4593d9bc9f19e0ebb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/PlayerController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Riptide.Demos.DedicatedClient 4 | { 5 | public class PlayerController : MonoBehaviour 6 | { 7 | [SerializeField] private Transform camTransform; 8 | private bool[] inputs; 9 | 10 | private void Start() 11 | { 12 | inputs = new bool[5]; 13 | } 14 | 15 | private void Update() 16 | { 17 | // Sample inputs every frame and store them until they're sent. This ensures no inputs are missed because they happened between FixedUpdate calls 18 | if (Input.GetKey(KeyCode.W)) 19 | inputs[0] = true; 20 | 21 | if (Input.GetKey(KeyCode.S)) 22 | inputs[1] = true; 23 | 24 | if (Input.GetKey(KeyCode.A)) 25 | inputs[2] = true; 26 | 27 | if (Input.GetKey(KeyCode.D)) 28 | inputs[3] = true; 29 | 30 | if (Input.GetKey(KeyCode.Space)) 31 | inputs[4] = true; 32 | } 33 | 34 | private void FixedUpdate() 35 | { 36 | SendInput(); 37 | 38 | // Reset input booleans 39 | for (int i = 0; i < inputs.Length; i++) 40 | inputs[i] = false; 41 | } 42 | 43 | #region Messages 44 | private void SendInput() 45 | { 46 | Message message = Message.Create(MessageSendMode.Unreliable, ClientToServerId.PlayerInput); 47 | message.AddBools(inputs, false); 48 | message.AddVector3(camTransform.forward); 49 | NetworkManager.Singleton.Client.Send(message); 50 | } 51 | #endregion 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/PlayerController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98a18c4cd41655c4c871b20635265c8b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/UIManager.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | namespace Riptide.Demos.DedicatedClient 5 | { 6 | public class UIManager : MonoBehaviour 7 | { 8 | private static UIManager _singleton; 9 | public static UIManager Singleton 10 | { 11 | get => _singleton; 12 | private set 13 | { 14 | if (_singleton == null) 15 | _singleton = value; 16 | else if (_singleton != value) 17 | { 18 | Debug.Log($"{nameof(UIManager)} instance already exists, destroying object!"); 19 | Destroy(value); 20 | } 21 | } 22 | } 23 | 24 | [SerializeField] private InputField usernameField; 25 | [SerializeField] private GameObject connectScreen; 26 | 27 | private void Awake() 28 | { 29 | Singleton = this; 30 | } 31 | 32 | public void ConnectClicked() 33 | { 34 | usernameField.interactable = false; 35 | connectScreen.SetActive(false); 36 | 37 | NetworkManager.Singleton.Connect(); 38 | } 39 | 40 | public void BackToMain() 41 | { 42 | usernameField.interactable = true; 43 | connectScreen.SetActive(true); 44 | } 45 | 46 | #region Messages 47 | public void SendName() 48 | { 49 | Message message = Message.Create(MessageSendMode.Reliable, ClientToServerId.PlayerName); 50 | message.AddString(usernameField.text); 51 | NetworkManager.Singleton.Client.Send(message); 52 | } 53 | #endregion 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Scripts/UIManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 889c040d16fcacc4b9e57596dc1ea7e3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0735c275001a2c84dafdb30deced5d8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/ForwardRenderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 13 | m_Name: ForwardRenderer 14 | m_EditorClassIdentifier: 15 | m_RendererFeatures: [] 16 | m_RendererFeatureMap: 17 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 18 | xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} 19 | shaders: 20 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 21 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 22 | screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, 23 | type: 3} 24 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 25 | tileDepthInfoPS: {fileID: 0} 26 | tileDeferredPS: {fileID: 0} 27 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} 28 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 29 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} 30 | m_OpaqueLayerMask: 31 | serializedVersion: 2 32 | m_Bits: 4294967295 33 | m_TransparentLayerMask: 34 | serializedVersion: 2 35 | m_Bits: 4294967295 36 | m_DefaultStencilState: 37 | overrideStencilState: 0 38 | stencilReference: 0 39 | stencilCompareFunction: 8 40 | passOperation: 0 41 | failOperation: 0 42 | zFailOperation: 0 43 | m_ShadowTransparentReceive: 1 44 | m_RenderingMode: 0 45 | m_AccurateGbufferNormals: 0 46 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/ForwardRenderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a8e21d5c33334b11b34a596161b9360 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/SampleSceneProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10fc4df2da32a41aaa32d77bc913491c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-HighQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-HighQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 1 26 | m_MSAA: 2 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 1 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 1 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 1 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-HighQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19ba41d7c0026c3459d37c2fe90c55a0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-LowQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-LowQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 0 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 0 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 16 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-LowQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a31e9f9f9c9d4b9429ed0d1234e22103 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-MediumQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-MediumQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Assets/Settings/UniversalRP-MediumQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d847b876476d3d6468f5dfcd34266f96 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.15.4", 4 | "com.unity.ide.rider": "2.0.7", 5 | "com.unity.ide.visualstudio": "2.0.12", 6 | "com.unity.ide.vscode": "1.2.4", 7 | "com.unity.render-pipelines.universal": "10.7.0", 8 | "com.unity.test-framework": "1.1.29", 9 | "com.unity.textmeshpro": "3.0.6", 10 | "com.unity.timeline": "1.4.8", 11 | "com.unity.ugui": "1.0.0", 12 | "net.tomweiland.riptide": "https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.2.0", 13 | "com.unity.modules.ai": "1.0.0", 14 | "com.unity.modules.androidjni": "1.0.0", 15 | "com.unity.modules.animation": "1.0.0", 16 | "com.unity.modules.assetbundle": "1.0.0", 17 | "com.unity.modules.audio": "1.0.0", 18 | "com.unity.modules.cloth": "1.0.0", 19 | "com.unity.modules.director": "1.0.0", 20 | "com.unity.modules.imageconversion": "1.0.0", 21 | "com.unity.modules.imgui": "1.0.0", 22 | "com.unity.modules.jsonserialize": "1.0.0", 23 | "com.unity.modules.particlesystem": "1.0.0", 24 | "com.unity.modules.physics": "1.0.0", 25 | "com.unity.modules.physics2d": "1.0.0", 26 | "com.unity.modules.screencapture": "1.0.0", 27 | "com.unity.modules.terrain": "1.0.0", 28 | "com.unity.modules.terrainphysics": "1.0.0", 29 | "com.unity.modules.tilemap": "1.0.0", 30 | "com.unity.modules.ui": "1.0.0", 31 | "com.unity.modules.uielements": "1.0.0", 32 | "com.unity.modules.umbra": "1.0.0", 33 | "com.unity.modules.unityanalytics": "1.0.0", 34 | "com.unity.modules.unitywebrequest": "1.0.0", 35 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 36 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 37 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 38 | "com.unity.modules.unitywebrequestwww": "1.0.0", 39 | "com.unity.modules.vehicles": "1.0.0", 40 | "com.unity.modules.video": "1.0.0", 41 | "com.unity.modules.vr": "1.0.0", 42 | "com.unity.modules.wind": "1.0.0", 43 | "com.unity.modules.xr": "1.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/Main.unity 10 | guid: 1d9f5f522394d724ab0bcb3522606fe1 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, 46 | type: 2} 47 | m_TransparencySortMode: 0 48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 49 | m_DefaultRenderingPath: 1 50 | m_DefaultMobileRenderingPath: 1 51 | m_TierSettings: [] 52 | m_LightmapStripping: 0 53 | m_FogStripping: 0 54 | m_InstancingStripping: 0 55 | m_LightmapKeepPlain: 1 56 | m_LightmapKeepDirCombined: 1 57 | m_LightmapKeepDynamicPlain: 1 58 | m_LightmapKeepDynamicDirCombined: 1 59 | m_LightmapKeepShadowMask: 1 60 | m_LightmapKeepSubtractive: 1 61 | m_FogKeepLinear: 1 62 | m_FogKeepExp: 1 63 | m_FogKeepExp2: 1 64 | m_AlbedoSwatchInfos: [] 65 | m_LightsUseLinearIntensity: 1 66 | m_LightsUseColorTemperature: 0 67 | m_LogWhenShaderIsCompiled: 0 68 | m_AllowEnlightenSupportForUpgradedProject: 1 69 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.3.25f1 2 | m_EditorVersionWithRevision: 2020.3.25f1 (9b9180224418) 3 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 4 16 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Client/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Asset meta data should only be ignored when the corresponding asset is also ignored 18 | !/[Aa]ssets/**/*.meta 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | 63 | # Crashlytics generated file 64 | crashlytics-build.properties 65 | 66 | # Packed Addressables 67 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 68 | 69 | # Temporary auto-generated Android Assets 70 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 71 | /[Aa]ssets/[Ss]treamingAssets/aa/* -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 360495e91f452d64ca28efd166a4eab3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Prefabs/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a066a7f147bcb5a4d9fbb199d77683bb 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 558255460b74ec04fa70b5570e9327bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/AudioCompressedInMemory.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dd802e4d37c65149922028d3e973832 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/AudioStreaming.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86bcce7f5575b54408aa0f3a7d321039 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/Defaults.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71ea82b02df99c2439e0dc8e4e1ebc24 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/Defaults/AlbedoTexture_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8537455c6c08bd4e8bf0be3707da685 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/Defaults/AudioDecompressOnLoad.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7689051185d12f4298e1ebb2693a29f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/Defaults/DirectionalLight_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 463065d4f17d1d94d848aa127b94dd43 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/NormalTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14a57cf3b9fa1c74b884aa7e0dcf1faa 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Presets/UtilityTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45f7b2e3c78185248b3adbb14429c2ab 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 014769463ba89a94ba1f10f4b62b34c0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af3e13601dbbcb04c8e177647a1d0d63 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02a3527b6b33a924e8ec66aa805ea717 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Scripts/NetworkManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee98d97a0c39c244ea0334097141391e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Scripts/Player.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7b310a6b56a3ab409b2707eac791c14 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0735c275001a2c84dafdb30deced5d8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/ForwardRenderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 13 | m_Name: ForwardRenderer 14 | m_EditorClassIdentifier: 15 | m_RendererFeatures: [] 16 | m_RendererFeatureMap: 17 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 18 | xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} 19 | shaders: 20 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 21 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 22 | screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, 23 | type: 3} 24 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 25 | tileDepthInfoPS: {fileID: 0} 26 | tileDeferredPS: {fileID: 0} 27 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} 28 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 29 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} 30 | m_OpaqueLayerMask: 31 | serializedVersion: 2 32 | m_Bits: 4294967295 33 | m_TransparentLayerMask: 34 | serializedVersion: 2 35 | m_Bits: 4294967295 36 | m_DefaultStencilState: 37 | overrideStencilState: 0 38 | stencilReference: 0 39 | stencilCompareFunction: 8 40 | passOperation: 0 41 | failOperation: 0 42 | zFailOperation: 0 43 | m_ShadowTransparentReceive: 1 44 | m_RenderingMode: 0 45 | m_AccurateGbufferNormals: 0 46 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/ForwardRenderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a8e21d5c33334b11b34a596161b9360 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/SampleSceneProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10fc4df2da32a41aaa32d77bc913491c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-HighQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-HighQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 1 26 | m_MSAA: 2 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 1 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 1 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 1 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-HighQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19ba41d7c0026c3459d37c2fe90c55a0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-LowQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-LowQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 0 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 0 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 16 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-LowQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a31e9f9f9c9d4b9429ed0d1234e22103 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-MediumQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-MediumQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Assets/Settings/UniversalRP-MediumQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d847b876476d3d6468f5dfcd34266f96 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.15.4", 4 | "com.unity.ide.rider": "2.0.7", 5 | "com.unity.ide.visualstudio": "2.0.12", 6 | "com.unity.ide.vscode": "1.2.4", 7 | "com.unity.render-pipelines.universal": "10.7.0", 8 | "com.unity.test-framework": "1.1.29", 9 | "com.unity.textmeshpro": "3.0.6", 10 | "com.unity.timeline": "1.4.8", 11 | "com.unity.ugui": "1.0.0", 12 | "net.tomweiland.riptide": "https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.2.0", 13 | "com.unity.modules.ai": "1.0.0", 14 | "com.unity.modules.androidjni": "1.0.0", 15 | "com.unity.modules.animation": "1.0.0", 16 | "com.unity.modules.assetbundle": "1.0.0", 17 | "com.unity.modules.audio": "1.0.0", 18 | "com.unity.modules.cloth": "1.0.0", 19 | "com.unity.modules.director": "1.0.0", 20 | "com.unity.modules.imageconversion": "1.0.0", 21 | "com.unity.modules.imgui": "1.0.0", 22 | "com.unity.modules.jsonserialize": "1.0.0", 23 | "com.unity.modules.particlesystem": "1.0.0", 24 | "com.unity.modules.physics": "1.0.0", 25 | "com.unity.modules.physics2d": "1.0.0", 26 | "com.unity.modules.screencapture": "1.0.0", 27 | "com.unity.modules.terrain": "1.0.0", 28 | "com.unity.modules.terrainphysics": "1.0.0", 29 | "com.unity.modules.tilemap": "1.0.0", 30 | "com.unity.modules.ui": "1.0.0", 31 | "com.unity.modules.uielements": "1.0.0", 32 | "com.unity.modules.umbra": "1.0.0", 33 | "com.unity.modules.unityanalytics": "1.0.0", 34 | "com.unity.modules.unitywebrequest": "1.0.0", 35 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 36 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 37 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 38 | "com.unity.modules.unitywebrequestwww": "1.0.0", 39 | "com.unity.modules.vehicles": "1.0.0", 40 | "com.unity.modules.video": "1.0.0", 41 | "com.unity.modules.vr": "1.0.0", 42 | "com.unity.modules.wind": "1.0.0", 43 | "com.unity.modules.xr": "1.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/Main.unity 10 | guid: af3e13601dbbcb04c8e177647a1d0d63 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, 46 | type: 2} 47 | m_TransparencySortMode: 0 48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 49 | m_DefaultRenderingPath: 1 50 | m_DefaultMobileRenderingPath: 1 51 | m_TierSettings: [] 52 | m_LightmapStripping: 0 53 | m_FogStripping: 0 54 | m_InstancingStripping: 0 55 | m_LightmapKeepPlain: 1 56 | m_LightmapKeepDirCombined: 1 57 | m_LightmapKeepDynamicPlain: 1 58 | m_LightmapKeepDynamicDirCombined: 1 59 | m_LightmapKeepShadowMask: 1 60 | m_LightmapKeepSubtractive: 1 61 | m_FogKeepLinear: 1 62 | m_FogKeepExp: 1 63 | m_FogKeepExp2: 1 64 | m_AlbedoSwatchInfos: [] 65 | m_LightsUseLinearIntensity: 1 66 | m_LightsUseColorTemperature: 0 67 | m_LogWhenShaderIsCompiled: 0 68 | m_AllowEnlightenSupportForUpgradedProject: 1 69 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.3.25f1 2 | m_EditorVersionWithRevision: 2020.3.25f1 (9b9180224418) 3 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 4 16 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /Demos/Unity/DedicatedServerDemo/Server/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Asset meta data should only be ignored when the corresponding asset is also ignored 18 | !/[Aa]ssets/**/*.meta 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | 63 | # Crashlytics generated file 64 | crashlytics-build.properties 65 | 66 | # Packed Addressables 67 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 68 | 69 | # Temporary auto-generated Android Assets 70 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 71 | /[Aa]ssets/[Ss]treamingAssets/aa/* -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0234ba368eeec9418390da711bfdad0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bcd7c6ad105c0f4eaa5f0702adf8996 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials/LocalPlayer.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 795fef6e9fcd2dc40b7f3396012af608 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials/Player.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faec8b55a9bd90749856b4f6077538db 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials/Skybox_Mat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Skybox_Mat 10 | m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _METALLIC_SETUP _SUNDISK_HIGH_QUALITY 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _SpecGlossMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - _AtmosphereThickness: 0.53 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _Exposure: 1.25 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 1 78 | - _SunDisk: 2 79 | - _SunSize: 0.04 80 | - _SunSizeConvergence: 5 81 | - _UVSec: 0 82 | - _WorkflowMode: 1 83 | - _ZWrite: 1 84 | m_Colors: 85 | - _Color: {r: 1, g: 1, b: 1, a: 1} 86 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 87 | - _GroundColor: {r: 0.6392157, g: 0.6901961, b: 0.7411765, a: 1} 88 | - _SkyTint: {r: 1, g: 1, b: 1, a: 1} 89 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 90 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Materials/Skybox_Mat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ffaa0b7117ba8c47a9d05ae701d4b4d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb5bdbcd15668a2438b6c44765c8f063 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Prefabs/LocalPlayer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3d35f88dda27b0458c021adaf692df8 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Prefabs/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50ef85bbeccfab149a4170741a3d7243 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 558255460b74ec04fa70b5570e9327bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/AudioCompressedInMemory.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2dd802e4d37c65149922028d3e973832 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/AudioStreaming.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86bcce7f5575b54408aa0f3a7d321039 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/Defaults.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71ea82b02df99c2439e0dc8e4e1ebc24 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/Defaults/AlbedoTexture_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8537455c6c08bd4e8bf0be3707da685 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/Defaults/AudioDecompressOnLoad.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7689051185d12f4298e1ebb2693a29f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/Defaults/DirectionalLight_Default.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 463065d4f17d1d94d848aa127b94dd43 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/NormalTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14a57cf3b9fa1c74b884aa7e0dcf1faa 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Presets/UtilityTexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45f7b2e3c78185248b3adbb14429c2ab 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32c485e9bd5ea16449c5d9501988d594 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1c3109bdb54ad54c8a2b2838528e640 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02a3527b6b33a924e8ec66aa805ea717 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/NetworkManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8065e9870fcc66043b4d88e528bb0e32 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3142cef1f0824cf4392dfb8ef3d23725 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player/CameraController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Riptide.Demos.PlayerHosted 4 | { 5 | public class CameraController : MonoBehaviour 6 | { 7 | [SerializeField] private Player player; 8 | [SerializeField] private float sensitivity = 100f; 9 | [SerializeField] private float clampAngle = 85f; 10 | 11 | private float verticalRotation; 12 | private float horizontalRotation; 13 | 14 | private void Start() 15 | { 16 | verticalRotation = transform.localEulerAngles.x; 17 | horizontalRotation = player.transform.eulerAngles.y; 18 | } 19 | 20 | private void Update() 21 | { 22 | if (Input.GetKeyDown(KeyCode.Escape)) 23 | ToggleCursorMode(); 24 | 25 | if (Cursor.lockState == CursorLockMode.Locked) 26 | Look(); 27 | 28 | Debug.DrawRay(transform.position, transform.forward * 2, Color.green); 29 | } 30 | 31 | private void Look() 32 | { 33 | float mouseVertical = -Input.GetAxis("Mouse Y"); 34 | float mouseHorizontal = Input.GetAxis("Mouse X"); 35 | 36 | verticalRotation += mouseVertical * sensitivity; 37 | horizontalRotation += mouseHorizontal * sensitivity; 38 | 39 | verticalRotation = Mathf.Clamp(verticalRotation, -clampAngle, clampAngle); 40 | 41 | transform.localRotation = Quaternion.Euler(verticalRotation, 0f, 0f); 42 | player.transform.rotation = Quaternion.Euler(0f, horizontalRotation, 0f); 43 | } 44 | 45 | private void ToggleCursorMode() 46 | { 47 | Cursor.visible = !Cursor.visible; 48 | 49 | if (Cursor.lockState == CursorLockMode.None) 50 | Cursor.lockState = CursorLockMode.Locked; 51 | else 52 | Cursor.lockState = CursorLockMode.None; 53 | 54 | UIManager.Singleton.UpdateUIVisibility(); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player/CameraController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 299a15215c9604a4f95de1ccd9447f0e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player/Player.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace Riptide.Demos.PlayerHosted 5 | { 6 | public class Player : MonoBehaviour 7 | { 8 | internal static Dictionary List = new Dictionary(); 9 | 10 | internal ushort Id; 11 | private string username; 12 | 13 | private void OnDestroy() 14 | { 15 | List.Remove(Id); 16 | } 17 | 18 | private void Move(Vector3 newPosition, Vector3 forward) 19 | { 20 | transform.position = newPosition; 21 | forward.y = 0; 22 | transform.forward = forward.normalized; 23 | } 24 | 25 | internal static void Spawn(ushort id, string username, Vector3 position, bool shouldSendSpawn = false) 26 | { 27 | Player player; 28 | if (id == NetworkManager.Singleton.Client.Id) 29 | player = Instantiate(NetworkManager.Singleton.LocalPlayerPrefab, position, Quaternion.identity).GetComponent(); 30 | else 31 | player = Instantiate(NetworkManager.Singleton.PlayerPrefab, position, Quaternion.identity).GetComponent(); 32 | 33 | player.Id = id; 34 | player.username = username; 35 | player.name = $"Player {id} ({username})"; 36 | 37 | List.Add(id, player); 38 | if (shouldSendSpawn) 39 | player.SendSpawn(); 40 | } 41 | 42 | #region Messages 43 | private void SendSpawn() 44 | { 45 | Message message = Message.Create(MessageSendMode.Reliable, MessageId.SpawnPlayer); 46 | message.AddUShort(Id); 47 | message.AddString(username); 48 | message.AddVector3(transform.position); 49 | NetworkManager.Singleton.Client.Send(message); 50 | } 51 | 52 | [MessageHandler((ushort)MessageId.SpawnPlayer)] 53 | private static void SpawnPlayer(Message message) 54 | { 55 | Spawn(message.GetUShort(), message.GetString(), message.GetVector3()); 56 | } 57 | 58 | internal void SendSpawn(ushort newPlayerId) 59 | { 60 | Message message = Message.Create(MessageSendMode.Reliable, MessageId.SpawnPlayer); 61 | message.AddUShort(Id); 62 | message.AddString(username); 63 | message.AddVector3(transform.position); 64 | NetworkManager.Singleton.Server.Send(message, newPlayerId); 65 | } 66 | 67 | [MessageHandler((ushort)MessageId.PlayerMovement)] 68 | private static void PlayerMovement(Message message) 69 | { 70 | ushort playerId = message.GetUShort(); 71 | if (List.TryGetValue(playerId, out Player player)) 72 | player.Move(message.GetVector3(), message.GetVector3()); 73 | } 74 | #endregion 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player/Player.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6506fcaa02183cf46b5e7221ac850336 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/Player/PlayerController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c54f5fb1c28d674190ed96df2678026 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/UIManager.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | namespace Riptide.Demos.PlayerHosted 5 | { 6 | public class UIManager : MonoBehaviour 7 | { 8 | private static UIManager _singleton; 9 | public static UIManager Singleton 10 | { 11 | get => _singleton; 12 | private set 13 | { 14 | if (_singleton == null) 15 | _singleton = value; 16 | else if (_singleton != value) 17 | { 18 | Debug.Log($"{nameof(UIManager)} instance already exists, destroying object!"); 19 | Destroy(value); 20 | } 21 | } 22 | } 23 | 24 | [SerializeField] private GameObject mainMenu; 25 | [SerializeField] private GameObject gameMenu; 26 | [SerializeField] private InputField usernameField; 27 | [SerializeField] private InputField hostIPField; 28 | 29 | internal string Username => usernameField.text; 30 | 31 | private void Awake() 32 | { 33 | Singleton = this; 34 | } 35 | 36 | public void HostClicked() 37 | { 38 | mainMenu.SetActive(false); 39 | gameMenu.SetActive(true); 40 | 41 | NetworkManager.Singleton.StartHost(); 42 | } 43 | 44 | public void JoinClicked() 45 | { 46 | if (string.IsNullOrEmpty(hostIPField.text)) 47 | { 48 | Debug.Log("Enter an IP!"); 49 | return; 50 | } 51 | 52 | NetworkManager.Singleton.JoinGame(hostIPField.text); 53 | mainMenu.SetActive(false); 54 | gameMenu.SetActive(true); 55 | } 56 | 57 | public void LeaveClicked() 58 | { 59 | NetworkManager.Singleton.LeaveGame(); 60 | BackToMain(); 61 | } 62 | 63 | internal void BackToMain() 64 | { 65 | mainMenu.SetActive(true); 66 | gameMenu.SetActive(false); 67 | 68 | Cursor.lockState = CursorLockMode.None; 69 | Cursor.visible = true; 70 | } 71 | 72 | internal void UpdateUIVisibility() 73 | { 74 | if (Cursor.lockState == CursorLockMode.None) 75 | gameMenu.SetActive(true); 76 | else 77 | gameMenu.SetActive(false); 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Scripts/UIManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 583dd5bb57e5a9b4282669ebfa8d9b5e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0735c275001a2c84dafdb30deced5d8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/ForwardRenderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 13 | m_Name: ForwardRenderer 14 | m_EditorClassIdentifier: 15 | m_RendererFeatures: [] 16 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 17 | shaders: 18 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 19 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 20 | screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, 21 | type: 3} 22 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 23 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 24 | m_OpaqueLayerMask: 25 | serializedVersion: 2 26 | m_Bits: 4294967295 27 | m_TransparentLayerMask: 28 | serializedVersion: 2 29 | m_Bits: 4294967295 30 | m_DefaultStencilState: 31 | overrideStencilState: 0 32 | stencilReference: 0 33 | stencilCompareFunction: 8 34 | passOperation: 0 35 | failOperation: 0 36 | zFailOperation: 0 37 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/ForwardRenderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a8e21d5c33334b11b34a596161b9360 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/SampleSceneProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10fc4df2da32a41aaa32d77bc913491c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-HighQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-HighQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 1 26 | m_MSAA: 2 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 1 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 1 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 1 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-HighQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19ba41d7c0026c3459d37c2fe90c55a0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-LowQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-LowQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 0 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 0 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 16 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-LowQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a31e9f9f9c9d4b9429ed0d1234e22103 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-MediumQuality.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRP-MediumQuality 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 0 23 | m_RequireOpaqueTexture: 0 24 | m_OpaqueDownsampling: 1 25 | m_SupportsHDR: 0 26 | m_MSAA: 1 27 | m_RenderScale: 1 28 | m_MainLightRenderingMode: 1 29 | m_MainLightShadowsSupported: 1 30 | m_MainLightShadowmapResolution: 2048 31 | m_AdditionalLightsRenderingMode: 1 32 | m_AdditionalLightsPerObjectLimit: 4 33 | m_AdditionalLightShadowsSupported: 0 34 | m_AdditionalLightsShadowmapResolution: 512 35 | m_ShadowDistance: 50 36 | m_ShadowCascades: 0 37 | m_Cascade2Split: 0.25 38 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 39 | m_ShadowDepthBias: 1 40 | m_ShadowNormalBias: 1 41 | m_SoftShadowsSupported: 0 42 | m_UseSRPBatcher: 1 43 | m_SupportsDynamicBatching: 0 44 | m_MixedLightingSupported: 1 45 | m_DebugLevel: 0 46 | m_ColorGradingMode: 0 47 | m_ColorGradingLutSize: 32 48 | m_ShadowType: 1 49 | m_LocalShadowsSupported: 0 50 | m_LocalShadowsAtlasResolution: 256 51 | m_MaxPixelLights: 0 52 | m_ShadowAtlasResolution: 256 53 | m_ShaderVariantLogLevel: 0 54 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Assets/Settings/UniversalRP-MediumQuality.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d847b876476d3d6468f5dfcd34266f96 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.15.4", 4 | "com.unity.ide.rider": "2.0.7", 5 | "com.unity.ide.visualstudio": "2.0.12", 6 | "com.unity.ide.vscode": "1.2.4", 7 | "com.unity.render-pipelines.universal": "10.7.0", 8 | "com.unity.test-framework": "1.1.29", 9 | "com.unity.textmeshpro": "3.0.6", 10 | "com.unity.timeline": "1.4.8", 11 | "com.unity.ugui": "1.0.0", 12 | "net.tomweiland.riptide": "https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.2.0", 13 | "com.unity.modules.ai": "1.0.0", 14 | "com.unity.modules.androidjni": "1.0.0", 15 | "com.unity.modules.animation": "1.0.0", 16 | "com.unity.modules.assetbundle": "1.0.0", 17 | "com.unity.modules.audio": "1.0.0", 18 | "com.unity.modules.cloth": "1.0.0", 19 | "com.unity.modules.director": "1.0.0", 20 | "com.unity.modules.imageconversion": "1.0.0", 21 | "com.unity.modules.imgui": "1.0.0", 22 | "com.unity.modules.jsonserialize": "1.0.0", 23 | "com.unity.modules.particlesystem": "1.0.0", 24 | "com.unity.modules.physics": "1.0.0", 25 | "com.unity.modules.physics2d": "1.0.0", 26 | "com.unity.modules.screencapture": "1.0.0", 27 | "com.unity.modules.terrain": "1.0.0", 28 | "com.unity.modules.terrainphysics": "1.0.0", 29 | "com.unity.modules.tilemap": "1.0.0", 30 | "com.unity.modules.ui": "1.0.0", 31 | "com.unity.modules.uielements": "1.0.0", 32 | "com.unity.modules.umbra": "1.0.0", 33 | "com.unity.modules.unityanalytics": "1.0.0", 34 | "com.unity.modules.unitywebrequest": "1.0.0", 35 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 36 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 37 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 38 | "com.unity.modules.unitywebrequestwww": "1.0.0", 39 | "com.unity.modules.vehicles": "1.0.0", 40 | "com.unity.modules.video": "1.0.0", 41 | "com.unity.modules.vr": "1.0.0", 42 | "com.unity.modules.wind": "1.0.0", 43 | "com.unity.modules.xr": "1.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/Main.unity 10 | guid: d1c3109bdb54ad54c8a2b2838528e640 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_AssetPipelineMode: 1 6 | m_ObjectHideFlags: 0 7 | serializedVersion: 10 8 | m_ExternalVersionControlSupport: Visible Meta Files 9 | m_SerializationMode: 2 10 | m_LineEndingsForNewScripts: 0 11 | m_DefaultBehaviorMode: 0 12 | m_PrefabRegularEnvironment: {fileID: 0} 13 | m_PrefabUIEnvironment: {fileID: 0} 14 | m_SpritePackerMode: 0 15 | m_SpritePackerPaddingPower: 1 16 | m_EtcTextureCompressorBehavior: 1 17 | m_EtcTextureFastCompressor: 1 18 | m_EtcTextureNormalCompressor: 2 19 | m_EtcTextureBestCompressor: 4 20 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 21 | m_ProjectGenerationRootNamespace: 22 | m_CollabEditorSettings: 23 | inProgressEnabled: 1 24 | m_EnableTextureStreamingInEditMode: 1 25 | m_EnableTextureStreamingInPlayMode: 1 26 | m_AsyncShaderCompilation: 1 27 | m_EnterPlayModeOptionsEnabled: 0 28 | m_EnterPlayModeOptions: 3 29 | m_ShowLightmapResolutionOverlay: 1 30 | m_UseLegacyProbeSampleCount: 0 31 | m_SerializeInlineMappingsOnOneLine: 1 32 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, 46 | type: 2} 47 | m_TransparencySortMode: 0 48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 49 | m_DefaultRenderingPath: 1 50 | m_DefaultMobileRenderingPath: 1 51 | m_TierSettings: [] 52 | m_LightmapStripping: 0 53 | m_FogStripping: 0 54 | m_InstancingStripping: 0 55 | m_LightmapKeepPlain: 1 56 | m_LightmapKeepDirCombined: 1 57 | m_LightmapKeepDynamicPlain: 1 58 | m_LightmapKeepDynamicDirCombined: 1 59 | m_LightmapKeepShadowMask: 1 60 | m_LightmapKeepSubtractive: 1 61 | m_FogKeepLinear: 1 62 | m_FogKeepExp: 1 63 | m_FogKeepExp2: 1 64 | m_AlbedoSwatchInfos: [] 65 | m_LightsUseLinearIntensity: 1 66 | m_LightsUseColorTemperature: 0 67 | m_LogWhenShaderIsCompiled: 0 68 | m_AllowEnlightenSupportForUpgradedProject: 1 69 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.3.25f1 2 | m_EditorVersionWithRevision: 2020.3.25f1 (9b9180224418) 3 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 4 16 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /Demos/Unity/PlayerHostedDemo/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Docs/.gitignore: -------------------------------------------------------------------------------- 1 | /**/DROP/ 2 | /**/TEMP/ 3 | /**/packages/ 4 | /**/bin/ 5 | /**/obj/ 6 | _site 7 | _exported_templates -------------------------------------------------------------------------------- /Docs/api/.gitignore: -------------------------------------------------------------------------------- 1 | *.yml 2 | .manifest 3 | -------------------------------------------------------------------------------- /Docs/apidoc/MessageSendMode.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide.MessageSendMode 3 | remarks: *content 4 | --- 5 | For more information about the different message send modes and how they all work, see the [Message Send Modes Explained](~/manual/guides/send-modes-explained.md) article. -------------------------------------------------------------------------------- /Docs/apidoc/Riptide.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide 3 | summary: Provides all core functionality essential for setting up a server-client connection with Riptide. 4 | apiDescription: Provides all core functionality essential for setting up a server-client connection with Riptide. 5 | --- -------------------------------------------------------------------------------- /Docs/apidoc/Transports/Tcp/Tcp.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide.Transports.Tcp 3 | summary: Provides a low level transport which communicates via TCP sockets. 4 | apiDescription: Provides a low level transport which communicates via TCP sockets. 5 | remarks: *content 6 | --- 7 | This transport is intended to act as a fallback for situations where Riptide's default [UDP transport](xref:Riptide.Transports.Udp) can't establish a connection. It primarily exists because Apple's app review center [appears to have issues handling UDP traffic](https://developer.apple.com/forums/thread/133938?answerId=617066022#617066022), with UDP-only applications frequently being rejected due to connection issues. Apple's devices *do* support UDP traffic—it's only their app review center that apparently doesn't allow UDP. 8 | 9 | To work around this, you can start by trying to connect with the UDP transport, and then automatically try again with the TCP transport if that connection fails. This way your end users should end up connecting via UDP, and TCP will only be used in cases where UDP doesn't work. This would obviously require a using the TCP transport to be running in addition to a `Server` using the UDP transport, as `Server`s cannot use both simultaneously. 10 | 11 | > [!Important] 12 | > Due to its very niche purpose, the TCP transport has undergone limited testing and may have more unresolved issues than usual. -------------------------------------------------------------------------------- /Docs/apidoc/Transports/Transports.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide.Transports 3 | summary: Provides low level transport-related functionality. 4 | apiDescription: Provides low level transport-related functionality. 5 | --- -------------------------------------------------------------------------------- /Docs/apidoc/Transports/Udp/Udp.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide.Transports.Udp 3 | summary: Provides a low level transport which communicates via UDP sockets. 4 | apiDescription: Provides a low level transport which communicates via UDP sockets. 5 | --- -------------------------------------------------------------------------------- /Docs/apidoc/Utils/Utils.md: -------------------------------------------------------------------------------- 1 | --- 2 | uid: Riptide.Utils 3 | summary: Provides additional commonly useful functionality for working on networked applications with Riptide. 4 | apiDescription: Provides additional commonly useful functionality for working on networked applications with Riptide. 5 | --- -------------------------------------------------------------------------------- /Docs/apifilter.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | uidRegex: ^Riptide\.Dev -------------------------------------------------------------------------------- /Docs/images/down-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Docs/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RiptideNetworking/Riptide/c85b3db157f8225169c0f58331f9c1bc4e218db7/Docs/images/favicon.ico -------------------------------------------------------------------------------- /Docs/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RiptideNetworking/Riptide/c85b3db157f8225169c0f58331f9c1bc4e218db7/Docs/images/logo.png -------------------------------------------------------------------------------- /Docs/images/sponsor-heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RiptideNetworking/Riptide/c85b3db157f8225169c0f58331f9c1bc4e218db7/Docs/images/sponsor-heart.png -------------------------------------------------------------------------------- /Docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_url: manual/overview/about-riptide.html 3 | --- -------------------------------------------------------------------------------- /Docs/manual/guides/build-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Build Docs Locally 3 | _description: How to build Riptide's documentation locally on your computer. 4 | --- 5 | 6 | # How to Build Documentation Locally 7 | 8 | Building the documentation site locally on your computer can be useful in a variety of situations, such as when you wish to preview changes you've made. 9 | 10 | Riptide uses [DocFX](https://dotnet.github.io/docfx) to build its documentation. To install DocFX, open a terminal and run the following command: 11 | ```bash 12 | dotnet tool install -g docfx --version 2.70.1 13 | ``` 14 | 15 | Once DocFX is installed: 16 | 1. Navigate to the `Docs` folder in your cloned Riptide repository. 17 | 2. Run `docfx docfx.json --serve`. 18 | 3. Visit [http://localhost:8080/](http://localhost:8080/) in your web browser. -------------------------------------------------------------------------------- /Docs/manual/overview/about-riptide.md: -------------------------------------------------------------------------------- 1 | --- 2 | _description: What is Riptide Networking? 3 | --- 4 | 5 | # About Riptide 6 | 7 | Riptide Networking is a lightweight C# networking library primarily designed for use in multiplayer games. It can be used in Unity as well as in other .NET environments such as console applications. 8 | 9 | It provides functionality for establishing connections and sending data back and forth, leaving it up to you to decide what data you want to send and when. This is ideal if you like to be in control of your code and know what's going on under the hood. 10 | 11 | Riptide is 100% free to use under the [MIT license](https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md) and its development is only funded by [donations](https://github.com/sponsors/tom-weiland). -------------------------------------------------------------------------------- /Docs/manual/overview/getting-started.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_url: get-started.html 3 | --- -------------------------------------------------------------------------------- /Docs/manual/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Overview 2 | items: 3 | - name: About Riptide 4 | href: overview/about-riptide.md 5 | - name: Installation 6 | href: overview/installation.md 7 | - name: Getting Started 8 | href: overview/get-started.md 9 | - name: FAQ 10 | href: overview/faq.md 11 | - name: Updates 12 | items: 13 | - name: Release Notes 14 | items: 15 | - name: v2.0.0 16 | href: updates/release-notes/v2.0.0.md 17 | - name: v2.1.0 18 | href: updates/release-notes/v2.1.0.md 19 | - name: v2.1.1 20 | href: updates/release-notes/v2.1.1.md 21 | - name: v2.1.2 22 | href: updates/release-notes/v2.1.2.md 23 | - name: v2.2.0 24 | href: updates/release-notes/v2.2.0.md 25 | - name: Upgrade Guides 26 | items: 27 | - name: Updating to v2 28 | href: updates/guides/update-to-v2.md 29 | - name: Guides 30 | items: 31 | - name: Send Modes Explained 32 | href: guides/send-modes-explained.md 33 | - name: Build Docs Locally 34 | href: guides/build-docs.md -------------------------------------------------------------------------------- /Docs/manual/updates/guides/updating-to-v2.md: -------------------------------------------------------------------------------- 1 | --- 2 | redirect_url: update-to-v2.html 3 | --- -------------------------------------------------------------------------------- /Docs/manual/updates/release-notes/v2.1.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | _description: Release notes for Riptide v2.1.1. 3 | --- 4 | 5 | # v2.1.1 Release Notes 6 | 7 | Install this version with Unity's Package Manager using the following URL ([step-by-step instructions](~/manual/overview/installation.md#option-1-unity-package-manager)): 8 | ```plaintext 9 | https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.1.1 10 | ``` 11 | 12 | It can also be installed a number of [other ways](~/manual/overview/installation.md#net-projects) for use outside of Unity, including as a [NuGet package](https://www.nuget.org/packages/RiptideNetworking.Riptide). 13 | 14 | For a full list of source code changes, check out the [version comparison](https://github.com/RiptideNetworking/Riptide/compare/v2.1.0...v2.1.1) on GitHub. 15 | 16 | ## Fixes 17 | 18 | - Fixed not overwriting bits properly in some cases, which could cause all sorts of problems, including incorrect disconnections due to "poor connection" quality ([#123](https://github.com/RiptideNetworking/Riptide/issues/123)). -------------------------------------------------------------------------------- /Docs/manual/updates/release-notes/v2.1.2.md: -------------------------------------------------------------------------------- 1 | --- 2 | _description: Release notes for Riptide v2.1.2. 3 | --- 4 | 5 | # v2.1.2 Release Notes 6 | 7 | Install this version with Unity's Package Manager using the following URL ([step-by-step instructions](~/manual/overview/installation.md#option-1-unity-package-manager)): 8 | ```plaintext 9 | https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.1.2 10 | ``` 11 | 12 | It can also be installed a number of [other ways](~/manual/overview/installation.md#net-projects) for use outside of Unity, including as a [NuGet package](https://www.nuget.org/packages/RiptideNetworking.Riptide). 13 | 14 | For a full list of source code changes, check out the [version comparison](https://github.com/RiptideNetworking/Riptide/compare/v2.1.1...v2.1.2) on GitHub. 15 | 16 | ## Fixes 17 | 18 | - Fixed not resetting data segments, which could cause the data from previous messages to bleed over ([#124](https://github.com/RiptideNetworking/Riptide/issues/124)). -------------------------------------------------------------------------------- /Docs/manual/updates/release-notes/v2.2.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | _description: Release notes for Riptide v2.2.0. 3 | --- 4 | 5 | # v2.2.0 Release Notes 6 | 7 | Install this version with Unity's Package Manager using the following URL ([step-by-step instructions](~/manual/overview/installation.md#option-1-unity-package-manager)): 8 | ```plaintext 9 | https://github.com/RiptideNetworking/Riptide.git?path=/Packages/Core#2.2.0 10 | ``` 11 | 12 | It can also be installed a number of [other ways](~/manual/overview/installation.md#net-projects) for use outside of Unity, including as a [NuGet package](https://www.nuget.org/packages/RiptideNetworking.Riptide). 13 | 14 | For a full list of source code changes, check out the [version comparison](https://github.com/RiptideNetworking/Riptide/compare/v2.1.2...v2.2.0) on GitHub. 15 | 16 | ## Additions 17 | 18 | - Added overloads to all Get methods that auto read array lengths ([#127](https://github.com/RiptideNetworking/Riptide/issues/127)). 19 | - Added overload to with optinal startIndex & amount parameters ([#128](https://github.com/RiptideNetworking/Riptide/issues/128)). 20 | 21 | ## Fixes 22 | 23 | - Fixed & not writing bits correctly ([#124](https://github.com/RiptideNetworking/Riptide/issues/124)). 24 | - Fixed redundant sequence IDs being included in reliable acks ([PR #130](https://github.com/RiptideNetworking/Riptide/pull/130)). 25 | - Fixed message retaining residual data when further data was added to a message after being received. -------------------------------------------------------------------------------- /Docs/templates/riptide/ManagedReference.html.primary.js: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | 4 | var common = require('./ManagedReference.common.js'); 5 | var extension = require('./ManagedReference.extension.js'); 6 | var overwrite = require('./ManagedReference.overwrite.js'); 7 | 8 | exports.transform = function (model) { 9 | model.yamlmime = "ManagedReference"; 10 | 11 | if (overwrite && overwrite.transform) { 12 | return overwrite.transform(model); 13 | } 14 | 15 | if (extension && extension.preTransform) { 16 | model = extension.preTransform(model); 17 | } 18 | 19 | if (common && common.transform) { 20 | model = common.transform(model); 21 | } 22 | if (model.type.toLowerCase() === "enum") { 23 | model.isClass = false; 24 | model.isEnum = true; 25 | } 26 | model._disableToc = model._disableToc || !model._tocPath || (model._navPath === model._tocPath); 27 | model._disableNextArticle = true; 28 | 29 | if (extension && extension.postTransform) { 30 | if (model._splitReference) { 31 | model = postTransformMemberPage(model); 32 | } 33 | 34 | model = extension.postTransform(model); 35 | } 36 | 37 | return model; 38 | } 39 | 40 | exports.getOptions = function (model) { 41 | if (overwrite && overwrite.getOptions) { 42 | return overwrite.getOptions(model); 43 | } 44 | var ignoreChildrenBookmarks = model._splitReference && model.type && common.getCategory(model.type) === 'ns'; 45 | 46 | return { 47 | "bookmarks": common.getBookmarks(model, ignoreChildrenBookmarks) 48 | }; 49 | } 50 | 51 | function postTransformMemberPage(model) { 52 | var type = model.type.toLowerCase(); 53 | var category = common.getCategory(type); 54 | if (category == 'class') { 55 | var typePropertyName = common.getTypePropertyName(type); 56 | if (typePropertyName) { 57 | model[typePropertyName] = true; 58 | } 59 | if (model.children && model.children.length > 0) { 60 | model.isCollection = true; 61 | if (model.children.length == 1) { // ADDED to only show "overloads" table when there are some 62 | model.isOnlyChild = true; 63 | } 64 | 65 | common.groupChildren(model, 'class'); 66 | } else { 67 | model.isItem = true; 68 | } 69 | } 70 | return model; 71 | } -------------------------------------------------------------------------------- /Docs/templates/riptide/layout/_master.tmpl: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | {{!include(/^styles/.*/)}} 3 | {{!include(/^fonts/.*/)}} 4 | {{!include(favicon.ico)}} 5 | {{!include(logo.svg)}} 6 | {{!include(search-stopwords.json)}} 7 | 8 | 9 | 10 | {{>partials/head}} 11 | {{^redirect_url}} 12 | 13 |
14 |
15 | {{^_disableNavbar}} 16 | {{>partials/navbar}} 17 | {{/_disableNavbar}} 18 |
19 | {{#_enableSearch}} 20 |
21 | {{>partials/searchResults}} 22 |
23 | {{/_enableSearch}} 24 |
25 | {{^_disableToc}} 26 | {{>partials/toc}} 27 |
28 | {{/_disableToc}} 29 | {{#_disableToc}} 30 |
31 | {{/_disableToc}} 32 | {{#_disableAffix}} 33 |
34 | {{/_disableAffix}} 35 | {{^_disableAffix}} 36 |
37 | {{/_disableAffix}} 38 | {{^_disableBreadcrumb}} 39 | {{>partials/breadcrumb}} 40 | {{/_disableBreadcrumb}} 41 |
42 | {{!body}} 43 |
44 |
45 | {{^_disableAffix}} 46 | {{>partials/affix}} 47 | {{/_disableAffix}} 48 |
49 |
50 | {{^_disableFooter}} 51 | {{>partials/footer}} 52 | {{/_disableFooter}} 53 |
54 | {{>partials/scripts}} 55 | 56 | {{/redirect_url}} 57 | 58 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/affix.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 |
4 |
5 | {{^_disableContribution}} 6 |
7 |
    8 | {{#docurl}} 9 |
  • 10 | {{__global.improveThisDoc}} 11 |
  • 12 | {{/docurl}} 13 | {{#sourceurl}} 14 |
  • 15 | {{__global.viewSource}} 16 |
  • 17 | {{/sourceurl}} 18 | {{#_donateUrl}} 19 |
  • 20 | {{#_donateText}}{{_donateText}}{{/_donateText}}{{^_donateText}}Donate{{/_donateText}} 21 |
  • 22 | {{/_donateUrl}} 23 |
24 |
25 | {{/_disableContribution}} 26 |
27 |
{{__global.inThisArticle}}
28 |
29 |
30 |
31 |
32 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/class.memberpage.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 | {{>partials/class.header}} 4 | {{#children}} 5 |

{{>partials/classSubtitle}}

6 | {{#children.0}} 7 | 8 | {{#overload}} 9 | 10 | {{/overload}} 11 | 12 | 13 | 14 | {{/children.0}} 15 | {{#children}} 16 | 17 | 20 | 21 | 22 | {{/children}} 23 | {{#children.0}} 24 | 25 |
18 | 19 | {{{summary}}}
26 | {{/children.0}} 27 | {{/children}} 28 | 29 | {{#extensionMethods.0}} 30 |

{{__global.extensionMethods}}

31 | {{/extensionMethods.0}} 32 | {{#extensionMethods}} 33 |
34 | {{#definition}} 35 | 36 | {{/definition}} 37 | {{^definition}} 38 | 39 | {{/definition}} 40 |
41 | {{/extensionMethods}} 42 | 43 | {{#seealso.0}} 44 |

{{__global.seealso}}

45 |
46 | {{/seealso.0}} 47 | {{#seealso}} 48 | {{#isCref}} 49 |
{{{type.specName.0.value}}}
50 | {{/isCref}} 51 | {{^isCref}} 52 |
{{{url}}}
53 | {{/isCref}} 54 | {{/seealso}} 55 | {{#seealso.0}} 56 |
57 | {{/seealso.0}} 58 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/description.head.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{#isAPI}} 2 | {{#apiDescription}} 3 | 4 | 5 | {{/apiDescription}} 6 | {{^apiDescription}} 7 | 8 | 9 | {{/apiDescription}} 10 | {{/isAPI}} 11 | {{^isAPI}} 12 | 13 | 14 | {{/isAPI}} -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/enum.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 | {{>partials/class.header}} 4 | {{#children}} 5 |

{{>partials/classSubtitle}}

6 | 7 | 8 | {{#children}} 9 | 10 | 11 | 12 | 13 | {{/children}} 14 | 15 |
{{name.0.value}}{{{summary}}}
16 | {{/children}} 17 | 18 | {{#seealso.0}} 19 |
{{__global.seealso}}
20 |
21 | {{/seealso.0}} 22 | {{#seealso}} 23 | {{#isCref}} 24 |
{{{type.specName.0.value}}}
25 | {{/isCref}} 26 | {{^isCref}} 27 |
{{{url}}}
28 | {{/isCref}} 29 | {{/seealso}} 30 | {{#seealso.0}} 31 |
32 | {{/seealso.0}} 33 | 34 | {{#extensionMethods.0}} 35 |

{{__global.extensionMethods}}

36 | {{/extensionMethods.0}} 37 | {{#extensionMethods}} 38 |
39 | {{#definition}} 40 | 41 | {{/definition}} 42 | {{^definition}} 43 | 44 | {{/definition}} 45 |
46 | {{/extensionMethods}} 47 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/footer.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 |
4 |
5 |
6 |
7 | 8 | {{__global.backToTop}} 9 | 10 | {{{_appFooter}}} 11 | {{#_appFooter}} 12 |
13 | {{/_appFooter}} 14 | Made with DocFX 15 |
16 |
17 |
18 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/head.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 | 4 | 5 | {{#_googleAnalyticsTagId}} 6 | 7 | 13 | {{/_googleAnalyticsTagId}} 14 | {{#redirect_url}} 15 | 16 | {{/redirect_url}} 17 | {{^redirect_url}} 18 | 19 | {{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}}{{#_appTitle}} | {{_appTitle}}{{/_appTitle}} 20 | 21 | 22 | 23 | 24 | 25 | {{>partials/description.head}} 26 | {{#_appLogoPath}} 27 | 28 | 29 | 30 | 31 | {{/_appLogoPath}} 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | {{#_noindex}}{{/_noindex}} 44 | {{#_enableSearch}}{{/_enableSearch}} 45 | {{#_enableNewTab}}{{/_enableNewTab}} 46 | {{/redirect_url}} 47 | 48 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/li.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 |
    4 | {{#items}} 5 | {{^dropdown}} 6 | 7 | {{^leaf}} 8 | 9 | {{/leaf}} 10 | {{#topicHref}} 11 | {{name}} 12 | {{/topicHref}} 13 | {{^topicHref}} 14 | {{{name}}} 15 | {{/topicHref}} 16 | {{^leaf}} 17 | {{>partials/li}} 18 | {{/leaf}} 19 | 20 | {{/dropdown}} 21 | {{#dropdown}} 22 |
  • 23 | {{name}} 24 |
      25 | {{>partials/dd-li}} 26 |
    27 |
  • 28 | {{/dropdown}} 29 | {{/items}} 30 |
31 | -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/namespace.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} 2 | 3 |

{{>partials/title}}

4 |
{{{summary}}}
5 |
{{{conceptual}}}
6 |
{{{remarks}}}
7 | {{#children}} 8 |

{{>partials/namespaceSubtitle}}

9 | {{#children.0}} 10 | 11 | 12 | {{/children.0}} 13 | {{#children}} 14 | 15 | 18 | 19 | 20 | {{/children}} 21 | {{#children.0}} 22 | 23 |
16 | 17 | {{{summary}}}
24 | {{/children.0}} 25 | {{/children}} -------------------------------------------------------------------------------- /Docs/templates/riptide/partials/title.tmpl.partial: -------------------------------------------------------------------------------- 1 | {{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}{{!Everything on one line, otherwise newlines are insterted into the title...}}{{#inPackage}}{{name.0.value}} Package{{/inPackage}}{{#isNamespace}}{{name.0.value}} Namespace{{/isNamespace}}{{#inClass}}{{name.0.value}} Class{{/inClass}}{{#inStruct}}{{name.0.value}} Struct{{/inStruct}}{{#inInterface}}{{name.0.value}} Interface{{/inInterface}}{{#inEnum}}{{name.0.value}} Enum{{/inEnum}}{{#inDelegate}}{{nameWithType.0.value}} Delegate{{/inDelegate}}{{#inConstructor}}{{name.0.value}} Constructor{{/inConstructor}}{{#inField}}{{nameWithType.0.value}} Field{{/inField}}{{#inProperty}}{{nameWithType.0.value}} Property{{/inProperty}}{{#inMethod}}{{nameWithType.0.value}} Method{{/inMethod}}{{#inEvent}}{{nameWithType.0.value}} Event{{/inEvent}}{{#inOperator}}{{nameWithType.0.value}} Operator{{/inOperator}}{{#inEii}}{{nameWithType.0.value}} Explict Interface Implementation{{/inEii}}{{#inVariable}}{{name.0.value}} Variable{{/inVariable}}{{#inTypeAlias}}{{name.0.value}} Type Alias{{/inTypeAlias}} -------------------------------------------------------------------------------- /Docs/templates/riptide/styles/codehighlighting.css: -------------------------------------------------------------------------------- 1 | .line-highlight { 2 | background-color: #344d5b; 3 | } 4 | 5 | .hljs { 6 | color: #e4e4f1; 7 | } 8 | 9 | .hljs-comment { 10 | color: #4e6d6d; 11 | } 12 | 13 | .hljs-number { 14 | color: #b5cea8; 15 | } 16 | 17 | .hljs-pscommand, 18 | .hljs-keyword, 19 | .hljs-selector-tag, 20 | .hljs-built_in, 21 | .hljs-name, 22 | .hljs-tag { 23 | color: #569cd6; 24 | } 25 | 26 | .hljs-literal { 27 | color: #569cd6; 28 | } 29 | 30 | .hljs-string .hljs-subst, 31 | .hljs-attr { 32 | color: #9cdcfe; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-string .hljs-subst .hljs-string, 37 | .hljs-section, 38 | .hljs-attribute, 39 | .hljs-template-tag, 40 | .hljs-template-variable, 41 | .hljs-deletion, 42 | .hljs-type, 43 | .hljs-code { 44 | color: #ce9178; 45 | } 46 | 47 | .hljs-addition, 48 | .hljs-selector-attr, 49 | .hljs-selector-pseudo, 50 | .hljs-meta { 51 | color: #2b91af; 52 | } 53 | 54 | .hljs-parameter, 55 | .hljs-type, 56 | .hljs-attribute, 57 | .hljs-title, 58 | .hljs-addition, 59 | .hljs-selector-attr, 60 | .hljs-selector-pseudo, 61 | .hljs-meta { 62 | color: #4ec9b0; 63 | } 64 | 65 | .hljs-control { 66 | color: #c586c0; 67 | } 68 | 69 | .hljs-helper { 70 | color: #dcdcaa; 71 | } 72 | 73 | .hljs-doctag, 74 | .hljs-symbol, 75 | .hljs-bullet, 76 | .hljs-link { 77 | color: #368585; 78 | } 79 | 80 | .hljs-reserved, 81 | .hljs-constant { 82 | color: #f44747; 83 | } -------------------------------------------------------------------------------- /Docs/templates/riptide/styles/config.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --text: #e4e4f1; 3 | --text-subtle: #bcbcdc; 4 | --main-background: #1d2c34; 5 | --main-background-active: #344d5b; 6 | --secondary-background: #162127; 7 | --border: #344d5b; 8 | --nth-table-row: #253741; 9 | --table-border: #344d5b; 10 | --link: #2bbade; 11 | --link-hover: #1c93b0; 12 | 13 | --search-mark: #acf39d; 14 | --search-href: #bcbcdc; 15 | 16 | --pagination-background: var(--main-background); 17 | --pagination-background-active: var(--main-background-active); 18 | --pagination-border: var(--border); 19 | 20 | --alert-note-background: #9368b7; 21 | --alert-note-text: var(--text); 22 | --alert-note-code-background: #744997; 23 | --alert-note-link: #ff99a0; 24 | --alert-note-link-hover: #ff707a; 25 | 26 | --alert-tip-background: #5635e9; 27 | --alert-tip-text: var(--text); 28 | --alert-tip-code-background: #3716ca; 29 | --alert-tip-link: #0dd2e7; 30 | --alert-tip-link-hover: #0bafc1; 31 | 32 | --alert-important-background: #8fbe23; 33 | --alert-important-text: #283409; 34 | --alert-important-code-background: #aedc41; 35 | --alert-important-link: #0049a3; 36 | --alert-important-link-hover: #0065e0; 37 | 38 | --alert-caution-background: #921111; 39 | --alert-caution-text: var(--text); 40 | --alert-caution-code-background: #6e0d0d; 41 | --alert-caution-link: #de85ff; 42 | --alert-caution-link-hover: #ce47ff; 43 | 44 | --alert-warning-background: #ffad0a; 45 | --alert-warning-text: #523600; 46 | --alert-warning-code-background: #ffc95c; 47 | --alert-warning-link: #b80006; 48 | --alert-warning-link-hover: #f50008; 49 | 50 | --scrollbar-background: transparent; 51 | --scrollbar-thumb-background: #0b1216; 52 | } -------------------------------------------------------------------------------- /Docs/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Manual 2 | href: manual/ 3 | homepage: manual/overview/about-riptide.md 4 | - name: GitHub 5 | href: https://github.com/RiptideNetworking/Riptide 6 | - name: Discord 7 | href: https://discord.gg/tomweiland 8 | - name: API 9 | href: api/ 10 | homepage: api/Riptide.yml 11 | - name: Support Riptide 12 | href: https://github.com/sponsors/tom-weiland 13 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Tom Weiland 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /RiptideNetworking/.editorconfig: -------------------------------------------------------------------------------- 1 | # You can learn more about editorconfig here: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference 2 | 3 | # Top-most EditorConfig file 4 | root = false 5 | 6 | [*.{cs,vb}] 7 | 8 | # Enforce file headers 9 | file_header_template = This file is provided under The MIT License as part of RiptideNetworking.\nCopyright (c) Tom Weiland\nFor additional information please see the included LICENSE.md file or view it on GitHub:\nhttps://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 10 | 11 | # IDE0073: Incorrect/missing header 12 | dotnet_diagnostic.IDE0073.severity = warning -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30503.244 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RiptideNetworking", "RiptideNetworking\RiptideNetworking.csproj", "{CA9D3FCF-094B-4814-AC33-160F26B76336}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {CA9D3FCF-094B-4814-AC33-160F26B76336}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {CA9D3FCF-094B-4814-AC33-160F26B76336}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {CA9D3FCF-094B-4814-AC33-160F26B76336}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {CA9D3FCF-094B-4814-AC33-160F26B76336}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {A71126B0-515C-46E8-8E32-60BD504A81E7} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/IMessageSerializable.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | namespace Riptide 7 | { 8 | /// Represents a type that can be added to and retrieved from messages using the and methods. 9 | public interface IMessageSerializable 10 | { 11 | /// Adds the type to the message. 12 | /// The message to add the type to. 13 | void Serialize(Message message); 14 | /// Retrieves the type from the message. 15 | /// The message to retrieve the type from. 16 | void Deserialize(Message message); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Transports/EventArgs.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | namespace Riptide.Transports 7 | { 8 | /// Contains event data for when a server's transport successfully establishes a connection to a client. 9 | public class ConnectedEventArgs 10 | { 11 | /// The newly established connection. 12 | public readonly Connection Connection; 13 | 14 | /// Initializes event data. 15 | /// The newly established connection. 16 | public ConnectedEventArgs(Connection connection) 17 | { 18 | Connection = connection; 19 | } 20 | } 21 | 22 | /// Contains event data for when a server's or client's transport receives data. 23 | public class DataReceivedEventArgs 24 | { 25 | /// An array containing the received data. 26 | public readonly byte[] DataBuffer; 27 | /// The number of bytes that were received. 28 | public readonly int Amount; 29 | /// The connection which the data was received from. 30 | public readonly Connection FromConnection; 31 | 32 | /// Initializes event data. 33 | /// An array containing the received data. 34 | /// The number of bytes that were received. 35 | /// The connection which the data was received from. 36 | public DataReceivedEventArgs(byte[] dataBuffer, int amount, Connection fromConnection) 37 | { 38 | DataBuffer = dataBuffer; 39 | Amount = amount; 40 | FromConnection = fromConnection; 41 | } 42 | } 43 | 44 | /// Contains event data for when a server's or client's transport initiates or detects a disconnection. 45 | public class DisconnectedEventArgs 46 | { 47 | /// The closed connection. 48 | public readonly Connection Connection; 49 | /// The reason for the disconnection. 50 | public readonly DisconnectReason Reason; 51 | 52 | /// Initializes event data. 53 | /// The closed connection. 54 | /// The reason for the disconnection. 55 | public DisconnectedEventArgs(Connection connection, DisconnectReason reason) 56 | { 57 | Connection = connection; 58 | Reason = reason; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Transports/IClient.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | using System; 7 | 8 | namespace Riptide.Transports 9 | { 10 | /// Defines methods, properties, and events which every transport's client must implement. 11 | public interface IClient : IPeer 12 | { 13 | /// Invoked when a connection is established at the transport level. 14 | event EventHandler Connected; 15 | /// Invoked when a connection attempt fails at the transport level. 16 | event EventHandler ConnectionFailed; 17 | 18 | /// Starts the transport and attempts to connect to the given host address. 19 | /// The host address to connect to. 20 | /// The pending connection. if an issue occurred. 21 | /// The error message associated with the issue that occurred, if any. 22 | /// if a connection attempt will be made. if an issue occurred (such as being in an invalid format) and a connection attempt will not be made. 23 | bool Connect(string hostAddress, out Connection connection, out string connectError); 24 | 25 | /// Closes the connection to the server. 26 | void Disconnect(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Transports/IPeer.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | using System; 7 | 8 | namespace Riptide.Transports 9 | { 10 | /// The header type of a . 11 | public enum MessageHeader : byte 12 | { 13 | /// An unreliable user message. 14 | Unreliable, 15 | /// An internal unreliable ack message. 16 | Ack, 17 | /// An internal unreliable connect message. 18 | Connect, 19 | /// An internal unreliable connection rejection message. 20 | Reject, 21 | /// An internal unreliable heartbeat message. 22 | Heartbeat, 23 | /// An internal unreliable disconnect message. 24 | Disconnect, 25 | 26 | /// A notify message. 27 | Notify, 28 | 29 | /// A reliable user message. 30 | Reliable, 31 | /// An internal reliable welcome message. 32 | Welcome, 33 | /// An internal reliable client connected message. 34 | ClientConnected, 35 | /// An internal reliable client disconnected message. 36 | ClientDisconnected, 37 | } 38 | 39 | /// Defines methods, properties, and events which every transport's server and client must implement. 40 | public interface IPeer 41 | { 42 | /// Invoked when data is received by the transport. 43 | event EventHandler DataReceived; 44 | /// Invoked when a disconnection is initiated or detected by the transport. 45 | event EventHandler Disconnected; 46 | 47 | /// Initiates handling of any received messages. 48 | void Poll(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Transports/IServer.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | using System; 7 | 8 | namespace Riptide.Transports 9 | { 10 | /// Defines methods, properties, and events which every transport's server must implement. 11 | public interface IServer : IPeer 12 | { 13 | /// Invoked when a connection is established at the transport level. 14 | event EventHandler Connected; 15 | 16 | /// 17 | ushort Port { get; } 18 | 19 | /// Starts the transport and begins listening for incoming connections. 20 | /// The local port on which to listen for connections. 21 | void Start(ushort port); 22 | 23 | /// Closes an active connection. 24 | /// The connection to close. 25 | void Close(Connection connection); 26 | 27 | /// Closes all existing connections and stops listening for new connections. 28 | void Shutdown(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Utils/DelayedEvents.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | using Riptide.Transports; 7 | 8 | namespace Riptide.Utils 9 | { 10 | /// Executes an action when invoked. 11 | internal abstract class DelayedEvent 12 | { 13 | /// Executes the action. 14 | public abstract void Invoke(); 15 | } 16 | 17 | /// Resends a when invoked. 18 | internal class ResendEvent : DelayedEvent 19 | { 20 | /// The message to resend. 21 | private readonly PendingMessage message; 22 | /// The time at which the resend event was queued. 23 | private readonly long initiatedAtTime; 24 | 25 | /// Initializes the event. 26 | /// The message to resend. 27 | /// The time at which the resend event was queued. 28 | public ResendEvent(PendingMessage message, long initiatedAtTime) 29 | { 30 | this.message = message; 31 | this.initiatedAtTime = initiatedAtTime; 32 | } 33 | 34 | /// 35 | public override void Invoke() 36 | { 37 | if (initiatedAtTime == message.LastSendTime) // If this isn't the case then the message has been resent already 38 | message.RetrySend(); 39 | } 40 | } 41 | 42 | /// Executes a heartbeat when invoked. 43 | internal class HeartbeatEvent : DelayedEvent 44 | { 45 | /// The peer whose heart to beat. 46 | private readonly Peer peer; 47 | 48 | /// Initializes the event. 49 | /// The peer whose heart to beat. 50 | public HeartbeatEvent(Peer peer) 51 | { 52 | this.peer = peer; 53 | } 54 | 55 | /// 56 | public override void Invoke() 57 | { 58 | peer.Heartbeat(); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /RiptideNetworking/RiptideNetworking/Utils/Extensions.cs: -------------------------------------------------------------------------------- 1 | // This file is provided under The MIT License as part of RiptideNetworking. 2 | // Copyright (c) Tom Weiland 3 | // For additional information please see the included LICENSE.md file or view it on GitHub: 4 | // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md 5 | 6 | using System.Net; 7 | 8 | namespace Riptide.Utils 9 | { 10 | /// Contains extension methods for various classes. 11 | public static class Extensions 12 | { 13 | /// Takes the 's IP address and port number and converts it to a string, accounting for whether the address is an IPv4 or IPv6 address. 14 | /// A string containing the IP address and port number of the endpoint. 15 | public static string ToStringBasedOnIPFormat(this IPEndPoint endPoint) 16 | { 17 | if (endPoint.Address.IsIPv4MappedToIPv6) 18 | return $"{endPoint.Address.MapToIPv4()}:{endPoint.Port}"; 19 | 20 | return endPoint.ToString(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RiptideNetworking/nuget-readme.md: -------------------------------------------------------------------------------- 1 | # Riptide Networking 2 | 3 | Riptide Networking is a lightweight C# networking library primarily designed for use in multiplayer games. It can be used in Unity as well as in other .NET environments such as console applications. 4 | 5 | It provides functionality for establishing connections and sending data back and forth, leaving it up to you to decide what data you want to send and when. This is ideal if you like to be in control of your code and know what's going on under the hood. 6 | 7 | Riptide is 100% free to use under the [MIT license](https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md) and its development is only funded by [donations](https://github.com/sponsors/tom-weiland). 8 | 9 | ## Getting Started 10 | 11 | Check out the documentation for [installation instructions](https://riptide.tomweiland.net/manual/overview/installation.html) and a [guide on setting up the basics](https://riptide.tomweiland.net/manual/overview/get-started.html). -------------------------------------------------------------------------------- /RiptideNetworking/package-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RiptideNetworking/Riptide/c85b3db157f8225169c0f58331f9c1bc4e218db7/RiptideNetworking/package-icon.png --------------------------------------------------------------------------------