diff --git a/misc/UWP/Package.appxmanifest b/misc/UWP/Package.appxmanifest
new file mode 100644
index 000000000..16a33975a
--- /dev/null
+++ b/misc/UWP/Package.appxmanifest
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+ ClassiCube-UWP
+ ClassiCube
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/misc/UWP/Source.cpp b/misc/UWP/Source.cpp
new file mode 100644
index 000000000..0b700660a
--- /dev/null
+++ b/misc/UWP/Source.cpp
@@ -0,0 +1,76 @@
+using namespace Windows::ApplicationModel;
+using namespace Windows::ApplicationModel::Core;
+using namespace Windows::ApplicationModel::Activation;
+using namespace Windows::Devices::Input;
+using namespace Windows::Graphics::Display;
+using namespace Windows::Foundation;
+using namespace Windows::System;
+using namespace Windows::UI::Core;
+using namespace Windows::UI::Input;
+using namespace Platform;
+
+void Launch_Browser(void) {
+ wchar_t* tmp = L"https://google.com";
+ auto str = ref new String(tmp);
+ auto uri = ref new Uri(str);
+
+ auto options = ref new Windows::System::LauncherOptions();
+ options->TreatAsUntrusted = true;
+ Windows::System::Launcher::LaunchUriAsync(uri, options);
+}
+
+void OpenFileDialog(void) {
+ auto picker = ref new Windows::Storage::Pickers::FileOpenPicker();
+ picker->FileTypeFilter->Append(ref new String(L".jpg"));
+ picker->FileTypeFilter->Append(ref new String(L".jpeg"));
+ picker->FileTypeFilter->Append(ref new String(L".png"));
+
+ //Windows::Storage::StorageFile file = picker->PickSingleFileAsync();
+}
+
+ref class CCApp sealed : IFrameworkView
+{
+public:
+ virtual void Initialize(CoreApplicationView^ view)
+ {
+ }
+
+ virtual void Load(String^ EntryPoint)
+ {
+ }
+
+ virtual void Uninitialize()
+ {
+ }
+
+ virtual void Run()
+ {
+ CoreWindow^ window = CoreWindow::GetForCurrentThread();
+ window->Activate();
+ Launch_Browser();
+
+ CoreDispatcher^ dispatcher = window->Dispatcher;
+ dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
+ }
+
+ virtual void SetWindow(CoreWindow^ win)
+ {
+ }
+};
+
+ref class CCAppSource sealed : IFrameworkViewSource
+{
+public:
+ virtual IFrameworkView^ CreateView()
+ {
+ return ref new CCApp();
+ }
+};
+
+[MTAThread]
+int main(Array^ args)
+{
+ //init_apartment();
+ auto source = ref new CCAppSource();
+ CoreApplication::Run(source);
+}
\ No newline at end of file
diff --git a/misc/UWP/assets/LockScreenLogo.scale-200.png b/misc/UWP/assets/LockScreenLogo.scale-200.png
new file mode 100644
index 000000000..735f57adb
Binary files /dev/null and b/misc/UWP/assets/LockScreenLogo.scale-200.png differ
diff --git a/misc/UWP/assets/SplashScreen.scale-200.png b/misc/UWP/assets/SplashScreen.scale-200.png
new file mode 100644
index 000000000..023e7f1fe
Binary files /dev/null and b/misc/UWP/assets/SplashScreen.scale-200.png differ
diff --git a/misc/UWP/assets/Square150x150Logo.scale-200.png b/misc/UWP/assets/Square150x150Logo.scale-200.png
new file mode 100644
index 000000000..af49fec1a
Binary files /dev/null and b/misc/UWP/assets/Square150x150Logo.scale-200.png differ
diff --git a/misc/UWP/assets/Square44x44Logo.scale-200.png b/misc/UWP/assets/Square44x44Logo.scale-200.png
new file mode 100644
index 000000000..ce342a2ec
Binary files /dev/null and b/misc/UWP/assets/Square44x44Logo.scale-200.png differ
diff --git a/misc/UWP/assets/Square44x44Logo.targetsize-24_altform-unplated.png b/misc/UWP/assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 000000000..f6c02ce97
Binary files /dev/null and b/misc/UWP/assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/misc/UWP/assets/StoreLogo.png b/misc/UWP/assets/StoreLogo.png
new file mode 100644
index 000000000..7385b56c0
Binary files /dev/null and b/misc/UWP/assets/StoreLogo.png differ
diff --git a/misc/UWP/assets/Wide310x150Logo.scale-200.png b/misc/UWP/assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 000000000..288995b39
Binary files /dev/null and b/misc/UWP/assets/Wide310x150Logo.scale-200.png differ