diff --git a/Assets/Editor/Tutorials/Homepage.meta b/Assets/Editor/Tutorials/Homepage.meta new file mode 100644 index 000000000..7a2a3d121 --- /dev/null +++ b/Assets/Editor/Tutorials/Homepage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca9c27a0c42006f48a61dace60da1dae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Homepage/0_TableOfContents.asset b/Assets/Editor/Tutorials/Homepage/0_TableOfContents.asset new file mode 100644 index 000000000..c5207dde3 --- /dev/null +++ b/Assets/Editor/Tutorials/Homepage/0_TableOfContents.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8548f60d916a56db3cfbef9db7f6e46a10bea6e7f4885bea060c05cf4e2b592c +size 3310 diff --git a/Assets/Editor/Tutorials/TableOfContents.asset.meta b/Assets/Editor/Tutorials/Homepage/0_TableOfContents.asset.meta similarity index 100% rename from Assets/Editor/Tutorials/TableOfContents.asset.meta rename to Assets/Editor/Tutorials/Homepage/0_TableOfContents.asset.meta diff --git a/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset b/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset new file mode 100644 index 000000000..e31c67c93 --- /dev/null +++ b/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c16f97958fbc897c0311d98cca161ed16d2cacb9c386127b9afbdc1c03041ad1 +size 1216 diff --git a/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset.meta b/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset.meta new file mode 100644 index 000000000..7b18318f8 --- /dev/null +++ b/Assets/Editor/Tutorials/Homepage/1_ConfigureUGS.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d69a76b0f9609842aa1b9d5722fe73c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Images.meta b/Assets/Editor/Tutorials/Images.meta new file mode 100644 index 000000000..e81a14d5e --- /dev/null +++ b/Assets/Editor/Tutorials/Images.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ddbd96be999570489a15892f46e591b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Images/Feature_Image_008.png b/Assets/Editor/Tutorials/Images/Feature_Image_008.png new file mode 100644 index 000000000..d276f28eb --- /dev/null +++ b/Assets/Editor/Tutorials/Images/Feature_Image_008.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f350b3e22fa4522e7ac217db0b810653f7d2cbf37e5a913e4229cc04efb041f2 +size 662808 diff --git a/Assets/Editor/Tutorials/Images/Feature_Image_008.png.meta b/Assets/Editor/Tutorials/Images/Feature_Image_008.png.meta new file mode 100644 index 000000000..7a759c292 --- /dev/null +++ b/Assets/Editor/Tutorials/Images/Feature_Image_008.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 0e9ea27979f7a4a5bb15caa2e6729425 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/TableOfContents.asset b/Assets/Editor/Tutorials/TableOfContents.asset deleted file mode 100644 index 3064ca599..000000000 --- a/Assets/Editor/Tutorials/TableOfContents.asset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f0ac9451724cbceb81d118990dd202b7147fc162dfcc1f44e7ab07c751b26614 -size 3777 diff --git a/Assets/Editor/Tutorials/Tutorial Welcome Page.asset b/Assets/Editor/Tutorials/Tutorial Welcome Page.asset index 72ddcfc18..92e893860 100644 --- a/Assets/Editor/Tutorials/Tutorial Welcome Page.asset +++ b/Assets/Editor/Tutorials/Tutorial Welcome Page.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31df35e528089f3ff6019906e0b5396cfeaeaee38f4fe210b199ecdf9e27bd4d -size 2404 +oid sha256:5324a2c2df7f4983887f5f31d8a7a934b43c6e0255e2fc9821fdaa3e52eb0d25 +size 3203 diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS.meta b/Assets/Editor/Tutorials/Tutorial0_SetupUGS.meta new file mode 100644 index 000000000..b0631a0e1 --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 869e9875e764edd45a8c65d132e4ac4e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset new file mode 100644 index 000000000..7614a7807 --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:906b96219e7c7d6e763a0654834197a27bb67bc3f93752c43fbbaa784a7b45a7 +size 3035 diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset.meta b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset.meta new file mode 100644 index 000000000..a5147ebbe --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/1-Verify And Setup UGS.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8f4819713a447b4d88780a1f232be55 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset new file mode 100644 index 000000000..bf1df5d5b --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdf61b105a1e633877187ab063da4c4d6b8734eae95cc403ec05d1983f0e4d7f +size 6585 diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset.meta b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset.meta new file mode 100644 index 000000000..09c94f57d --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/2-CheckServices.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a25191a04226774497720a897023462 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset new file mode 100644 index 000000000..746ad923d --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac721dec4e2a4370270b1e70b4383351ec621fab2f7f8af27bc34b89ed1e3a17 +size 3302 diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset.meta b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset.meta new file mode 100644 index 000000000..bded08ad1 --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/8-Project Successfully Linked.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20a34659981c32947b4437c2e0df9876 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset new file mode 100644 index 000000000..b45ec29e1 --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54db6af02dc3be072fc11e511152d7d6a69b59256e114d2f566ae4c856d8b5cb +size 1795 diff --git a/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset.meta b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset.meta new file mode 100644 index 000000000..2187d7cbb --- /dev/null +++ b/Assets/Editor/Tutorials/Tutorial0_SetupUGS/Tutorial 0 - UGS Setup.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a5464225c4ee62499087728e8ee0a4d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/Tutorials/TutorialCallbacks.cs b/Assets/Editor/Tutorials/TutorialCallbacks.cs index 7a33ac6e0..d360baa2c 100644 --- a/Assets/Editor/Tutorials/TutorialCallbacks.cs +++ b/Assets/Editor/Tutorials/TutorialCallbacks.cs @@ -4,19 +4,19 @@ namespace Unity.Netcode.Samples.BossRoom { - /// /// Implement your Tutorial callbacks here. /// - [CreateAssetMenu(fileName = DefaultFileName, menuName = "Tutorials/" + DefaultFileName + " Instance")] + [CreateAssetMenu(fileName = k_DefaultFileName, menuName = "Tutorials/" + k_DefaultFileName + " Instance")] public class TutorialCallbacks : ScriptableObject { - [SerializeField] SceneAsset m_StartupScene; + [SerializeField] + SceneAsset m_StartupScene; /// /// The default file name used to create asset of this class type. /// - public const string DefaultFileName = "TutorialCallbacks"; + const string k_DefaultFileName = "TutorialCallbacks"; /// /// Creates a TutorialCallbacks asset and shows it in the Project window. @@ -27,7 +27,7 @@ public class TutorialCallbacks : ScriptableObject /// The created asset public static ScriptableObject CreateAndShowAsset(string assetPath = null) { - assetPath = assetPath ?? $"{TutorialEditorUtils.GetActiveFolderPath()}/{DefaultFileName}.asset"; + assetPath = assetPath ?? $"{TutorialEditorUtils.GetActiveFolderPath()}/{k_DefaultFileName}.asset"; var asset = CreateInstance(); AssetDatabase.CreateAsset(asset, AssetDatabase.GenerateUniqueAssetPath(assetPath)); EditorUtility.FocusProjectWindow(); // needed in order to make the selection of newly created asset to really work @@ -40,35 +40,14 @@ public void StartTutorial(Tutorial tutorial) TutorialWindow.StartTutorial(tutorial); } - public void FocusGameView() - { - /* - * note: this solution is a bit weak, but it's the best we can do without accessing internal APIs. - * we'll need to check that it works for Unity 6 as well - */ - EditorApplication.ExecuteMenuItem("Window/General/Game"); - } - - public void FocusSceneView() - { - EditorApplication.ExecuteMenuItem("Window/General/Scene"); - } - - public bool IsRunningAsHost() - { - return NetworkManager.Singleton && NetworkManager.Singleton.IsHost; - } - - public bool IsRunningAsServerOnly() + public bool IsConnectedToUgs() { - return NetworkManager.Singleton && NetworkManager.Singleton.IsServer - && !NetworkManager.Singleton.IsClient; + return CloudProjectSettings.projectBound; } - public bool IsRunningAsClientOnly() + public void ShowServicesSettings() { - return NetworkManager.Singleton && !NetworkManager.Singleton.IsServer - && NetworkManager.Singleton.IsClient; + SettingsService.OpenProjectSettings("Project/Services"); } public void OpenURL(string url) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d9ad413d..61b885927 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Additional documentation and release notes are available at [Multiplayer Documen * Added a welcome dialog to guide users on their first time experience (#888) * Added a Table of Contents with helpful resources, that can be accessed from the `Tutorials > Show Tutorials` menu * Added the Multiplayer Play Mode package v1.3.1 to the project (#890) +* An In-Editor Tutorial walking through the process of associating your Unity project with a Unity Cloud ID has been added (#898) ### Changed * Upgraded editor version to 6000.0.25f1 and upgraded Boss Room to Netcode for GameObjects v2.0.0 (#890)