diff --git a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj
index c74749668f..ada6b86ece 100644
--- a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj
+++ b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj
@@ -162,6 +162,9 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD
false
+
+
+
diff --git a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj.filters b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj.filters
index 07ca270777..6dc5f38c65 100644
--- a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj.filters
+++ b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj.filters
@@ -7,6 +7,9 @@
{bb6c862e-70e9-49d9-81b7-3829a6f50471}
+
+ {715254bc-d70b-4ec5-bf29-467dd3ace079}
+
@@ -30,4 +33,9 @@
Classes
+
+
+ resource
+
+
\ No newline at end of file
diff --git a/template/multi-platform-cpp/proj.win32/game.rc b/template/multi-platform-cpp/proj.win32/game.rc
new file mode 100644
index 0000000000..1e0a2a0da2
--- /dev/null
+++ b/template/multi-platform-cpp/proj.win32/game.rc
@@ -0,0 +1,86 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+#undef APSTUDIO_HIDDEN_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+GLFW_ICON ICON "res\\game.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0"
+ BEGIN
+ VALUE "CompanyName", "\0"
+ VALUE "FileDescription", "game Module\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "game\0"
+ VALUE "LegalCopyright", "Copyright \0"
+ VALUE "OriginalFilename", "game.exe\0"
+ VALUE "ProductName", "game Module\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0x04B0
+ END
+END
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
diff --git a/template/multi-platform-cpp/proj.win32/res/game.ico b/template/multi-platform-cpp/proj.win32/res/game.ico
new file mode 100644
index 0000000000..feaf932a74
Binary files /dev/null and b/template/multi-platform-cpp/proj.win32/res/game.ico differ
diff --git a/template/multi-platform-cpp/proj.win32/resource.h b/template/multi-platform-cpp/proj.win32/resource.h
new file mode 100644
index 0000000000..376870ba13
--- /dev/null
+++ b/template/multi-platform-cpp/proj.win32/resource.h
@@ -0,0 +1,20 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by game.RC
+//
+
+#define IDS_PROJNAME 100
+#define IDR_TESTJS 100
+
+#define ID_FILE_NEW_WINDOW 32771
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 201
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#define _APS_NEXT_COMMAND_VALUE 32775
+#endif
+#endif
diff --git a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj
index 783c66698e..21966f23dd 100644
--- a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj
+++ b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj
@@ -175,12 +175,8 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Y
-
-
-
-
diff --git a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj.filters b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj.filters
index c19f148231..d43620d2c3 100644
--- a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj.filters
+++ b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj.filters
@@ -21,9 +21,6 @@
-
- win32
-
Classes
@@ -31,11 +28,6 @@
win32
-
-
- resource
-
-
resource
diff --git a/template/multi-platform-js/proj.win32/game.rc b/template/multi-platform-js/proj.win32/game.rc
index cd35caf005..09d7d991b7 100644
--- a/template/multi-platform-js/proj.win32/game.rc
+++ b/template/multi-platform-js/proj.win32/game.rc
@@ -42,7 +42,7 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDR_MAINFRAME ICON "res\\game.ico"
+GLFW_ICON ICON "res\\game.ico"
/////////////////////////////////////////////////////////////////////////////
//
diff --git a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj
index db2f03d387..8808e3d0fb 100644
--- a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj
+++ b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj
@@ -168,6 +168,9 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD
+
+
+
diff --git a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj.filters b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj.filters
index 593b960878..af00c3a4cd 100644
--- a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj.filters
+++ b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj.filters
@@ -7,6 +7,9 @@
{037a9a02-b906-4cc5-ad98-304acd4e25ee}
+
+ {2d1d0979-58cd-4ab6-b91c-13650158f1fa}
+
@@ -24,4 +27,9 @@
win32
+
+
+ resource
+
+
\ No newline at end of file
diff --git a/template/multi-platform-lua/proj.win32/game.rc b/template/multi-platform-lua/proj.win32/game.rc
index 6ac4ef99f8..e7b5e3e327 100644
--- a/template/multi-platform-lua/proj.win32/game.rc
+++ b/template/multi-platform-lua/proj.win32/game.rc
@@ -42,7 +42,7 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDR_MAINFRAME ICON "res\\game.ico"
+GLFW_ICON ICON "res\\game.ico"
/////////////////////////////////////////////////////////////////////////////
//