diff --git a/r5dev/public/dt_common.h b/r5dev/public/dt_common.h
new file mode 100644
index 00000000..6acd24a6
--- /dev/null
+++ b/r5dev/public/dt_common.h
@@ -0,0 +1,16 @@
+#pragma once
+
+enum class SendPropType : int {
+    DPT_Int = 0,
+    DPT_Float,
+    DPT_Vector,
+    DPT_VectorXY,
+    DPT_String,
+    DPT_Array,
+    DPT_Quaternion,
+    DPT_Int64,
+    DPT_Ticks,
+    DPT_Time,
+    DPT_DataTable,
+    DPT_NUMSendPropTypes
+};
\ No newline at end of file
diff --git a/r5dev/vproj/clientsdk.vcxproj b/r5dev/vproj/clientsdk.vcxproj
index 755738bc..5802223f 100644
--- a/r5dev/vproj/clientsdk.vcxproj
+++ b/r5dev/vproj/clientsdk.vcxproj
@@ -252,6 +252,7 @@
     <ClInclude Include="..\public\avi\iavi.h" />
     <ClInclude Include="..\public\avi\ibik.h" />
     <ClInclude Include="..\public\bitmap\stb_image.h" />
+    <ClInclude Include="..\public\dt_common.h" />
     <ClInclude Include="..\public\iengine.h" />
     <ClInclude Include="..\public\client_class.h" />
     <ClInclude Include="..\public\const.h" />
diff --git a/r5dev/vproj/clientsdk.vcxproj.filters b/r5dev/vproj/clientsdk.vcxproj.filters
index a73c7aac..9fc8f328 100644
--- a/r5dev/vproj/clientsdk.vcxproj.filters
+++ b/r5dev/vproj/clientsdk.vcxproj.filters
@@ -1799,6 +1799,9 @@
     <ClInclude Include="..\game\client\viewrender.h">
       <Filter>sdk\game\client</Filter>
     </ClInclude>
+    <ClInclude Include="..\public\dt_common.h">
+      <Filter>sdk\public</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\shared\resource\lockedserver.png">
diff --git a/r5dev/vproj/dedicated.vcxproj b/r5dev/vproj/dedicated.vcxproj
index 7f26c1ea..9362f29c 100644
--- a/r5dev/vproj/dedicated.vcxproj
+++ b/r5dev/vproj/dedicated.vcxproj
@@ -214,6 +214,7 @@
     <ClInclude Include="..\pluginsystem\pluginsystem.h" />
     <ClInclude Include="..\protoc\cl_rcon.pb.h" />
     <ClInclude Include="..\protoc\sv_rcon.pb.h" />
+    <ClInclude Include="..\public\dt_common.h" />
     <ClInclude Include="..\public\iengine.h" />
     <ClInclude Include="..\public\client_class.h" />
     <ClInclude Include="..\public\const.h" />
diff --git a/r5dev/vproj/dedicated.vcxproj.filters b/r5dev/vproj/dedicated.vcxproj.filters
index 3d89d5db..06ccdbb2 100644
--- a/r5dev/vproj/dedicated.vcxproj.filters
+++ b/r5dev/vproj/dedicated.vcxproj.filters
@@ -1254,6 +1254,9 @@
     <ClInclude Include="..\engine\traceinit.h">
       <Filter>sdk\engine</Filter>
     </ClInclude>
+    <ClInclude Include="..\public\dt_common.h">
+      <Filter>sdk\public</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\common\opcodes.cpp">
diff --git a/r5dev/vproj/gamesdk.vcxproj b/r5dev/vproj/gamesdk.vcxproj
index 2356b761..08cfb93d 100644
--- a/r5dev/vproj/gamesdk.vcxproj
+++ b/r5dev/vproj/gamesdk.vcxproj
@@ -278,6 +278,7 @@
     <ClInclude Include="..\public\avi\iavi.h" />
     <ClInclude Include="..\public\avi\ibik.h" />
     <ClInclude Include="..\public\bitmap\stb_image.h" />
+    <ClInclude Include="..\public\dt_common.h" />
     <ClInclude Include="..\public\iengine.h" />
     <ClInclude Include="..\public\client_class.h" />
     <ClInclude Include="..\public\const.h" />
diff --git a/r5dev/vproj/gamesdk.vcxproj.filters b/r5dev/vproj/gamesdk.vcxproj.filters
index 5984112f..857e3d99 100644
--- a/r5dev/vproj/gamesdk.vcxproj.filters
+++ b/r5dev/vproj/gamesdk.vcxproj.filters
@@ -1895,6 +1895,9 @@
     <ClInclude Include="..\engine\traceinit.h">
       <Filter>sdk\engine</Filter>
     </ClInclude>
+    <ClInclude Include="..\public\dt_common.h">
+      <Filter>sdk\public</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\shared\resource\lockedserver.png">