Skip to content

Add support for XAML-based UI screens/controls #12506

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

Open
ilievmark opened this issue May 27, 2025 · 2 comments
Open

Add support for XAML-based UI screens/controls #12506

ilievmark opened this issue May 27, 2025 · 2 comments

Comments

@ilievmark
Copy link

Describe the project you are working on

2D indie games, with UI screens

Describe the problem or limitation you are having in your project

Designing UI screens in Godot you can find quite a pain
Its quite simple from one point of view, but when you want to make something custom, with effects, design or animations, you will find it quite limmited

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

I have vast of experience coding mobile apps with Xamarin/MAUI and different views using XAML
And I was wondering, if you can consider implementing a side car approach for implementing UI for advanced reasons

For instance, there is framework, NoesisUI, for UE5 and Unity that provides such flexibility
https://www.noesisengine.com/noesisgui/
Knowing xaml, Id say its quite simple and flexible to implement UI with it of any complexity

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

There are basically two ways to implement it
1 is to make it nativelly supported, to be used from C++, GDScript and C# (implement it from scratch for Godot, over existing UI elements)
2 is to use somehow the advantage of .NET platform - there is MAUI that already allows this to be used (Obviously, limmiting this feature to be used only for C# Godot users)

Cant really share more tech details depending on its relevance

All I can say is that nature of Xamarin/MAUI it to provide crossplatform interface to use native controls of different platforms, using Renderers and Behaviors. For second case, at least, we can try to make a lib of renderers/wrappers over Godot's controls to XAML over it

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

not a case

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

Addon not enough I assume, there should be a cpp implementation via godot module in case of native support or some magic with MAUI integration

@ryevdokimov
Copy link

To implement https://www.noesisengine.com/noesisgui/ for Godot, an addon would/should be sufficient. As far as I'm aware Unreal/Unity doesn't support XAML natively, and noesis is acting as a middleware layer. An alternative would be having Godot as a library #6267 and then you can use whatever framework you want.

@Calinou
Copy link
Member

Calinou commented May 27, 2025

Indeed, it's already possible to have GDExtensions for custom UI systems as showcased by Dear ImGui plugin for Godot 4.

@Calinou Calinou changed the title UI screens/controls via XAML Add support for XAML-based UI screens/controls May 27, 2025
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

4 participants