Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate .NET support package from mono to .NET 6+. #7431

Open
AraHaan opened this issue Aug 1, 2023 · 4 comments
Open

Migrate .NET support package from mono to .NET 6+. #7431

AraHaan opened this issue Aug 1, 2023 · 4 comments

Comments

@AraHaan
Copy link

AraHaan commented Aug 1, 2023

Describe the project you are working on

I am tempted to have the .NET support as an option in the future, however downloading it currently mono shows it's ugly head and I prefer non mono based support with official runtimes and everything that is cross platform with .NET 6+ (formerly .NET Core).

Describe the problem or limitation you are having in your project

Mono is a hard limitation as I prefer the official runtimes in .NET 6+ over mono.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

On the .NET support zip file consider making it for .NET 6+ only. If by chance that it runs on some platforms that the official runtimes do not support (CoreCLR) consider opening a pull request in https://github.com/dotnet/runtime to add support for them.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

I think it should work as is for those wanting to use .NET with godot.

If this enhancement will not be used often, can it be worked around with a few lines of script?

Currently I do not know of any workarounds that would avoid mono entirely with how it is currently shipped.

Is there a reason why this should be core and not an add-on in the asset library?

Because mono is something that I consider to be bad in general compared to CoreCLR.

@AraHaan
Copy link
Author

AraHaan commented Aug 1, 2023

Also it is unclear if the .NET support version supports all of the scripts types that the non .NET support version supports with C#.

@AThousandShips
Copy link
Member

To be clear you mean the 3.x version? 4.x uses .NET

@AraHaan
Copy link
Author

AraHaan commented Aug 1, 2023

4.1.1 but 3.x as well. I noticed that 4.1.1 still uses mono which for me is odd when it uses .NET as well.

@raulsntos
Copy link
Member

We won't move 3.x to CoreCLR. No new features will be merged in Godot 3, only bug fixes. Changing the .NET runtime would be a huge change which risks introducing new bugs, and 3.x is our LTS release so it should focus on stability.

As for 4.x, we are already using the CoreCLR runtime. We no longer use the Mono runtime since 4.0 (see godotengine/godot#64089), we may consider using the Mono runtime to support mobile/web platforms.

Also it is unclear if the .NET support version supports all of the scripts types that the non .NET support version supports with C#.

C# should support the same features as GDScript. Also, there are multiple pages in the documentation that document features exclusive to the .NET version, as well as any differences with the non-.NET version. If something's not clear enough, feel free to open an issue and we'll try to improve the documentation. Is there anything in particular about script types that you'd like to know?

I noticed that 4.1.1 still uses mono

If you are referring to the name of the binary, that's just because we haven't renamed the module's directory yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants