Are there no Steam-integration example project?

I am struggling with Steam-Unity integration.

I need [Gamepad support, Save&Load, DLC, Microtransaction of Consumable in-game Items].

I want to see actual sample unity project with c# code with above functions.

But where can I find?

I personally use https://steamworks.github.io/ for things like leaderboards, achievements, and anything else that talks to the Steam API. I don’t think there’s a sample project, but there is a lot of documentation for the various API features.

Save and Load, I’d say, is kind of up to you. I personally just save to files in AppData, which I configure in Steamworks to sync with cloud sync. Works fine. There’s no API for that. You just set it up in Steamworks to enable syncing for specific directories, and save/load those files like you would any local file.

Thanks for reply.
So how to just save to files in AppData? Currently in my game using BinaryFormatter and Serialize the save class instance.

That’s what I do too. Well, some files I use BinaryFormatter, others I use Json.NET, just so that the files are human-readable as well. Either way, then I just persist it using standard File Write/Read operations. The files should go in “Application.persistentDataPath”, or a subdirectory of it.

I also imagine there could be some free/cheap Asset Store packages for actually saving the files to disk, since there’s a bit of care involved in handling various exceptions gracefully.

But how to integrate input system with steam? My game now only support nintendo switch game pad, and maintain this at Steam too, but how to change code to support Steam controller? (include Switch, PS4, Xbox, PC 3rd party controllers)

Should use new unity input system? Too complicated, even can’t use simple method before like GetButton, getButtondown, getbuttonup…

I mean… you can. Maybe read the docs: https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/HowDoI.html

so that link itself include already too much. Normal dev just want simple controller support. Why unity made it so complicated way… hopeless…

isn’t it possible to use just old input system?

It’s in like the second code example, sheesh.

if (Gamepad.current.aButton.wasPressedThisFrame)
{

}

It’s not hard.