diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor.meta b/Basic/2DSpaceShooter/Assets/Editor.meta
similarity index 77%
rename from Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor.meta
rename to Basic/2DSpaceShooter/Assets/Editor.meta
index 451702162..3c2819e42 100644
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor.meta
+++ b/Basic/2DSpaceShooter/Assets/Editor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 7f269532866bbdb4a947ce985a2b068a
+guid: 42d2fa605f916c24f8aaccda68bd03bb
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials.meta
similarity index 77%
rename from Basic/2DSpaceShooter/Assets/Scripts/Readme.meta
rename to Basic/2DSpaceShooter/Assets/Editor/Tutorials.meta
index bb676ac8a..fc3fe2eaf 100644
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme.meta
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: a709676cf7d898a4fb44a11467a8abef
+guid: 6e0edc80143c26e46a8f837f392fb611
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png
new file mode 100644
index 000000000..5c6db806f
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png.meta
new file mode 100644
index 000000000..6444d547c
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/DiscordLogo.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 1397611d3370441458041869341af91a
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png
new file mode 100644
index 000000000..d7432f2b1
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png.meta
new file mode 100644
index 000000000..b47f5f521
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/FolderSimple.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 73eee43e24e9878428693f85a9040f2b
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png
new file mode 100644
index 000000000..7a63c5815
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png.meta
new file mode 100644
index 000000000..d74113283
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/GithubLogo.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 5b9960d9afeedfd43bed4050e527acbe
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png
new file mode 100644
index 000000000..67ca1761f
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png.meta
new file mode 100644
index 000000000..bd111a6e7
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Smiley.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 659b76914c3d4fc4fa46bab28b203495
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png
new file mode 100644
index 000000000..8435b9f76
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png.meta
new file mode 100644
index 000000000..76265e6e1
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/SpaceshooterBanner.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: fb640c5a52f88874cab3a8e28864c979
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset
new file mode 100644
index 000000000..06b949336
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset
@@ -0,0 +1,73 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 89305aa391d1c5141bbe1628d930a2c5, type: 3}
+ m_Name: TableOfContents
+ m_EditorClassIdentifier:
+ Modified:
+ m_PersistentCalls:
+ m_Calls: []
+ ParentContainer: {fileID: 0}
+ OrderInView: 0
+ BackgroundImage: {fileID: 0}
+ Title:
+ m_Untranslated: Table of Contents
+ Subtitle:
+ m_Untranslated: Resources to learn more about Netcode for GameObjetc's APIs
+ Description:
+ m_Untranslated:
+ ProjectLayout: {fileID: 0}
+ Sections:
+ - OrderInView: 0
+ Heading:
+ m_Untranslated: Dedicated Forum
+ Text:
+ m_Untranslated: Ask questions and get help on Netcode for GameObjects
+ Metadata:
+ Url: https://discussions.unity.com/tags/c/unity-engine/52/netcode-for-gameobjects
+ Image: {fileID: 2800000, guid: 8576aa46b4a12304ca79422a0bc9495d, type: 3}
+ Tutorial: {fileID: 0}
+ - OrderInView: 1
+ Heading:
+ m_Untranslated: Multiplayer Networking Discord
+ Text:
+ m_Untranslated: Join our community of Multiplayer Creators on Discord!
+ Metadata:
+ Url: https://discord.gg/unity-multiplayer-network
+ Image: {fileID: 2800000, guid: 1397611d3370441458041869341af91a, type: 3}
+ Tutorial: {fileID: 0}
+ - OrderInView: 2
+ Heading:
+ m_Untranslated: Bitesize Samples Repository
+ Text:
+ m_Untranslated: Explore the other Bitesize samples
+ Metadata:
+ Url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize
+ Image: {fileID: 2800000, guid: 5b9960d9afeedfd43bed4050e527acbe, type: 3}
+ Tutorial: {fileID: 0}
+ - OrderInView: 3
+ Heading:
+ m_Untranslated: Official Documentation
+ Text:
+ m_Untranslated: Refer to the documentation to understand advanced concepts
+ Metadata:
+ Url: https://docs-multiplayer.unity3d.com/netcode/current/about
+ Image: {fileID: 2800000, guid: 73eee43e24e9878428693f85a9040f2b, type: 3}
+ Tutorial: {fileID: 0}
+ - OrderInView: 4
+ Heading:
+ m_Untranslated: Request a feature or report a bug
+ Text:
+ m_Untranslated: Help us make the best samples!
+ Metadata:
+ Url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/issues/new/choose
+ Image: {fileID: 2800000, guid: 659b76914c3d4fc4fa46bab28b203495, type: 3}
+ Tutorial: {fileID: 0}
diff --git a/Basic/2DSpaceShooter/Assets/Readme.asset.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset.meta
similarity index 79%
rename from Basic/2DSpaceShooter/Assets/Readme.asset.meta
rename to Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset.meta
index 182a87cad..d74f3a44f 100644
--- a/Basic/2DSpaceShooter/Assets/Readme.asset.meta
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TableOfContents.asset.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 336c2a3ca33ff9c41a26c04d39997f3b
+guid: 5320d62d10c11cc489f6f3cec4b6b73f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset
new file mode 100644
index 000000000..9b2177ad1
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 579f019eb5d26450982c6ae506c6c3ff, type: 3}
+ m_Name: Tutorial Project Settings
+ m_EditorClassIdentifier:
+ m_WelcomePage: {fileID: 11400000, guid: 4c3b779b1ca4f50499365548284212b4, type: 2}
+ m_InitialScene: {fileID: 102900000, guid: ffe2be76ca2aaeb41804ca99ef05206b, type: 3}
+ m_InitialCameraSettings:
+ m_CameraMode: 0
+ m_FocusMode: 0
+ m_Orthographic: 0
+ m_Size: 0
+ m_Pivot: {x: 0, y: 0, z: 0}
+ m_Rotation: {x: 0, y: 0, z: 0, w: 0}
+ m_FrameObject:
+ m_SceneGuid:
+ m_GameObjectGuid:
+ m_SerializedComponentType:
+ m_TypeName:
+ m_ComponentIndex: 0
+ m_AssetObject: {fileID: 0}
+ m_Prefab: {fileID: 0}
+ m_Enabled: 0
+ m_TutorialStyle: {fileID: 0}
+ m_RestoreAssetsBackupOnTutorialReload: 0
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset.meta
new file mode 100644
index 000000000..04d5c04ee
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Project Settings.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d8253e784446a904288c5769802e34dd
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset
new file mode 100644
index 000000000..513f4c71f
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset
@@ -0,0 +1,64 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b0885f594ab85594caa28e1a96cbe0d8, type: 3}
+ m_Name: Tutorial Welcome Page
+ m_EditorClassIdentifier:
+ Modified:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Image: {fileID: 2800000, guid: fb640c5a52f88874cab3a8e28864c979, type: 3}
+ m_WindowTitle:
+ m_Untranslated: Window Title
+ m_Title:
+ m_Untranslated: Welcome to the 2D Space Shooter Sample!
+ m_Description:
+ m_Untranslated: "The 2DSpaceShooter sample is a bitesize sample designed to demonstrate
+ networked 2D and physics-based character movement. This sample leverages Netcode
+ for GameObject's NetworkRigidbody2D component and also showcases object pooling.
+ \n \nThe entry scene for this game is the network scene. From there a game
+ can be hosted or an existing game can be joined. Control the ship using the
+ arrow keys and shoot asteroids (or other players!) using the spacebar. Fly
+ over pickups in the scene to get different temporary buffs for your ship (like
+ increased fly speed or shooting extra bullets)."
+ m_Buttons:
+ - Text:
+ m_Untranslated: I'll explore on my own
+ Tooltip:
+ m_Untranslated:
+ OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11400000, guid: 8542e6feb6e590c469cc4cf87b0dc005, type: 2}
+ m_TargetAssemblyTypeName: TutorialCallbacks, Assembly-CSharp-Editor
+ m_MethodName: LoadSelectionScene
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
+ - m_Target: {fileID: 11400000}
+ m_TargetAssemblyTypeName: Unity.Tutorials.Core.Editor.TutorialWelcomePage,
+ Unity.Tutorials.Core.Editor
+ m_MethodName: CloseCurrentModalDialog
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 1
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset.meta
new file mode 100644
index 000000000..70f085e75
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Tutorial Welcome Page.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4c3b779b1ca4f50499365548284212b4
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset
new file mode 100644
index 000000000..59cc1eaa3
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: df31ca3e810dfc44685ad4f0b62f2cb7, type: 3}
+ m_Name: TutorialCallbacks
+ m_EditorClassIdentifier:
+ m_NetworkScene: {fileID: 102900000, guid: ffe2be76ca2aaeb41804ca99ef05206b, type: 3}
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset.meta
new file mode 100644
index 000000000..77cd88fd0
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8542e6feb6e590c469cc4cf87b0dc005
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs
new file mode 100644
index 000000000..b66a5692a
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs
@@ -0,0 +1,39 @@
+using UnityEngine;
+using UnityEditor;
+using Unity.Tutorials.Core.Editor;
+
+///
+/// Implement your Tutorial callbacks here.
+///
+[CreateAssetMenu(fileName = DefaultFileName, menuName = "Tutorials/" + DefaultFileName + " Instance")]
+public class TutorialCallbacks : ScriptableObject
+{
+ [SerializeField] SceneAsset m_NetworkScene;
+
+ ///
+ /// The default file name used to create asset of this class type.
+ ///
+ public const string DefaultFileName = "TutorialCallbacks";
+
+ ///
+ /// Creates a TutorialCallbacks asset and shows it in the Project window.
+ ///
+ ///
+ /// A relative path to the project's root. If not provided, the Project window's currently active folder path is used.
+ ///
+ /// The created asset
+ public static ScriptableObject CreateAndShowAsset(string assetPath = null)
+ {
+ assetPath = assetPath ?? $"{TutorialEditorUtils.GetActiveFolderPath()}/{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
+ Selection.activeObject = asset;
+ return asset;
+ }
+
+ public void LoadSelectionScene()
+ {
+ UnityEditor.SceneManagement.EditorSceneManager.OpenScene(AssetDatabase.GetAssetPath(m_NetworkScene));
+ }
+}
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs.meta
new file mode 100644
index 000000000..a38ca9711
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/TutorialCallbacks.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: df31ca3e810dfc44685ad4f0b62f2cb7
\ No newline at end of file
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png
new file mode 100644
index 000000000..2609523ac
Binary files /dev/null and b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png differ
diff --git a/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png.meta b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png.meta
new file mode 100644
index 000000000..4f7d99d06
--- /dev/null
+++ b/Basic/2DSpaceShooter/Assets/Editor/Tutorials/Unity Hub.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: 8576aa46b4a12304ca79422a0bc9495d
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ 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: 4
+ 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: 4
+ 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
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Readme.asset b/Basic/2DSpaceShooter/Assets/Readme.asset
deleted file mode 100644
index b59207fc6..000000000
--- a/Basic/2DSpaceShooter/Assets/Readme.asset
+++ /dev/null
@@ -1,42 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3c6391202b371bf4f9b33f30f57e6b4c, type: 3}
- m_Name: Readme
- m_EditorClassIdentifier:
- icon: {fileID: 2800000, guid: 6032b1899b04de841b94d52688040780, type: 3}
- title: '2DSpaceShooter: A Bitesize Sample'
- sections:
- - heading: 2DSpaceShooter
- text: 'The 2DSpaceShooter sample is a bitesize sample designed to demonstrate
- networked 2D and physics-based character movement. This sample leverages Netcode
- for GameObject''s (Netcode) NetworkRigidbody2D component and also showcases
- object pooling. Read more about the sample from the '
- linkText: 2DSpaceShooter bitesize sample documentation page.
- url: https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-spaceshooter/index.html
- - heading:
- text: The entry scene for this game is the network scene. From there a game can
- be hosted or an existing game can be joined. Control the ship using WASD and
- shoot asteroids (or other players!) using the spacebar. Fly over pickups in
- the scene to get different temporary buffs for your ship (like increased fly
- speed or shooting extra bullets).
- linkText:
- url:
- - heading:
- text: 'To read more about Netcode and its built-in features, see the '
- linkText: Netcode documentation.
- url: https://docs-multiplayer.unity3d.com/
- - heading:
- text: 'For more information about this bitesize sample or our other bitesize
- samples, see the GitHub repo Readme from the '
- linkText: Bitesize Samples GitHub public repository.
- url: https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize
- loadedLayout: 1
diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs b/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs
deleted file mode 100644
index b195a3041..000000000
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs
+++ /dev/null
@@ -1,184 +0,0 @@
-using UnityEngine;
-using UnityEditor;
-using System;
-using System.IO;
-using System.Reflection;
-
-///
-/// Custom readme editor window based on the readme created for URP. For more context, see:
-/// https://github.com/Unity-Technologies/Graphics/tree/master/com.unity.template-universal
-///
-[CustomEditor(typeof(Readme))]
-[InitializeOnLoad]
-public class ReadmeEditor : UnityEditor.Editor
-{
- const string k_ShowedReadmeSessionStateName = "ReadmeEditor.showedReadme";
-
- const float k_Space = 16f;
-
- bool m_Initialized;
-
- [SerializeField]
- GUIStyle m_LinkStyle;
-
- GUIStyle LinkStyle
- {
- get { return m_LinkStyle; }
- }
-
- [SerializeField]
- GUIStyle m_TitleStyle;
-
- GUIStyle TitleStyle
- {
- get { return m_TitleStyle; }
- }
-
- [SerializeField]
- GUIStyle m_HeadingStyle;
-
- GUIStyle HeadingStyle
- {
- get { return m_HeadingStyle; }
- }
-
- [SerializeField]
- GUIStyle m_BodyStyle;
-
- GUIStyle BodyStyle
- {
- get { return m_BodyStyle; }
- }
-
- static ReadmeEditor()
- {
- EditorApplication.delayCall += SelectReadmeAutomatically;
- }
-
- static void SelectReadmeAutomatically()
- {
- if (!SessionState.GetBool(k_ShowedReadmeSessionStateName, false))
- {
- var readme = SelectReadme();
- SessionState.SetBool(k_ShowedReadmeSessionStateName, true);
-
- if (readme && !readme.loadedLayout)
- {
- LoadLayout();
- readme.loadedLayout = true;
- }
- }
- }
-
- static void LoadLayout()
- {
- var assembly = typeof(EditorApplication).Assembly;
- var windowLayoutType = assembly.GetType("UnityEditor.WindowLayout", true);
- var method = windowLayoutType.GetMethod("LoadWindowLayout", BindingFlags.Public | BindingFlags.Static);
- method?.Invoke(null, new object[] { Path.Combine(Application.dataPath, "TutorialInfo/Layout.wlt"), false });
- }
-
- [MenuItem("Sample/Show Sample Instructions")]
- static Readme SelectReadme()
- {
- var ids = AssetDatabase.FindAssets("Readme t:Readme");
- if (ids.Length == 1)
- {
- var readmeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(ids[0]));
-
- Selection.objects = new UnityEngine.Object[] { readmeObject };
-
- return (Readme)readmeObject;
- }
- else
- {
- Debug.Log("Couldn't find a readme");
- return null;
- }
- }
-
- protected override void OnHeaderGUI()
- {
- var readme = (Readme)target;
- Init();
-
- var iconWidth = Mathf.Min(EditorGUIUtility.currentViewWidth / 3f - 20f, 128f);
-
- GUILayout.BeginHorizontal("In BigTitle");
- {
- GUILayout.Label(readme.icon, GUILayout.Width(iconWidth), GUILayout.Height(iconWidth));
- GUILayout.Label(readme.title, TitleStyle);
- }
- GUILayout.EndHorizontal();
- }
-
- public override void OnInspectorGUI()
- {
- var readme = (Readme)target;
- Init();
-
- foreach (var section in readme.sections)
- {
- if (!string.IsNullOrEmpty(section.heading))
- {
- GUILayout.Label(section.heading, HeadingStyle);
- }
-
- if (!string.IsNullOrEmpty(section.text))
- {
- GUILayout.Label(section.text, BodyStyle);
- }
-
- if (!string.IsNullOrEmpty(section.linkText))
- {
- if (LinkLabel(new GUIContent(section.linkText)))
- {
- Application.OpenURL(section.url);
- }
- }
-
- GUILayout.Space(k_Space);
- }
- }
-
-
-
- void Init()
- {
- if (m_Initialized)
- return;
- m_BodyStyle = new GUIStyle(EditorStyles.label);
- m_BodyStyle.wordWrap = true;
- m_BodyStyle.fontSize = 14;
-
- m_TitleStyle = new GUIStyle(m_BodyStyle);
- m_TitleStyle.fontSize = 26;
-
- m_HeadingStyle = new GUIStyle(m_BodyStyle);
- m_HeadingStyle.fontSize = 18;
-
- m_LinkStyle = new GUIStyle(m_BodyStyle);
- m_LinkStyle.wordWrap = false;
-
- // Match selection color which works nicely for both light and dark skins
- m_LinkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f);
- m_LinkStyle.stretchWidth = false;
-
- m_Initialized = true;
- }
-
- bool LinkLabel(GUIContent label, params GUILayoutOption[] options)
- {
- var position = GUILayoutUtility.GetRect(label, LinkStyle, options);
-
- Handles.BeginGUI();
- Handles.color = LinkStyle.normal.textColor;
- Handles.DrawLine(new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax));
- Handles.color = Color.white;
- Handles.EndGUI();
-
- EditorGUIUtility.AddCursorRect(position, MouseCursor.Link);
-
- return GUI.Button(position, label, LinkStyle);
- }
-}
diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta b/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta
deleted file mode 100644
index c983193b3..000000000
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Editor/ReadmeEditor.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: efbe9544bce578744877ba377e548dcf
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs b/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs
deleted file mode 100644
index b6863f0aa..000000000
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System;
-using UnityEngine;
-
-///
-/// Custom readme class based on the readme created for URP. For more context, see:
-/// https://github.com/Unity-Technologies/Graphics/tree/master/com.unity.template-universal
-///
-[CreateAssetMenu]
-public class Readme : ScriptableObject
-{
- public Texture2D icon;
- public string title;
- public Section[] sections;
- public bool loadedLayout;
-
- [Serializable]
- public class Section
- {
- public string heading;
- public string text;
- public string linkText;
- public string url;
- }
-}
diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs.meta b/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs.meta
deleted file mode 100644
index 5bed3e6a6..000000000
--- a/Basic/2DSpaceShooter/Assets/Scripts/Readme/Readme.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 3c6391202b371bf4f9b33f30f57e6b4c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Basic/2DSpaceShooter/Packages/manifest.json b/Basic/2DSpaceShooter/Packages/manifest.json
index fadd5495b..8c5ebaef2 100644
--- a/Basic/2DSpaceShooter/Packages/manifest.json
+++ b/Basic/2DSpaceShooter/Packages/manifest.json
@@ -5,6 +5,7 @@
"com.unity.collab-proxy": "2.5.2",
"com.unity.ide.rider": "3.0.34",
"com.unity.ide.visualstudio": "2.0.22",
+ "com.unity.learn.iet-framework.authoring": "1.2.1",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.multiplayer.playmode": "1.3.2",
"com.unity.multiplayer.samples.coop": "https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop#v2.4.0",
diff --git a/Basic/2DSpaceShooter/Packages/packages-lock.json b/Basic/2DSpaceShooter/Packages/packages-lock.json
index d0c0f4dd2..0ff966046 100644
--- a/Basic/2DSpaceShooter/Packages/packages-lock.json
+++ b/Basic/2DSpaceShooter/Packages/packages-lock.json
@@ -86,6 +86,15 @@
},
"url": "https://packages.unity.com"
},
+ "com.unity.learn.iet-framework.authoring": {
+ "version": "1.2.1",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.learn.iet-framework": "3.1.1"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.mathematics": {
"version": "1.3.2",
"depth": 2,
diff --git a/Basic/2DSpaceShooter/ProjectSettings/Packages/com.unity.learn.iet-framework/Settings.json b/Basic/2DSpaceShooter/ProjectSettings/Packages/com.unity.learn.iet-framework/Settings.json
new file mode 100644
index 000000000..7c3292336
--- /dev/null
+++ b/Basic/2DSpaceShooter/ProjectSettings/Packages/com.unity.learn.iet-framework/Settings.json
@@ -0,0 +1,11 @@
+{
+ "m_Dictionary": {
+ "m_DictionaryValues": [
+ {
+ "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "IET.DisplayWelcomeDialogOnStartup",
+ "value": "{\"m_Value\":true}"
+ }
+ ]
+ }
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f0ad19394..fc3488071 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,9 @@
### 2D Space Shooter
+#### Added
+- Added a welcome dialog and the standard Table of Contents for Bitesize Samples to 2D Space Shooter Sample
+
#### Changed
- Update Project to Unity 6
- Replaced 3rd party ParrelSync package with Unity's Multiplayer Play Mode