diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/App.obj b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/App.obj
new file mode 100644
index 00000000..1307178b
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/App.obj differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.obj b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.obj
new file mode 100644
index 00000000..66a2b475
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.obj differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.pch b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.pch
new file mode 100644
index 00000000..edd57b0f
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/pch.pch differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.command.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.command.1.tlog
new file mode 100644
index 00000000..8ee21549
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.command.1.tlog differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.read.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.read.1.tlog
new file mode 100644
index 00000000..c7e85852
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.read.1.tlog differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.write.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.write.1.tlog
new file mode 100644
index 00000000..d9d745a6
Binary files /dev/null and b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/CL.write.1.tlog differ
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.command.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.command.1.tlog
new file mode 100644
index 00000000..46b134b1
--- /dev/null
+++ b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.command.1.tlog
@@ -0,0 +1 @@
+��
\ No newline at end of file
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.read.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.read.1.tlog
new file mode 100644
index 00000000..46b134b1
--- /dev/null
+++ b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.read.1.tlog
@@ -0,0 +1 @@
+��
\ No newline at end of file
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.write.1.tlog b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.write.1.tlog
new file mode 100644
index 00000000..46b134b1
--- /dev/null
+++ b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/link.write.1.tlog
@@ -0,0 +1 @@
+��
\ No newline at end of file
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/raylib.App.UWP.lastbuildstate b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/raylib.App.UWP.lastbuildstate
new file mode 100644
index 00000000..a690e0ae
--- /dev/null
+++ b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/raylib.App.UWP.lastbuildstate
@@ -0,0 +1,2 @@
+#TargetFrameworkVersion=:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.14393.0
+Release|ARM|C:\Users\Sam\Documents\GitHub\raylib\project\vs2015.UWP\|
diff --git a/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/unsuccessfulbuild b/project/vs2015.UWP/raylib.App.UWP/ARM/Release/raylib.App.UWP.tlog/unsuccessfulbuild
new file mode 100644
index 00000000..e69de29b
diff --git a/project/vs2015.UWP/raylib.App.UWP/App.cpp b/project/vs2015.UWP/raylib.App.UWP/App.cpp
index 8fe9bc19..2b3c2d9a 100644
--- a/project/vs2015.UWP/raylib.App.UWP/App.cpp
+++ b/project/vs2015.UWP/raylib.App.UWP/App.cpp
@@ -23,14 +23,23 @@ using namespace raylibUWP;
 #define MAX_GAMEPADS              4         // Max number of gamepads supported
 #define MAX_GAMEPAD_BUTTONS       32        // Max bumber of buttons supported (per gamepad)
 #define MAX_GAMEPAD_AXIS          8         // Max number of axis supported (per gamepad)
-
 static bool gamepadReady[MAX_GAMEPADS] = { false };             // Flag to know if gamepad is ready
 static float gamepadAxisState[MAX_GAMEPADS][MAX_GAMEPAD_AXIS];  // Gamepad axis state
 static char previousGamepadState[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS];    // Previous gamepad buttons state
 static char currentGamepadState[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS];     // Current gamepad buttons state
 
+//#define MAX_KEYS 512
+static char previousKeyState[512] = { 0 };  // Contains previous frame keyboard state
+static char currentKeyState[512] = { 0 };   // Contains current frame keyboard state
+
 void UWP_PollInput()
 {
+	// Register previous keyboard state
+	for (int k = 0; k < 512; k++) previousKeyState[k] = currentKeyState[k];
+	// NOTE: Since UWP updates key state while our game is processing, the current key state really is the CURRENT, most up to date key state - not the key state from last frame.
+	// If we register the current key state as the last key state right before processing the frame, prev and current keyboard states will nearly always be identical.
+	// In the future, we should either create a third cache for windows to write key changes into, or better yet, just poll the keyboard using CoreWindow's GetKeyState https://docs.microsoft.com/en-us/uwp/api/windows.ui.core.corewindow#Windows_UI_Core_CoreWindow_GetKeyState_Windows_System_VirtualKey_
+			
 	// Check if gamepads are ready
 	for (int i = 0; i < MAX_GAMEPADS; i++)
 	{
@@ -77,9 +86,138 @@ void UWP_PollInput()
 			gamepadAxisState[i][GAMEPAD_XBOX_AXIS_RT] = reading.RightTrigger;
 		}
 	}
+
 }
 
-/* OTHER CODE*/
+// Stand-ins for "core.c" variables
+
+											// NOTE(sam): We could also poll for all keys every frame using CoreWindow's GetKeyState https://docs.microsoft.com/en-us/uwp/api/windows.ui.core.corewindow#Windows_UI_Core_CoreWindow_GetKeyState_Windows_System_VirtualKey_
+											// Helper to process key events
+inline void ProcessKeyEvent(Windows::System::VirtualKey key, int action)
+{
+	using Windows::System::VirtualKey;
+	switch (key)
+	{
+	case VirtualKey::Space: currentKeyState[KEY_SPACE] = action; break;
+	case VirtualKey::Escape: currentKeyState[KEY_ESCAPE] = action; break;
+	case VirtualKey::Enter: currentKeyState[KEY_ENTER] = action; break;
+	case VirtualKey::Delete: currentKeyState[KEY_BACKSPACE] = action; break;
+	case VirtualKey::Right: currentKeyState[KEY_RIGHT] = action; break;
+	case VirtualKey::Left: currentKeyState[KEY_LEFT] = action; break;
+	case VirtualKey::Down: currentKeyState[KEY_DOWN] = action; break;
+	case VirtualKey::Up: currentKeyState[KEY_UP] = action; break;
+	case VirtualKey::F1: currentKeyState[KEY_F1] = action; break;
+	case VirtualKey::F2: currentKeyState[KEY_F2] = action; break;
+	case VirtualKey::F3: currentKeyState[KEY_F4] = action; break;
+	case VirtualKey::F4: currentKeyState[KEY_F5] = action; break;
+	case VirtualKey::F5: currentKeyState[KEY_F6] = action; break;
+	case VirtualKey::F6: currentKeyState[KEY_F7] = action; break;
+	case VirtualKey::F7: currentKeyState[KEY_F8] = action; break;
+	case VirtualKey::F8: currentKeyState[KEY_F9] = action; break;
+	case VirtualKey::F9: currentKeyState[KEY_F10] = action; break;
+	case VirtualKey::F10: currentKeyState[KEY_F11] = action; break;
+	case VirtualKey::F11: currentKeyState[KEY_F12] = action; break;
+	case VirtualKey::LeftShift: currentKeyState[KEY_LEFT_SHIFT] = action; break;
+	case VirtualKey::LeftControl: currentKeyState[KEY_LEFT_CONTROL] = action; break;
+	case VirtualKey::LeftMenu: currentKeyState[KEY_LEFT_ALT] = action; break; // NOTE: Potential UWP bug with Alt key: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/9bebfb0a-7637-400e-8bda-e55620091407/unexpected-behavior-in-windowscoreuicorephysicalkeystatusismenukeydown
+	case VirtualKey::RightShift: currentKeyState[KEY_RIGHT_SHIFT] = action; break;
+	case VirtualKey::RightControl: currentKeyState[KEY_RIGHT_CONTROL] = action; break;
+	case VirtualKey::RightMenu: currentKeyState[KEY_RIGHT_ALT] = action; break;
+	case VirtualKey::Number0: currentKeyState[KEY_ZERO] = action; break;
+	case VirtualKey::Number1: currentKeyState[KEY_ONE] = action; break;
+	case VirtualKey::Number2: currentKeyState[KEY_TWO] = action; break;
+	case VirtualKey::Number3: currentKeyState[KEY_THREE] = action; break;
+	case VirtualKey::Number4: currentKeyState[KEY_FOUR] = action; break;
+	case VirtualKey::Number5: currentKeyState[KEY_FIVE] = action; break;
+	case VirtualKey::Number6: currentKeyState[KEY_SIX] = action; break;
+	case VirtualKey::Number7: currentKeyState[KEY_SEVEN] = action; break;
+	case VirtualKey::Number8: currentKeyState[KEY_EIGHT] = action; break;
+	case VirtualKey::Number9: currentKeyState[KEY_NINE] = action; break;
+	case VirtualKey::A: currentKeyState[KEY_A] = action; break;
+	case VirtualKey::B: currentKeyState[KEY_B] = action; break;
+	case VirtualKey::C: currentKeyState[KEY_C] = action; break;
+	case VirtualKey::D: currentKeyState[KEY_D] = action; break;
+	case VirtualKey::E: currentKeyState[KEY_E] = action; break;
+	case VirtualKey::F: currentKeyState[KEY_F] = action; break;
+	case VirtualKey::G: currentKeyState[KEY_G] = action; break;
+	case VirtualKey::H: currentKeyState[KEY_H] = action; break;
+	case VirtualKey::I: currentKeyState[KEY_I] = action; break;
+	case VirtualKey::J: currentKeyState[KEY_J] = action; break;
+	case VirtualKey::K: currentKeyState[KEY_K] = action; break;
+	case VirtualKey::L: currentKeyState[KEY_L] = action; break;
+	case VirtualKey::M: currentKeyState[KEY_M] = action; break;
+	case VirtualKey::N: currentKeyState[KEY_N] = action; break;
+	case VirtualKey::O: currentKeyState[KEY_O] = action; break;
+	case VirtualKey::P: currentKeyState[KEY_P] = action; break;
+	case VirtualKey::Q: currentKeyState[KEY_Q] = action; break;
+	case VirtualKey::R: currentKeyState[KEY_R] = action; break;
+	case VirtualKey::S: currentKeyState[KEY_S] = action; break;
+	case VirtualKey::T: currentKeyState[KEY_T] = action; break;
+	case VirtualKey::U: currentKeyState[KEY_U] = action; break;
+	case VirtualKey::V: currentKeyState[KEY_V] = action; break;
+	case VirtualKey::W: currentKeyState[KEY_W] = action; break;
+	case VirtualKey::X: currentKeyState[KEY_X] = action; break;
+	case VirtualKey::Y: currentKeyState[KEY_Y] = action; break;
+	case VirtualKey::Z: currentKeyState[KEY_Z] = action; break;
+
+	}
+}
+
+void App::OnKeyDown(CoreWindow ^ sender, KeyEventArgs ^ args)
+{
+	ProcessKeyEvent(args->VirtualKey, 1);
+}
+
+void App::OnKeyUp(CoreWindow ^ sender, KeyEventArgs ^ args)
+{
+	ProcessKeyEvent(args->VirtualKey, 0);
+}
+
+// The following functions were reimplemented for UWP from core.c
+static bool GetKeyStatus(int key)
+{
+	return currentKeyState[key];
+}
+
+// The following functions were ripped from core.c
+// Detect if a key has been pressed once
+bool UWPIsKeyPressed(int key)
+{
+	bool pressed = false;
+	
+	if ((currentKeyState[key] != previousKeyState[key]) && (currentKeyState[key] == 1))
+		pressed = true;
+	else pressed = false;
+
+	return pressed;
+}
+
+// Detect if a key is being pressed (key held down)
+bool UWPIsKeyDown(int key)
+{
+	if (GetKeyStatus(key) == 1) return true;
+	else return false;
+}
+
+// Detect if a key has been released once
+bool UWPIsKeyReleased(int key)
+{
+	bool released = false;
+
+	if ((currentKeyState[key] != previousKeyState[key]) && (currentKeyState[key] == 0)) released = true;
+	else released = false;
+
+	return released;
+}
+
+// Detect if a key is NOT being pressed (key not held down)
+bool UWPIsKeyUp(int key)
+{
+	if (GetKeyStatus(key) == 0) return true;
+	else return false;
+}
+
+/* OTHER CODE */
 
 // Helper to convert a length in device-independent pixels (DIPs) to a length in physical pixels.
 inline float ConvertDipsToPixels(float dips, float dpi)
@@ -139,6 +277,8 @@ void App::SetWindow(CoreWindow^ window)
 	currentDisplayInformation->DpiChanged += ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnDpiChanged);
 	currentDisplayInformation->OrientationChanged += ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnOrientationChanged);
 
+	window->KeyDown += ref new TypedEventHandler<CoreWindow ^, KeyEventArgs ^>(this, &App::OnKeyDown);
+	window->KeyUp += ref new TypedEventHandler<CoreWindow ^, KeyEventArgs ^>(this, &App::OnKeyUp);
 
     // The CoreWindow has been created, so EGL can be initialized.
 	InitWindow(800, 450, (EGLNativeWindowType)window);
@@ -150,6 +290,8 @@ void App::Load(Platform::String^ entryPoint)
     // InitWindow() --> rlglInit()
 }
 
+static int posX = 100;
+static int posY = 100;
 // This method is called after the window becomes active.
 void App::Run()
 {
@@ -157,18 +299,33 @@ void App::Run()
     {
         if (mWindowVisible)
         {
-			// Update
-
+			
 			// Draw
 			BeginDrawing();
 
 				ClearBackground(RAYWHITE);
-
-				DrawRectangle(100, 100, 400, 100, RED);
+				
+				
+				posX += gamepadAxisState[GAMEPAD_PLAYER1][GAMEPAD_XBOX_AXIS_LEFT_X] * 5;
+				posY += gamepadAxisState[GAMEPAD_PLAYER1][GAMEPAD_XBOX_AXIS_LEFT_Y] * -5;
+				DrawRectangle(posX, posY, 400, 100, RED);
 
 				DrawLine(0, 0, GetScreenWidth(), GetScreenHeight(), BLUE);
 
+
+				if(UWPIsKeyDown(KEY_S))
+				{
+					DrawCircle(100, 100, 100, BLUE);
+				}
+
+				if(UWPIsKeyPressed(KEY_A))
+				{
+					posX -= 50;
+				}
+
 		    EndDrawing();
+			// Update
+			UWP_PollInput(); // TODO: Move to beginning of frame - currently at end of frame to accomodate keyboard callback
 
 			CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent);
         }
diff --git a/project/vs2015.UWP/raylib.App.UWP/App.h b/project/vs2015.UWP/raylib.App.UWP/App.h
index 3f27eeb0..66de6cc7 100644
--- a/project/vs2015.UWP/raylib.App.UWP/App.h
+++ b/project/vs2015.UWP/raylib.App.UWP/App.h
@@ -33,6 +33,10 @@ namespace raylibUWP
 		void OnDpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
 		void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
 
+		// Input Event Handlers
+		void OnKeyDown(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args);
+		void OnKeyUp(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args);
+
 	private:
 
         bool mWindowClosed;
diff --git a/project/vs2015.UWP/raylib.App.UWP/packages.config b/project/vs2015.UWP/raylib.App.UWP/packages.config
index 4a5c0b55..70c3dea0 100644
--- a/project/vs2015.UWP/raylib.App.UWP/packages.config
+++ b/project/vs2015.UWP/raylib.App.UWP/packages.config
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="ANGLE.WindowsStore" version="2.1.2" targetFramework="native" />
+  <package id="ANGLE.WindowsStore" version="2.1.13" targetFramework="native" />
 </packages>
\ No newline at end of file
diff --git a/project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj b/project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj
index 307c7394..bc7f27d2 100644
--- a/project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj
+++ b/project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj
@@ -58,10 +58,14 @@
   <PropertyGroup>
     <PackageCertificateKeyFile>raylib.App.UWP.TemporaryKey.pfx</PackageCertificateKeyFile>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+    <IncludePath>C:\Users\Sam\Documents\GitHub\raylib\release\include;$(IncludePath)</IncludePath>
+    <LibraryPath>C:\Users\Sam\Documents\GitHub\raylib\project\vs2015.UWP\raylib\Debug;$(LibraryPath)</LibraryPath>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Platform)'=='ARM'">
     <Link>
-      <AdditionalDependencies>mincore.lib; %(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
+      <AdditionalDependencies>mincore.lib;raylib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\arm;$(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
@@ -73,7 +77,7 @@
   <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
     <Link>
       <AdditionalDependencies>mincore.lib;raylib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>C:\Users\Alumno\Downloads\angle\UWP_OpenGLES2\raylib;%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\amd64;$(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>C:\Users\Sam\Documents\GitHub\raylib\project\vs2015.UWP\x64\Debug;C:\Users\Alumno\Downloads\angle\UWP_OpenGLES2\raylib;%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\amd64;$(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
@@ -85,6 +89,9 @@
       <DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
+    <ProjectReference>
+      <LinkLibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkLibraryDependencies>
+    </ProjectReference>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
     <ClCompile>
@@ -122,19 +129,17 @@
     <AppxManifest Include="Package.appxmanifest">
       <SubType>Designer</SubType>
     </AppxManifest>
-    <None Include="raylib.App.UWP.TemporaryKey.pfx" />
-  </ItemGroup>
-  <ItemGroup>
     <None Include="packages.config" />
+    <None Include="raylib.App.UWP.TemporaryKey.pfx" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
-    <Import Project="..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets" Condition="Exists('..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets')" />
+    <Import Project="..\packages\ANGLE.WindowsStore.2.1.13\build\native\ANGLE.WindowsStore.targets" Condition="Exists('..\packages\ANGLE.WindowsStore.2.1.13\build\native\ANGLE.WindowsStore.targets')" />
   </ImportGroup>
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>
       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets'))" />
+    <Error Condition="!Exists('..\packages\ANGLE.WindowsStore.2.1.13\build\native\ANGLE.WindowsStore.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ANGLE.WindowsStore.2.1.13\build\native\ANGLE.WindowsStore.targets'))" />
   </Target>
 </Project>
\ No newline at end of file
diff --git a/project/vs2015.UWP/raylib.UWP.sln b/project/vs2015.UWP/raylib.UWP.sln
index a2772604..b2f95ca2 100644
--- a/project/vs2015.UWP/raylib.UWP.sln
+++ b/project/vs2015.UWP/raylib.UWP.sln
@@ -36,7 +36,7 @@ Global
 		{B842558C-C034-4E4B-9457-A286F26E83CC}.Release|x86.Build.0 = Release|Win32
 		{B842558C-C034-4E4B-9457-A286F26E83CC}.Release|x86.Deploy.0 = Release|Win32
 		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|ARM.ActiveCfg = Debug|Win32
-		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.ActiveCfg = Debug|Win32
+		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x64.ActiveCfg = Debug|x64
 		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.ActiveCfg = Debug|Win32
 		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.Build.0 = Debug|Win32
 		{E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|ARM.ActiveCfg = Release|Win32
diff --git a/project/vs2015.UWP/raylib/Release/audio.obj b/project/vs2015.UWP/raylib/Release/audio.obj
new file mode 100644
index 00000000..78e1f5c6
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/audio.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/core.obj b/project/vs2015.UWP/raylib/Release/core.obj
new file mode 100644
index 00000000..08f4371a
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/core.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/models.obj b/project/vs2015.UWP/raylib/Release/models.obj
new file mode 100644
index 00000000..003236ca
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/models.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.lib b/project/vs2015.UWP/raylib/Release/raylib.lib
new file mode 100644
index 00000000..c4972753
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.lib differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.command.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.command.1.tlog
new file mode 100644
index 00000000..8a9f8e58
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.command.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.read.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.read.1.tlog
new file mode 100644
index 00000000..39238ed7
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.read.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.write.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.write.1.tlog
new file mode 100644
index 00000000..378c0088
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/CL.write.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.read.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.read.1.tlog
new file mode 100644
index 00000000..9800228d
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.read.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.write.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.write.1.tlog
new file mode 100644
index 00000000..6960e948
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/Lib-link.write.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/lib.command.1.tlog b/project/vs2015.UWP/raylib/Release/raylib.tlog/lib.command.1.tlog
new file mode 100644
index 00000000..1223d942
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/raylib.tlog/lib.command.1.tlog differ
diff --git a/project/vs2015.UWP/raylib/Release/raylib.tlog/raylib.lastbuildstate b/project/vs2015.UWP/raylib/Release/raylib.tlog/raylib.lastbuildstate
new file mode 100644
index 00000000..ec0d340b
--- /dev/null
+++ b/project/vs2015.UWP/raylib/Release/raylib.tlog/raylib.lastbuildstate
@@ -0,0 +1,2 @@
+#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.14393.0
+Release|Win32|C:\Users\Sam\Documents\GitHub\raylib\project\vs2015.UWP\|
diff --git a/project/vs2015.UWP/raylib/Release/rlgl.obj b/project/vs2015.UWP/raylib/Release/rlgl.obj
new file mode 100644
index 00000000..8b711cc9
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/rlgl.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/shapes.obj b/project/vs2015.UWP/raylib/Release/shapes.obj
new file mode 100644
index 00000000..17ed8470
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/shapes.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/stb_vorbis.obj b/project/vs2015.UWP/raylib/Release/stb_vorbis.obj
new file mode 100644
index 00000000..f976b17c
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/stb_vorbis.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/text.obj b/project/vs2015.UWP/raylib/Release/text.obj
new file mode 100644
index 00000000..80feccc5
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/text.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/textures.obj b/project/vs2015.UWP/raylib/Release/textures.obj
new file mode 100644
index 00000000..5ccd62b7
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/textures.obj differ
diff --git a/project/vs2015.UWP/raylib/Release/utils.obj b/project/vs2015.UWP/raylib/Release/utils.obj
new file mode 100644
index 00000000..0ef1bbd9
Binary files /dev/null and b/project/vs2015.UWP/raylib/Release/utils.obj differ
diff --git a/project/vs2015.UWP/raylib/raylib.vcxproj b/project/vs2015.UWP/raylib/raylib.vcxproj
index 7e501995..d48e6260 100644
--- a/project/vs2015.UWP/raylib/raylib.vcxproj
+++ b/project/vs2015.UWP/raylib/raylib.vcxproj
@@ -5,10 +5,18 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E89D61AC-55DE-4482-AFD4-DF7242EBC859}</ProjectGuid>
@@ -23,6 +31,12 @@
     <PlatformToolset>v140</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
@@ -30,6 +44,13 @@
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -38,13 +59,20 @@
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</OutDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <OutDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</OutDir>
     <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\temp</IntDir>
@@ -66,6 +94,23 @@
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Lib>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_ES2;PLATFORM_UWP</PreprocessorDefinitions>
+      <CompileAs>CompileAsC</CompileAs>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\release\include;$(SolutionDir)..\..\src\external\include\ANGLE</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+    </Link>
+    <Lib>
+      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Lib>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -84,6 +129,24 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_ES2;PLATFORM_UWP</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\src\external\include\ANGLE;$(SolutionDir)..\..\release\include</AdditionalIncludeDirectories>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <Text Include="ReadMe.txt" />
   </ItemGroup>