diff --git a/DotNet/App/App.csproj b/DotNet/App/App.csproj
new file mode 100644
index 00000000..2d0f93ad
--- /dev/null
+++ b/DotNet/App/App.csproj
@@ -0,0 +1,33 @@
+
+
+
+ Exe
+ net7.0
+ enable
+ enable
+
+
+
+ ../Bin/App/
+
+
+ ../Bin/App/
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/DotNet/Core/Core.csproj b/DotNet/Core/Core.csproj
new file mode 100644
index 00000000..7649fb11
--- /dev/null
+++ b/DotNet/Core/Core.csproj
@@ -0,0 +1,46 @@
+
+
+
+ net7.0
+ enable
+ disable
+ TEngine.Server
+
+
+
+ TRACE;TENGINE_NET
+ true
+ true
+ 1701;1702;IL2121;CS8603;IL2121;CS8625;IL2121;CS8618
+ ;NU1605;SYSLIB0011;CS8618;;CS8625
+
+
+
+ TRACE;TENGINE_NET
+ true
+ true
+ 1701;1702;IL2121;CS8603;IL2121;CS8625;IL2121;CS8618
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Core\%(RecursiveDir)%(FileName)%(Extension)
+
+
+
+
+
+
+
+
diff --git a/DotNet/Logic/Logic.csproj b/DotNet/Logic/Logic.csproj
new file mode 100644
index 00000000..4deaabfe
--- /dev/null
+++ b/DotNet/Logic/Logic.csproj
@@ -0,0 +1,27 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+ TRACE;TENGINE_NET
+
+
+
+ TRACE;TENGINE_NET
+
+
+
+
+
+
+
+
+ Core\%(RecursiveDir)%(FileName)%(Extension)
+
+
+
+
diff --git a/DotNet/Server.sln b/DotNet/Server.sln
new file mode 100644
index 00000000..f27313a9
--- /dev/null
+++ b/DotNet/Server.sln
@@ -0,0 +1,33 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "App", "App\App.csproj", "{A33F0C04-BD73-4479-977A-C168E3BC2646}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Logic", "Logic\Logic.csproj", "{8A63C258-07FD-45DC-BE10-45CE00A23811}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Core\Core.csproj", "{60B3ECA7-B4E0-44D3-913D-B9C3D3B84C4A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ThirdParty", "ThirdParty\ThirdParty.csproj", "{19A11666-4891-4E73-B826-1B24D7A62080}"
+EndProject
+Global
+GlobalSection(SolutionConfigurationPlatforms) = preSolution
+Debug|Any CPU = Debug|Any CPU
+Release|Any CPU = Release|Any CPU
+EndGlobalSection
+GlobalSection(ProjectConfigurationPlatforms) = postSolution
+{A33F0C04-BD73-4479-977A-C168E3BC2646}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+{A33F0C04-BD73-4479-977A-C168E3BC2646}.Debug|Any CPU.Build.0 = Debug|Any CPU
+{A33F0C04-BD73-4479-977A-C168E3BC2646}.Release|Any CPU.ActiveCfg = Release|Any CPU
+{A33F0C04-BD73-4479-977A-C168E3BC2646}.Release|Any CPU.Build.0 = Release|Any CPU
+{8A63C258-07FD-45DC-BE10-45CE00A23811}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+{8A63C258-07FD-45DC-BE10-45CE00A23811}.Debug|Any CPU.Build.0 = Debug|Any CPU
+{8A63C258-07FD-45DC-BE10-45CE00A23811}.Release|Any CPU.ActiveCfg = Release|Any CPU
+{8A63C258-07FD-45DC-BE10-45CE00A23811}.Release|Any CPU.Build.0 = Release|Any CPU
+{60B3ECA7-B4E0-44D3-913D-B9C3D3B84C4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+{60B3ECA7-B4E0-44D3-913D-B9C3D3B84C4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+{60B3ECA7-B4E0-44D3-913D-B9C3D3B84C4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+{60B3ECA7-B4E0-44D3-913D-B9C3D3B84C4A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {19A11666-4891-4E73-B826-1B24D7A62080}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19A11666-4891-4E73-B826-1B24D7A62080}.Debug|Any CPU.Build.0 = Debug|Any CPU
+EndGlobalSection
+GlobalSection(NestedProjects) = preSolution
+EndGlobalSection
+EndGlobal
diff --git a/DotNet/ThirdParty/ThirdParty.csproj b/DotNet/ThirdParty/ThirdParty.csproj
new file mode 100644
index 00000000..b6b5480f
--- /dev/null
+++ b/DotNet/ThirdParty/ThirdParty.csproj
@@ -0,0 +1,93 @@
+
+
+
+ net7.0
+ disable
+ 11
+ ET
+ ThirdParty
+
+
+
+ false
+ en
+
+
+
+ DOTNET;UNITY_DOTSPLAYER
+ ..\..\Bin\
+ true
+ true
+ true
+ 0169,0649,3021,8981
+
+
+
+ DOTNET;UNITY_DOTSPLAYER
+ ..\..\Bin\
+ true
+ true
+ 0169,0649,3021,8981
+
+
+
+
+
+ TrueSync/%(RecursiveDir)%(FileName)%(Extension)
+
+
+
+
+
+ Recast\Recast.cs
+
+
+
+ Unity.Mathematics/$([System.String]::new(%(RecursiveDir)).Substring($([System.String]::new(%(RecursiveDir)).Indexof("Unity.Mathematics"))).Replace("Unity.Mathematics", ""))/%(FileName)%(Extension)
+
+
+
+
+
+ runtimes\osx\native\libRecastDll.dylib
+ PreserveNewest
+
+
+ runtimes\linux\native\libRecastDll.so
+ PreserveNewest
+
+
+ runtimes\win\native\RecastDll.dll
+ PreserveNewest
+
+
+
+ runtimes\osx\native\kcp.dylib
+ PreserveNewest
+
+
+ runtimes\win\native\kcp.dll
+ PreserveNewest
+
+
+
+ runtimes\linux\native\kcp.so
+ PreserveNewest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+