**Update to .NET 10**

This commit is contained in:
2026-06-04 11:37:53 +02:00
parent 775e978fed
commit b84ccc2cbc
32 changed files with 101 additions and 93 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Setup .NET Workload
run: |
dotnet workload install android
@@ -37,4 +37,4 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=8 -arch=ARM64 -platform=Android -configuration=Release -buildtargets=FlaxGame
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=10 -arch=ARM64 -platform=Android -configuration=Release -buildtargets=FlaxGame
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
dotnet-version: 10.0.x
- name: Setup .NET Workload
run: |
dotnet workload install ios
@@ -33,4 +33,4 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -dotnet=9 -arch=ARM64 -platform=iOS -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Mac/CallBuildTool.sh -build -log -dotnet=10 -arch=ARM64 -platform=iOS -configuration=Release -buildtargets=FlaxGame
+4 -4
View File
@@ -23,7 +23,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -34,7 +34,7 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=8 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxEditor
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=10 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxEditor
# Game
game-linux:
@@ -52,7 +52,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -63,4 +63,4 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=8 -arch=x64 -platform=Linux -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=10 -arch=x64 -platform=Linux -configuration=Release -buildtargets=FlaxGame
+4 -4
View File
@@ -19,7 +19,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -30,7 +30,7 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=8 -arch=ARM64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=10 -arch=ARM64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
# Game
game-mac:
@@ -44,7 +44,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -55,4 +55,4 @@ jobs:
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=8 -arch=ARM64 -platform=Mac -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=10 -arch=ARM64 -platform=Mac -configuration=Release -buildtargets=FlaxGame
+4 -4
View File
@@ -20,7 +20,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -34,7 +34,7 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=8 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxEditor
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=10 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxEditor
# Game
game-windows:
@@ -48,7 +48,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -62,4 +62,4 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=8 -arch=x64 -platform=Windows -configuration=Release -buildtargets=FlaxGame
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=10 -arch=x64 -platform=Windows -configuration=Release -buildtargets=FlaxGame
+12 -12
View File
@@ -28,7 +28,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -38,7 +38,7 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=8
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
@@ -64,7 +64,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -74,7 +74,7 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=8
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
@@ -101,14 +101,14 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=8
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
@@ -133,14 +133,14 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=8
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
@@ -163,14 +163,14 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackageEditor.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=8
./PackageEditor.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
@@ -191,14 +191,14 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackagePlatforms.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=8
./PackagePlatforms.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=10
- name: Upload
uses: actions/upload-artifact@v7
with:
+2 -2
View File
@@ -18,7 +18,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Setup .NET Workload
run: |
dotnet workload install ios
@@ -42,7 +42,7 @@ jobs:
cp ".github/data/Build Settings.json" "FlaxSamples/MaterialsFeaturesTour/Content/Settings"
- name: Build Editor
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=8 -arch=ARM64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=10 -arch=ARM64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
- name: Cook Game (iOS)
run: |
./Binaries/Editor/Mac/Development/FlaxEditor -std -headless -mute -null -project "FlaxSamples/MaterialsFeaturesTour" -build "Development.iOS"
+10 -10
View File
@@ -18,7 +18,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -34,18 +34,18 @@ jobs:
chmod +x .github/data/bt.sh
- name: Build
run: |
./GenerateProjectFiles.sh -vs2022 -log -verbose -printSDKs -dotnet=8
./Development/Scripts/Linux/CallBuildTool.sh -build -log -dotnet=8 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget -UseLargeWorlds=true
./GenerateProjectFiles.sh -vs2026 -log -verbose -printSDKs -dotnet=10
./Development/Scripts/Linux/CallBuildTool.sh -build -log -dotnet=10 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget -UseLargeWorlds=true
dotnet msbuild Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
dotnet msbuild Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
- name: Test
run: |
${GITHUB_WORKSPACE}/.github/data/bt.sh ./Binaries/Editor/Linux/Development/FlaxTests -headless
dotnet test -f net8.0 Binaries/Tests/Flax.Build.Tests.dll
dotnet test -f net10.0 Binaries/Tests/Flax.Build.Tests.dll
cp Binaries/Editor/Linux/Development/FlaxEngine.CSharp.dll Binaries/Tests
cp Binaries/Editor/Linux/Development/FlaxEngine.CSharp.runtimeconfig.json Binaries/Tests
cp Binaries/Editor/Linux/Development/Newtonsoft.Json.dll Binaries/Tests
dotnet test -f net8.0 Binaries/Tests/FlaxEngine.CSharp.dll
dotnet test -f net10.0 Binaries/Tests/FlaxEngine.CSharp.dll
# Tests on Windows
tests-windows:
@@ -57,7 +57,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.419
dotnet-version: 10.0.x
- name: Print .NET info
run: |
dotnet --info
@@ -71,8 +71,8 @@ jobs:
PowerShell "(Get-Content global.json).Replace('latestMajor', 'minor') | Set-Content global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/global.json).Replace('latestMajor', 'minor') | Set-Content Source/Tools/Flax.Build/global.json"
PowerShell "(Get-Content Source/Tools/Flax.Build/Flax.Build.csproj).Replace('LatestMajor', 'Minor') | Set-Content Source/Tools/Flax.Build/Flax.Build.csproj"
.\GenerateProjectFiles.bat -vs2022 -log -verbose -printSDKs -dotnet=8
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -dotnet=8 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
.\GenerateProjectFiles.bat -vs2026 -log -verbose -printSDKs -dotnet=10
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -dotnet=10 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
dotnet msbuild Source\Tools\Flax.Build.Tests\Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
- name: Test
shell: pwsh
@@ -80,8 +80,8 @@ jobs:
$ErrorActionPreference = "Stop"
.\Binaries\Editor\Win64\Development\FlaxTests.exe -headless
if(!$?) { Write-Host "Tests failed with exit code $LastExitCode" -ForegroundColor Red; Exit $LastExitCode }
dotnet test -f net8.0 Binaries\Tests\Flax.Build.Tests.dll
dotnet test -f net10.0 Binaries\Tests\Flax.Build.Tests.dll
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.dll Binaries\Tests
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.runtimeconfig.json Binaries\Tests
xcopy /y Binaries\Editor\Win64\Development\Newtonsoft.Json.dll Binaries\Tests
dotnet test -f net8.0 Binaries\Tests\FlaxEngine.CSharp.dll
dotnet test -f net10.0 Binaries\Tests\FlaxEngine.CSharp.dll
@@ -34,7 +34,7 @@ goto Exit
echo CallBuildTool ERROR: The script is in invalid directory.
goto Exit
:Error_NoVisualStudioEnvironment
echo CallBuildTool ERROR: Missing Visual Studio 2022 or newer.
echo CallBuildTool ERROR: Missing Visual Studio 2026 or newer.
goto Exit
:Error_CompilationFailed
echo CallBuildTool ERROR: Failed to compile Flax.Build project.
+1 -1
View File
@@ -4,7 +4,7 @@
"Major": 1,
"Minor": 13,
"Revision": 0,
"Build": 7004
"Build": 7005
},
"Company": "Flax",
"Copyright": "Copyright (c) 2012-2026 Wojciech Figat. All rights reserved.",
+12 -12
View File
@@ -28,10 +28,10 @@ Follow the instructions below to compile and run the engine from source.
## Windows
* Install Visual Studio 2022 or newer
* Install Windows 8.1 SDK or newer (via Visual Studio Installer)
* Install Visual Studio 2026 or newer
* Install Windows 10 SDK or newer (via Visual Studio Installer)
* Install Microsoft Visual C++ 2015 v140 toolset or newer (via Visual Studio Installer)
* Install .NET 8 SDK (or newer) for **Windows x64** (via Visual Studio Installer or [from web](https://dotnet.microsoft.com/en-us/download/dotnet/8.0))
* Install .NET 10 SDK (or newer) for **Windows x64** (via Visual Studio Installer or [from web](https://dotnet.microsoft.com/en-us/download/dotnet/10.0))
* Install Git with LFS
* Clone repo (with LFS)
* Run **GenerateProjectFiles.bat**
@@ -44,10 +44,10 @@ Follow the instructions below to compile and run the engine from source.
## Linux
* Install Visual Studio Code
* Install .NET 8 or 9 SDK ([https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0))
* Ubuntu: `sudo apt install dotnet-sdk-8.0`
* Fedora: `sudo dnf install dotnet-sdk-8.0`
* Arch: `sudo pacman -S dotnet-sdk-8.0 dotnet-runtime-8.0 dotnet-targeting-pack-8.0 dotnet-host`
* Install .NET 10 SDK (or newer) ([https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0))
* Ubuntu: `sudo apt install dotnet-sdk-10.0`
* Fedora: `sudo dnf install dotnet-sdk-10.0`
* Arch: `sudo pacman -S dotnet-sdk-10.0 dotnet-runtime-10.0 dotnet-targeting-pack-10.0 dotnet-host`
* Install Vulkan SDK ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Ubuntu: `sudo apt install vulkan-sdk` (deprecated, follow official docs)
* Fedora: `sudo dnf install vulkan-headers vulkan-tools vulkan-validation-layers`
@@ -73,7 +73,7 @@ Follow the instructions below to compile and run the engine from source.
## Mac
* Install XCode 16.4 (or newer)
* Install .NET 8 SDK (or newer) ([https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0))
* Install .NET 10 SDK (or newer) ([https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0))
* Install Vulkan SDK ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Clone repo (with LFS)
* Run `GenerateProjectFiles.command`
@@ -86,17 +86,17 @@ Follow the instructions below to compile and run the engine from source.
Restart PC - ensure DotNet is added to PATH for command line tools execution.
* `Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 8.0`
* `Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 10.0`
Use Visual Studio 2022, older versions are not supported by .NET SDK 8.
Use Visual Studio 2026 (or newer), old Visual Studio versions are not supported by .NET SDK 10.
* `Building for Windows without Vulkan rendering backend (Vulkan SDK is missing)`
Install the Vulkan SDK then set an environment variable to provide the path to the SDK prior to running GenerateProjectFiles.bat: `set VULKAN_SDK=%sdk_path%`.
* `The NuGetSdkResolver did not resolve this SDK`
* `The NuGetSdkResolver did not resolve this SDK` / `Could not resolve SDK "Microsoft.NET.Sdk"`
Install `.NET SDK`, `NuGet package manager` and `NuGet targets and build tasks` in Visual Studio components.
Install `.NET SDK` 10, `NuGet package manager` and `NuGet targets and build tasks` in Visual Studio components.
## Workspace directory
@@ -278,7 +278,7 @@ String RiderCodeEditor::GetName() const
String RiderCodeEditor::GetGenerateProjectCustomArgs() const
{
return TEXT("-vs2022");
return TEXT("-vs2026");
}
void RiderCodeEditor::OpenFile(const String& path, int32 line)
@@ -130,7 +130,7 @@ String VisualStudioCodeEditor::GetName() const
String VisualStudioCodeEditor::GetGenerateProjectCustomArgs() const
{
return TEXT("-vs2022 -vscode");
return TEXT("-vs2026 -vscode");
}
void VisualStudioCodeEditor::OpenFile(const String& path, int32 line)
@@ -138,7 +138,7 @@ void VisualStudioCodeEditor::OpenFile(const String& path, int32 line)
// Generate VS solution files for intellisense
if (!FileSystem::FileExists(Globals::ProjectFolder / Editor::Project->Name + TEXT(".sln")))
{
ScriptsBuilder::GenerateProject(TEXT("-vs2022"));
ScriptsBuilder::GenerateProject(TEXT("-vs2026"));
}
// Generate project files if missing
@@ -165,7 +165,7 @@ void VisualStudioCodeEditor::OpenSolution()
// Generate VS solution files for intellisense
if (!FileSystem::FileExists(Globals::ProjectFolder / Editor::Project->Name + TEXT(".sln")))
{
ScriptsBuilder::GenerateProject(TEXT("-vs2022"));
ScriptsBuilder::GenerateProject(TEXT("-vs2026"));
}
// Generate project files if solution is missing
+1
View File
@@ -10,6 +10,7 @@ struct Transform;
template<typename T>
class AssetReference;
struct ScriptingTypeHandle;
template<typename Type> ScriptingTypeHandle StaticType();
/// <summary>
/// Represents an object type that can be interpreted as more than one type.
@@ -489,7 +489,9 @@ public:
ModelBase* GetModel() override;
bool IntersectsEntry(int32 entryIndex, const Ray& ray, Real& distance, Vector3& normal) override;
bool IntersectsEntry(const Ray& ray, Real& distance, Vector3& normal, int32& entryIndex) override;
PRAGMA_DISABLE_DEPRECATION_WARNINGS;
bool GetMeshData(const MeshReference& ref, MeshBufferType type, BytesContainer& result, int32& count, GPUVertexLayout** layout) const override;
PRAGMA_ENABLE_DEPRECATION_WARNINGS;
MeshBase* GetMesh(const MeshReference& ref) const override;
void UpdateBounds() override;
MeshDeformation* GetMeshDeformation() const override;
+2
View File
@@ -181,7 +181,9 @@ public:
ModelBase* GetModel() override;
bool IntersectsEntry(int32 entryIndex, const Ray& ray, Real& distance, Vector3& normal) override;
bool IntersectsEntry(const Ray& ray, Real& distance, Vector3& normal, int32& entryIndex) override;
PRAGMA_DISABLE_DEPRECATION_WARNINGS;
bool GetMeshData(const MeshReference& ref, MeshBufferType type, BytesContainer& result, int32& count, GPUVertexLayout** layout) const override;
PRAGMA_ENABLE_DEPRECATION_WARNINGS;
MeshBase* GetMesh(const MeshReference& ref) const override;
MeshDeformation* GetMeshDeformation() const override;
void UpdateBounds() override;
+3 -3
View File
@@ -1568,7 +1568,7 @@ void* MMethod::GetThunk()
MMethod* MMethod::InflateGeneric() const
{
// This seams to be unused on .NET (Mono required inflating generic class of the script)
// This seems to be unused on .NET (Mono required inflating generic class of the script)
return const_cast<MMethod*>(this);
}
@@ -1877,9 +1877,9 @@ bool InitHostfxr()
Platform::OpenUrl(TEXT("https://dotnet.microsoft.com/en-us/download/dotnet"));
#endif
#if USE_EDITOR
LOG(Fatal, "Missing .NET 8 or later SDK installation for {0} is required to run Flax Editor.", platformStr);
LOG(Fatal, "Missing .NET 10 or later SDK installation for {0} is required to run Flax Editor.", platformStr);
#else
LOG(Fatal, "Missing .NET 8 or later Runtime installation for {0} is required to run this application.", platformStr);
LOG(Fatal, "Missing .NET 10 or later Runtime installation for {0} is required to run this application.", platformStr);
#endif
return true;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,9 +1,9 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"tfm": "net10.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0",
"version": "10.0.0",
"rollForward": "latestMajor"
}
}
+15
View File
@@ -10,6 +10,8 @@ using Flax.Build.NativeCpp;
/// </summary>
public class nethost : ThirdPartyModule
{
private static bool _logDotnetOnce;
/// <inheritdoc />
public override void Init()
{
@@ -41,6 +43,19 @@ public class nethost : ThirdPartyModule
return; // Ignore missing Host Runtime at projects evaluation stage (not important)
if (Configuration.BuildBindingsOnly)
return; // Ignore missing Host Runtime when just building C# bindings (without native code)
if (!_logDotnetOnce)
{
// Dump dotnet info to help diagnose missing runtime issues
_logDotnetOnce = true;
try
{
Flax.Build.Utilities.Run("dotnet", "--info", null, null, Flax.Build.Utilities.RunOptions.ConsoleLogOutput);
}
catch (Exception)
{
// Ignore errors
}
}
throw new Exception($"Missing NET SDK runtime for {options.Platform.Target} {options.Architecture}.");
}
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>12.0</LangVersion>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>annotations</Nullable>
@@ -205,7 +205,7 @@ namespace Flax.Build
if (Configuration.ProjectFormatVSCode)
projectFormats.Add(ProjectFormat.VisualStudioCode);
if (Configuration.ProjectFormatRider)
projectFormats.Add(ProjectFormat.VisualStudio2022);
projectFormats.Add(ProjectFormat.VisualStudio2026);
if (!string.IsNullOrEmpty(Configuration.ProjectFormatCustom))
projectFormats.Add(ProjectFormat.Custom);
if (projectFormats.Count == 0)
@@ -216,7 +216,7 @@ namespace Flax.Build
!projectFormats.Contains(ProjectFormat.VisualStudio2022) &&
!projectFormats.Contains(ProjectFormat.VisualStudio))
{
projectFormats.Add(ProjectFormat.VisualStudio2022);
projectFormats.Add(ProjectFormat.VisualStudio2026);
}
foreach (ProjectFormat projectFormat in projectFormats)
@@ -131,7 +131,7 @@ namespace Flax.Build
/// <summary>
/// The minimum SDK version.
/// </summary>
public static Version MinimumVersion => new Version(8, 0);
public static Version MinimumVersion => new Version(10, 0);
/// <summary>
/// The maximum SDK version.
@@ -167,6 +167,7 @@ namespace Flax.Build
/// </summary>
public string CSharpLanguageVersion => Version.Major switch
{
_ when Version.Major >= 11 => "15.0",
_ when Version.Major >= 10 => "14.0",
_ when Version.Major >= 9 => "13.0",
_ when Version.Major >= 8 => "12.0",
@@ -19,18 +19,7 @@ namespace Flax.Deps.Dependencies
switch (BuildPlatform)
{
case TargetPlatform.Windows:
return new[]
{
TargetPlatform.Windows,
TargetPlatform.Linux,
TargetPlatform.XboxOne,
TargetPlatform.XboxScarlett,
TargetPlatform.PS4,
TargetPlatform.PS5,
TargetPlatform.Switch,
TargetPlatform.Mac,
TargetPlatform.iOS,
};
return Globals.AllPlatforms;
default: return new TargetPlatform[0];
}
}
@@ -67,13 +56,13 @@ namespace Flax.Deps.Dependencies
"Newtonsoft.Json.pdb",
"Newtonsoft.Json.xml",
};
var binFolder = Path.Combine(root, "Src", "Newtonsoft.Json", "bin", configuration, "net8.0");
var binFolder = Path.Combine(root, "Src", "Newtonsoft.Json", "bin", configuration, "net10.0");
// Get the source
CloneGitRepo(root, "https://github.com/FlaxEngine/Newtonsoft.Json.git");
// Default build
GitCheckout(root, "flax-net80");
GitCheckout(root, "flax-net100");
Deploy.VCEnvironment.BuildSolution(solutionPath, configuration, buildPlatform);
{
var platform = "JIT";
@@ -53,7 +53,7 @@ namespace Flax.Deps.Dependencies
{
// Build configuration (see build.cmd -help)
string configuration = "Release";
string framework = "net8.0";
string framework = "net10.0";
// Clean output directory
var artifacts = Path.Combine(root, "artifacts");
+1 -1
View File
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>12.0</LangVersion>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>annotations</Nullable>
-2
View File
@@ -16,8 +16,6 @@ namespace Flax.Build
static int Main()
{
// Setup
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var culture = CultureInfo.InvariantCulture;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
@@ -103,7 +103,7 @@ namespace Flax.Build.Projects.VisualStudio
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
// Visual Studio 2017-2022
// Visual Studio 2017-2026
List<VisualStudioInstance> preReleaseInstallDirs = null;
try
{
+1 -1
View File
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "8.0.100",
"version": "10.0.100",
"rollForward": "latestMajor"
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "8.0.100",
"version": "10.0.100",
"rollForward": "latestMajor"
}
}