Skip to content

Drop support for UWP#2450

Draft
Jklawreszuk wants to merge 2 commits into
stride3d:masterfrom
Jklawreszuk:uwp-removal
Draft

Drop support for UWP#2450
Jklawreszuk wants to merge 2 commits into
stride3d:masterfrom
Jklawreszuk:uwp-removal

Conversation

@Jklawreszuk

@Jklawreszuk Jklawreszuk commented Sep 14, 2024

Copy link
Copy Markdown
Collaborator

PR Details

This PR drops support for UWP and it's codebase.

The main reason is that UWP support has been abandoned since .NET 5 and Microsoft recommends to migrate to MS GDK for Xbox consoles.

That said, the last version that targeted .NET 5 version was a very long time ago (4.1.0.1459-beta) and this PR is also intended to avoid unnecessary frustration for new developers over a feature that is long gone.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have built and run the editor to try this change out.

@VaclavElias

Copy link
Copy Markdown
Contributor

This test is missing " I have built and run the editor to try this change out." 🤣

@Jklawreszuk

Copy link
Copy Markdown
Collaborator Author

@VaclavElias Welp...Testing always takes more time, but if you want to help speed it up, feel free to test it by yourself 😜

@Eideren Eideren left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a couple of notes

Comment on lines -207 to -208
if (Platform.Type != PlatformType.Windows && Platform.Type != PlatformType.UWP)
throw new NotSupportedException();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is wrong, it should still throw when the platform is not windows

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh my you're right, Fixed!

Comment on lines -94 to -99
#if STRIDE_GRAPHICS_API_DIRECT3D11 && STRIDE_PLATFORM_UWP
if (Windows.Graphics.Holographic.HolographicSpace.IsAvailable && GraphicsDevice.Presenter is WindowsMixedRealityGraphicsPresenter)
{
Device = new WindowsMixedRealityHmd();
}
#endif

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to throw a not supported here instead of silently failing ? Granted that's what it would have done before outside of UWP

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yes, It sounds reasonable instead of getting nothing. Fixed!

@MeharDT

MeharDT commented Nov 10, 2024

Copy link
Copy Markdown
Contributor

Should we reconsider this PR in light of .NET 9 adding legacy support for UWP? At the very least it helps us migrate Stride users away from 4.0 and .NET Framework if they want UWP support.

https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/

@Eideren

Eideren commented Nov 10, 2024

Copy link
Copy Markdown
Collaborator

@MeharDT I was not aware of this one, you're right, we'll revisit this issue whenever UWP support becomes problematic then

@Jklawreszuk Jklawreszuk marked this pull request as draft November 10, 2024 21:45
@Jklawreszuk

Jklawreszuk commented Nov 10, 2024

Copy link
Copy Markdown
Collaborator Author

I marked PR as draft for now. We'll see what happens next with UWP support

@Jklawreszuk Jklawreszuk marked this pull request as ready for review December 30, 2025 17:07
@Jklawreszuk

Copy link
Copy Markdown
Collaborator Author

I decided to reopen PR, because It seems UWP support in net9.0 was only temporary solution for customers to get some time to migrate to other solution.
At the moment, the solution I see is to adapt XBOX GDK with collaboration with other people with .NET Foundation, Monogame or Microsoft directly and hide implementation under separate repository (because of NDA's like Playstation does).
There are also rumors about WIN32 support for the future console, which would also solve the problem.

Anyways, feel free to review my PR !

@MeharDT

MeharDT commented Dec 30, 2025

Copy link
Copy Markdown
Contributor

I decided to reopen PR, because It seems UWP support in net9.0 was only temporary solution for customers to get some time to migrate to other solution. At the moment, the solution I see is to adapt XBOX GDK with collaboration with other people with .NET Foundation, Monogame or Microsoft directly and hide implementation under separate repository (because of NDA's like Playstation does). There are also rumors about WIN32 support for the future console, which would also solve the problem.

Anyways, feel free to review my PR !

The dev blog I linked to was updated to include mention of .NET 10 templates for UWP in VS 2026. Was anyone able to deploy these to an Xbox One or Series console?

If they work on console, I think we should delay removal until GDK support can be implemented so we don't lose another platform. If they only work on PC, we might as well remove it now.

@Jklawreszuk Jklawreszuk marked this pull request as draft December 30, 2025 20:20
@Jklawreszuk

Copy link
Copy Markdown
Collaborator Author

Oh, I didn't notice that good to know 😅. In that case, we can indeed delay removal until we check whether UWP still works on XBOX, or we can start implementing GDK now, although to be honest, console support is not a priority for me at the moment.

@xen2 xen2 force-pushed the master branch 2 times, most recently from ab329f3 to 482bd28 Compare April 16, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants