Skip to content

Conversation

@Jklawreszuk
Copy link
Collaborator

@Jklawreszuk Jklawreszuk commented Sep 14, 2024

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
Contributor

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

@Jklawreszuk
Copy link
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 😜

Copy link
Collaborator

@Eideren Eideren left a comment

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
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
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
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
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
Copy link
Contributor

MeharDT commented Nov 10, 2024

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
Copy link
Collaborator

Eideren commented Nov 10, 2024

@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
Copy link
Collaborator Author

Jklawreszuk commented Nov 10, 2024

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
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
Copy link
Contributor

MeharDT commented Dec 30, 2025

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
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.

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