diff --git a/template-game/.template.config/template.json b/osu.Framework.Templates/.template.config/template.json
similarity index 100%
rename from template-game/.template.config/template.json
rename to osu.Framework.Templates/.template.config/template.json
diff --git a/osu.Framework.Templates/osu.Framework.Templates.csproj b/osu.Framework.Templates/osu.Framework.Templates.csproj
new file mode 100644
index 000000000..ce679e9af
--- /dev/null
+++ b/osu.Framework.Templates/osu.Framework.Templates.csproj
@@ -0,0 +1,22 @@
+
+
+ netstandard2.1
+
+
+ osu!framework game template
+ osu!framework game template
+ Create a game powered by osu!framework.
+ ppy.osu.Framework.Templates
+ Template
+ osu game template framework
+ https://github.com/ppy/osu-framework/tree/master/template-game
+ https://github.com/ppy/osu-framework/tree/master/template-game
+ true
+ false
+ templates
+
+
+
+
+
+
diff --git a/template-game/.editorconfig b/osu.Framework.Templates/templates/template-game/.editorconfig
similarity index 100%
rename from template-game/.editorconfig
rename to osu.Framework.Templates/templates/template-game/.editorconfig
diff --git a/osu.Framework.Templates/templates/template-game/.template.config/template.json b/osu.Framework.Templates/templates/template-game/.template.config/template.json
new file mode 100644
index 000000000..5349b7c91
--- /dev/null
+++ b/osu.Framework.Templates/templates/template-game/.template.config/template.json
@@ -0,0 +1,16 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "ppy Pty Ltd",
+ "classifications": [
+ "Console"
+ ],
+ "name": "osu!framework game template",
+ "identity": "ppy.osu.Framework.Templates",
+ "shortName": "osu-framework-game",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "TemplateGame",
+ "preferNameDirectory": true
+}
diff --git a/template-game/.vscode/launch.json b/osu.Framework.Templates/templates/template-game/.vscode/launch.json
similarity index 100%
rename from template-game/.vscode/launch.json
rename to osu.Framework.Templates/templates/template-game/.vscode/launch.json
diff --git a/template-game/.vscode/tasks.json b/osu.Framework.Templates/templates/template-game/.vscode/tasks.json
similarity index 100%
rename from template-game/.vscode/tasks.json
rename to osu.Framework.Templates/templates/template-game/.vscode/tasks.json
diff --git a/template-game/Directory.Build.props b/osu.Framework.Templates/templates/template-game/Directory.Build.props
similarity index 100%
rename from template-game/Directory.Build.props
rename to osu.Framework.Templates/templates/template-game/Directory.Build.props
diff --git a/template-game/TemplateGame.Desktop.slnf b/osu.Framework.Templates/templates/template-game/TemplateGame.Desktop.slnf
similarity index 100%
rename from template-game/TemplateGame.Desktop.slnf
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Desktop.slnf
diff --git a/template-game/TemplateGame.Desktop/Program.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/Program.cs
similarity index 100%
rename from template-game/TemplateGame.Desktop/Program.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/Program.cs
diff --git a/template-game/TemplateGame.Desktop/TemplateGame.Desktop.csproj b/osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/TemplateGame.Desktop.csproj
similarity index 100%
rename from template-game/TemplateGame.Desktop/TemplateGame.Desktop.csproj
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/TemplateGame.Desktop.csproj
diff --git a/template-game/TemplateGame.Desktop/app.manifest b/osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/app.manifest
similarity index 100%
rename from template-game/TemplateGame.Desktop/app.manifest
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/app.manifest
diff --git a/template-game/TemplateGame.Desktop/game.ico b/osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/game.ico
similarity index 100%
rename from template-game/TemplateGame.Desktop/game.ico
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Desktop/game.ico
diff --git a/template-game/TemplateGame.Game.Tests/Program.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Program.cs
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/Program.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Program.cs
diff --git a/template-game/TemplateGame.Game.Tests/TemplateGame.Game.Tests.csproj b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/TemplateGame.Game.Tests.csproj
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/TemplateGame.Game.Tests.csproj
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/TemplateGame.Game.Tests.csproj
diff --git a/template-game/TemplateGame.Game.Tests/TemplateGameTestBrowser.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/TemplateGameTestBrowser.cs
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/TemplateGameTestBrowser.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/TemplateGameTestBrowser.cs
diff --git a/template-game/TemplateGame.Game.Tests/Visual/TestSceneMainScreen.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneMainScreen.cs
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/Visual/TestSceneMainScreen.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneMainScreen.cs
diff --git a/template-game/TemplateGame.Game.Tests/Visual/TestSceneSpinningBox.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneSpinningBox.cs
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/Visual/TestSceneSpinningBox.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneSpinningBox.cs
diff --git a/template-game/TemplateGame.Game.Tests/Visual/TestSceneTemplateGameGame.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneTemplateGameGame.cs
similarity index 100%
rename from template-game/TemplateGame.Game.Tests/Visual/TestSceneTemplateGameGame.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game.Tests/Visual/TestSceneTemplateGameGame.cs
diff --git a/template-game/TemplateGame.Game/MainScreen.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game/MainScreen.cs
similarity index 100%
rename from template-game/TemplateGame.Game/MainScreen.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game/MainScreen.cs
diff --git a/template-game/TemplateGame.Game/SpinningBox.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game/SpinningBox.cs
similarity index 100%
rename from template-game/TemplateGame.Game/SpinningBox.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game/SpinningBox.cs
diff --git a/template-game/TemplateGame.Game/TemplateGame.Game.csproj b/osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGame.Game.csproj
similarity index 100%
rename from template-game/TemplateGame.Game/TemplateGame.Game.csproj
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGame.Game.csproj
diff --git a/template-game/TemplateGame.Game/TemplateGameGame.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGameGame.cs
similarity index 100%
rename from template-game/TemplateGame.Game/TemplateGameGame.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGameGame.cs
diff --git a/template-game/TemplateGame.Game/TemplateGameGameBase.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGameGameBase.cs
similarity index 100%
rename from template-game/TemplateGame.Game/TemplateGameGameBase.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Game/TemplateGameGameBase.cs
diff --git a/template-game/TemplateGame.Resources/ResourceAssembly.cs b/osu.Framework.Templates/templates/template-game/TemplateGame.Resources/ResourceAssembly.cs
similarity index 100%
rename from template-game/TemplateGame.Resources/ResourceAssembly.cs
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Resources/ResourceAssembly.cs
diff --git a/template-game/TemplateGame.Resources/TemplateGame.Resources.csproj b/osu.Framework.Templates/templates/template-game/TemplateGame.Resources/TemplateGame.Resources.csproj
similarity index 100%
rename from template-game/TemplateGame.Resources/TemplateGame.Resources.csproj
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Resources/TemplateGame.Resources.csproj
diff --git a/template-game/TemplateGame.Resources/Textures/logo.png b/osu.Framework.Templates/templates/template-game/TemplateGame.Resources/Textures/logo.png
similarity index 100%
rename from template-game/TemplateGame.Resources/Textures/logo.png
rename to osu.Framework.Templates/templates/template-game/TemplateGame.Resources/Textures/logo.png
diff --git a/template-game/TemplateGame.sln b/osu.Framework.Templates/templates/template-game/TemplateGame.sln
similarity index 100%
rename from template-game/TemplateGame.sln
rename to osu.Framework.Templates/templates/template-game/TemplateGame.sln
diff --git a/template-game/TemplateGame.sln.DotSettings b/osu.Framework.Templates/templates/template-game/TemplateGame.sln.DotSettings
similarity index 100%
rename from template-game/TemplateGame.sln.DotSettings
rename to osu.Framework.Templates/templates/template-game/TemplateGame.sln.DotSettings
diff --git a/template-game/app.manifest b/osu.Framework.Templates/templates/template-game/app.manifest
similarity index 100%
rename from template-game/app.manifest
rename to osu.Framework.Templates/templates/template-game/app.manifest
diff --git a/template-game/osu.Framework.Template.csproj b/osu.Framework.Templates/templates/template-game/osu.Framework.Template.csproj
similarity index 100%
rename from template-game/osu.Framework.Template.csproj
rename to osu.Framework.Templates/templates/template-game/osu.Framework.Template.csproj
diff --git a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/.name b/template-game/.idea/.idea.TemplateGame.Desktop/.idea/.name
deleted file mode 100644
index 6472e34f4..000000000
--- a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-TemplateGame.Desktop
\ No newline at end of file
diff --git a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Desktop.xml b/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Desktop.xml
deleted file mode 100644
index d473589ea..000000000
--- a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Desktop.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Tests.xml b/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Tests.xml
deleted file mode 100644
index 7c9741c33..000000000
--- a/template-game/.idea/.idea.TemplateGame.Desktop/.idea/runConfigurations/TemplateGame_Tests.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file