Skip to content

How to publish UWP app to steam by using Steamworks.NET? #672

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
AlexRUiLs opened this issue Jan 19, 2025 · 7 comments
Open

How to publish UWP app to steam by using Steamworks.NET? #672

AlexRUiLs opened this issue Jan 19, 2025 · 7 comments

Comments

@AlexRUiLs
Copy link

AlexRUiLs commented Jan 19, 2025

Hi,
I have UWP app developed in C# and published to Steam.
I want to publish it to the Steam but still cannot figure out how to do this.
As I understand Steamworks.NET probably can help me, but when I tried to add its nuget to my C# UWP project a got many errors like

Package Steamworks.NET 2024.8.0 is not compatible with uap10.0.17763 (UAP,Version=v10.0.17763) / win10-x64. Package Steamworks.NET 2024.8.0 supports: netstandard2.1 (.NETStandard,Version=v2.1)

Package Steamworks.NET 2024.8.0 is not compatible with uap10.0.17763 (UAP,Version=v10.0.17763). Package Steamworks.NET 2024.8.0 supports: netstandard2.1 (.NETStandard,Version=v2.1)

Is it possible to publish UWP app by using Steamworks.NET?

@Akarinnnnn
Copy link
Contributor

Hi, it seems you are encountering issues with compatible framework. Many years ago, I specified netstandard2.1 for regular .NET project arbitrarily. For your project, you can try to build a special version from source. For more detailed instruction, please copy Steamworks.NET\Standalone\Steamworks.NET.Standard.csproj and try change <TargetFramework> inside to uap10.0.17763

@rlabrecque
Copy link
Owner

Akarinnnnn is there any way to make that more dynamic? Like removing TargetFramework completely or something?

Should we update the default to something more modern like .net8+ ?

@AlexRUiLs
Copy link
Author

Hi, it seems you are encountering issues with compatible framework. Many years ago, I specified netstandard2.1 for regular .NET project arbitrarily. For your project, you can try to build a special version from source. For more detailed instruction, please copy Steamworks.NET\Standalone\Steamworks.NET.Standard.csproj and try change <TargetFramework> inside to uap10.0.17763

Thanks. Do you know if it is possible to publish UWP app to Steam store? I cannot find any info explaining this.

@Akarinnnnn
Copy link
Contributor

Akarinnnnn is there any way to make that more dynamic? Like removing TargetFramework completely or something?

Should we update the default to something more modern like .net8+ ?

I don't think TargetFramework is removable since it's very important to build system, but we can specify multiple by setting TargetFrameworks

@hawkerm
Copy link

hawkerm commented Feb 10, 2025

@AlexRUiLs UWP apps don't support .NET Standard 2.1 which it appears is the target that Steamworks.NET uses.

I'm not familiar enough with Steamworks.NET to know if there's a way it could also multi-target to .NET Standard 2.0 to support apps that are still built with .NET Framework, UWP, Xamarin, etc...

Otherwise, you'd have to look at the preview to upgrade your UWP project to be able to leverage .NET 9 (see here) or move it to WinUI 3 with the Windows App SDK instead if you need to use a .NET Standard 2.1 based library.

@Akarinnnnn
Copy link
Contributor

@AlexRUiLs UWP apps don't support .NET Standard 2.1 which it appears is the target that Steamworks.NET uses.

Thank you for your clarification. After so many years since 2019 I also know few about Standard 2.1 specific API usage. Hope issue author don't have to do heavy modification.

@hawkerm
Copy link

hawkerm commented Feb 12, 2025

Yeah, it's more common practice for libraries to multi-target (at least down to netstandard2.0 and the latest .NET version).

Doc article about the process: https://learn.microsoft.com/dotnet/standard/library-guidance/cross-platform-targeting

There's many libraries and polyfills between netstandard2.1 and 2.0, so it may be possible to support both, depending on what's being used.

Someone would just have to try targeting it and could see.

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

No branches or pull requests

4 participants