Playmaker Forum

PlayMaker Updates & Downloads => Share New Actions => Topic started by: terri on September 25, 2014, 12:24:26 PM

Title: Steamworks.NET
Post by: terri on September 25, 2014, 12:24:26 PM
Hey everyone, I had some custom Playmaker actions created for Steamworks.NET, a cool steamworks wrapper for Unity. They were created by Riley Labrecque, who also created the wrapper.

Steamworks.NET and setup instructions are here: https://github.com/rlabrecque/Steamworks.NET

The playmaker actions and examples are here:
http://www.heavybullets.com/ETC/PlaymakerSteamworks.zip
edit: removed, sorry, download from dev_seba's post below


There is an example scene that should make things straightforward.

It is not a full featured playmaker adaptation, but only stuff that I needed for my own game, which was setting achievements, stats and leaderboards.
Obviously requires access to the Steamworks SDK.

If you do use both the wrapper and the actions I highly suggest a donation to support Riley and his work.

Steamworks SDK is currently 1.31, so if you're in the future watch out for incompatibilities.
Title: Re: Steamworks.NET
Post by: 600 on September 26, 2014, 02:01:17 AM
Yes yes yes!
Cant wait to try them :)
Title: Re: Steamworks.NET
Post by: LogLady on September 26, 2014, 11:28:39 AM
Many thanks!
Title: Re: Steamworks.NET
Post by: Dev_Sebas on October 02, 2014, 11:34:04 AM
Hi everyone!
This package includes my actions and Terri actions.
This package works with entire Steam API.
User Guide & Change Log included inside.

If you have any suggestion, bug, problem please report it were.
More to be added in the future.
Cheers
Seb
Title: Re: Steamworks.NET
Post by: Dev_Sebas on April 08, 2015, 11:44:18 AM
Hi everyone!
This pack isn´t yet complete. In summer(after my exams) I will finish it ;D
Thanks
Seb
Title: Re: Steamworks.NET
Post by: devotid on April 16, 2015, 10:55:18 PM
Downloaded the Steamworks.net package and had to make the changes to get it working in Unity 3.5.7 as per the FAQ on the documentation page.  I put in my app id and it worked flawlessly. :)

But.... When i went to import yours or Terris actions for playmaker I am getting these errors.

Any help would be appreciated.

Thanks
Kevin

- Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(37,56): error CS1061: Type `HutongGames.PlayMaker.FsmVar' does not contain a definition for `RealType' and no extension method `RealType' of type `HutongGames.PlayMaker.FsmVar' could be found (are you missing a using directive or an assembly reference?)


Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(39,68): error CS1061: Type `HutongGames.PlayMaker.FsmVar' does not contain a definition for `SetValue' and no extension method `SetValue' of type `HutongGames.PlayMaker.FsmVar' could be found (are you missing a using directive or an assembly reference?)


Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(42,68): error CS1061: Type `HutongGames.PlayMaker.FsmVar' does not contain a definition for `SetValue' and no extension method `SetValue' of type `HutongGames.PlayMaker.FsmVar' could be found (are you missing a using directive or an assembly reference?)



Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(46,192): error CS1061: Type `HutongGames.PlayMaker.FsmVar' does not contain a definition for `RealType' and no extension method `RealType' of type `HutongGames.PlayMaker.FsmVar' could be found (are you missing a using directive or an assembly reference?)



Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(46,201): error CS1502: The best overloaded method match for `System.Exception.Exception(string)' has some invalid arguments


Assets/Scripts/Steamworks.NET/PlayMaker/SteamGetStat.cs(46,201): error CS1503: Argument `#1' cannot convert `object' expression to type `string'
Title: Re: Steamworks.NET
Post by: devotid on April 21, 2015, 11:38:16 PM
BUmp.... anybody using these actions with a steam game?

Thanks.

Kevin
Title: Re: Steamworks.NET
Post by: terri on April 26, 2015, 02:16:22 PM
No idea, sorry. Possibly something has been updated since the actions were created?

If you need help you can do what I did and commission Riley to help you out with the Playmaker integration. -> https://twitter.com/rileylabrecque
Title: Re: Steamworks.NET
Post by: intrikit on June 15, 2015, 01:54:27 PM
Hey guys,

So I want to use this just to set up achievements. Like if the player completes a level or kills enough enemies.

So the way I have it set up is the Steam Achievements Setup is running in a GameObject in the very first scene. I have the Don't Destroy On Load action on this too, so that it carries over to the other scenes.

I then have the Steam Unlock Achievement in the same states that trigger a completed level.. But nothing happens. Any input would be appreciated.
Title: Re: Steamworks.NET
Post by: intrikit on June 17, 2015, 01:44:13 AM
Anybody?
Title: Re: Steamworks.NET
Post by: jeanfabre on June 17, 2015, 04:21:11 AM
Hi,

 Sorry, I don't have experience myself with steamworks.net. Have you contacted Riley?

Bye,

 Jean
Title: Re: Steamworks.NET
Post by: intrikit on June 17, 2015, 08:52:04 AM
Yes I have. Made a donation and waiting for his reply.
Title: Re: Steamworks.NET
Post by: terri on June 17, 2015, 02:38:48 PM
That sounds right, if nothing has changed since I used this, I'd guess there is something wrong with how you set it up. I'd go over and read the docs on the Steamworks.NET page

You changed the appdata and stuff right?
Title: Re: Steamworks.NET
Post by: intrikit on June 17, 2015, 02:47:05 PM
The way I set it up should work, right?

Is there any use for the Steam Get Achievement action in this case?

I am now actually getting an error (I forget exactly what it is because I'm not in front of unity right now) which says something like "Steamworks.NET unlock achievement" in red when PlayMaker hits the state with the Unlock action in it. It pauses the game and then skips the state. It also happens in your sample scene. I'll post a screen of that error later.

Yes, I changed the appdata with my own app number.

The connection to Steam seems to be working because I can see that my profile says "In-Game" when I run Unity.
Title: Re: Steamworks.NET
Post by: terri on June 17, 2015, 03:00:59 PM
I mean set it up according to this: https://steamworks.github.io/installation/

Also, you obviously need to set up the achievements in Steamworks first, you've done that as well?
Title: Re: Steamworks.NET
Post by: intrikit on June 17, 2015, 03:51:51 PM
Yes I've set it up according to those instructions. Got the Steam Manager script running etc. Maybe I missed something so I'll go through the process again.

I've also set up the achievements on Steamworks and using the API Name (ACH_WIN_100 or whatever) as the input for the actions.
Title: Re: Steamworks.NET
Post by: terri on June 17, 2015, 04:03:29 PM
Hm. Honestly I have no idea, sounds like it should work.
It's possible something has changed since these actions were created and they might not work anymore, but I can't say for sure.
Title: Re: Steamworks.NET
Post by: intrikit on June 17, 2015, 04:08:19 PM
Yeah sounds like it. Hopefully Riley responds soon and help me solve this.

Thanks for your input.
Title: Re: Steamworks.NET
Post by: Dev_Sebas on June 18, 2015, 06:42:48 PM
Hi guys!
I know that it is making mess, but give me until next Tuesday[23-my last exam].
Next I will be here and will work on this, OK?
I promise :)
Cheers

P.S.-tell me witch version of Unity you have, Steamworks.NET is extremely sensitive.
Title: Re: Steamworks.NET
Post by: intrikit on June 19, 2015, 02:15:21 AM
Thanks! I'm using 4.6.1

I've tried starting over and deleting everything I've imported in my project related to Steamworks.NET. After that I installed the package from this thread. I am now getting this error:

Title: Re: Steamworks.NET
Post by: ssk9208 on June 24, 2015, 08:04:53 AM
Hi guys!
I know that it is making mess, but give me until next Tuesday[23-my last exam].
Next I will be here and will work on this, OK?
I promise :)
Cheers

P.S.-tell me witch version of Unity you have, Steamworks.NET is extremely sensitive.

I am also looking forward  :)
Title: Re: Steamworks.NET
Post by: intrikit on June 27, 2015, 01:06:05 AM
Any updates?
Title: Re: Steamworks.NET
Post by: Dev_Sebas on June 27, 2015, 07:53:56 AM
Working on it, could you guys tell me what features would you like to be in there (features that you need more, etc)(achievements, stats)

Anyone will use matchmaking, servers? I have no experience with that, because steam just shows that stuff to green light developers. :-\
Tell me guys about all this stuff.
Cheers
Seb
Title: Re: Steamworks.NET
Post by: intrikit on June 27, 2015, 02:40:52 PM
Awesome! I'm just trying to get achievements to work at this point. The more features the better though for the future.
Title: Re: Steamworks.NET
Post by: Dev_Sebas on June 27, 2015, 07:44:36 PM
Cool, do you have already access to steamworks developer tools(create custom stats, custom achievements)?
Without it you will only be able to get the sample achievements from Space Wars.
I´m working on it, will be you informed.
Cheers
Seb
Title: Re: Steamworks.NET
Post by: intrikit on June 27, 2015, 07:56:38 PM
Awesome! Yes I am already a Steamworks developer and have a build configured, achievements set up ETC. Just need to update the build with achievements set at this point. Thanks again!
Title: Re: Steamworks.NET
Post by: Dev_Sebas on July 04, 2015, 07:19:11 PM
Men, this is being hard(i´m not a programmer)
I will keep trying and will give my best.
Cheers
Seb
Title: Re: Steamworks.NET
Post by: intrikit on July 06, 2015, 05:59:06 PM
Men, this is being hard(i´m not a programmer)
I will keep trying and will give my best.
Cheers
Seb

Thanks for trying! I've actually updated to 5.1
Title: Re: Steamworks.NET
Post by: Dev_Sebas on July 06, 2015, 09:53:07 PM
Hey that was a great shot, it may help us.
Cheers
Seb
Title: Re: Steamworks.NET
Post by: ssk9208 on August 15, 2015, 01:45:49 AM
Any updates?
Title: Re: Steamworks.NET
Post by: ManicMinerUK on October 21, 2015, 09:52:14 PM
I'm also using this set of actions, and I think I've found a fairly clear-cut problem with the "Steam Unlock Achievement" action.

I'm using it, and it DOES award the achievements.. however you only get notifications for it after you close the game.

The Steamworks.NET FAQ mentions this problem specifically, and says "This is most likely caused by not calling SteamAPI.RunCallbacks() in your game or not calling SteamUserStats.StoreStats() after you set an achievement."

I'm far from an expert programmer (hence why I'm using Playmaker for this) but looking at the action I am using, this seems to be entirely true. I tried putting a debug log to record if the SteamUserStats.StoreStats thing is called, and the log never shows up in the console.

Title: Re: Steamworks.NET
Post by: terri on October 22, 2015, 10:06:42 AM
are you testing it on steam?
I do remember that being a thing while testing inside unity, but once you get the build up there it worked
Title: Re: Steamworks.NET
Post by: ManicMinerUK on October 22, 2015, 09:25:47 PM
it was a thing testing anywhere.

In the end we fixed it by just pasting "SteamUserStats.StoreStats();" into the unlock achievement action - I can't say I know enough coding to say if that's a GOOD solution or not, but it seems to be working so far?
Title: Re: Steamworks.NET
Post by: terri on October 23, 2015, 08:07:26 AM
hey if it works, it works
Title: Re: Steamworks.NET
Post by: Aaddiction on October 24, 2015, 03:23:28 PM
Hello,

How can the friends' of the player can be notified the the players is playing the game at the moment with these actions?

Title: Re: Steamworks.NET
Post by: zorranco on December 12, 2015, 10:50:31 AM
So, to have access to matchmaking you have to be already a steam developer?

That's odd...they could grant access to limited accounts, just like photon do, to test/learn the features about matchmaking, lobbies etc...

This way, to just test how system works, I must start my own enterprise lol

Title: Re: Steamworks.NET
Post by: Codybean1 on January 27, 2016, 04:20:55 AM
Hey guys. I've got a strange problem and I'm not sure what causes it to act so inconsistently regarding Achievements.

SteamManager.cs has no issues communicating with Steamworks to signal that I'm running the game. However, everything I do related to Achievements has basically been flying blind. "Steam Get Achievement" returns nothing, and "Steam Unlock Achievement" used to work actually, but has now always turned False when attempting to use it. I've closed both Unity and Steam multiple times and have updated the Achievement list on the Partner site, but I still can't quite seem to figure out what's preventing me from accessing Steam achievements from the Unity Editor like I used to.

It's come to the point where it doesn't matter if I initialize the Achievements or type in their IDs character-by-character. It just all results in failing to successfully unlock an Achievement, let alone get one's name as a String. I've even gone as far as to replace the Version 1.0.1 of SteamManager.cs that the Playmaker actions came with with a modified Version 1.0.3 and hope that it changes anything, but no.

I'd by more than happy to figure out what I'm doing wrong, because I've been at this all day. Help would be nice.
Title: Re: Steamworks.NET
Post by: MABManZ on May 15, 2016, 11:14:21 PM
Anyone know if it's possible to use the Steamworks invite system using Playmaker (using the Steamworks overlay)?
Title: Re: Steamworks.NET
Post by: clandestine on May 18, 2016, 04:54:23 AM
Hey tribe, could somebody point me in the right direction:
I have 2 leaderboards, if i setup one of them, then call it all works well, but if i setup 2 the second one gives the following error, its always the second one even if i swap them. Im' sure the solution is something simple.

What am i doing wrong?

(http://dash.rkd.zone/images/dev/steam_lb_pm_01.png)

A million thanks in advance!

PS: If setup and execute each from a separate FSM the same happens, the first one executed goes through the second fails.

Thanks!
Title: Re: Steamworks.NET
Post by: Skermunkel on May 18, 2016, 03:45:42 PM
Hi I seem to be having some trouble with these actions. I have set up everything as indicated but whenever I try to Setup Achievements, Stats or Leaderboards, or try to Get/Set any of them the State containing the action just freezes up and I get the following error:

NullReferenceException: Object reference not set to an instance of an object
HutongGames.PlayMaker.Actions.SteamSetupAchievements.OnEnter () (at Assets/Standalone/PlayMaker/SteamSetupAchievements.cs:26)

Please, please, please any help or advice would be greatly appreciated as I am on a tight schedule and this is holding me back, I am using Unity 5.3.4p2 and the latest versions of Playmaker and Steamworks.NET

Thanks in advance for any help or advice on the matter.
Title: Re: Steamworks.NET
Post by: Skermunkel on May 18, 2016, 05:08:38 PM
I managed to get it working now, I just forgot to put all the necessary Stats/Achievements/Leaderboard code into the SteamManager script, it seems to work beautifully now.

The only thing that is still giving me problems is Setting Stats, no matter what I do I always get the error message "Stat Not Found", Ive tried using the ID number of the stat, the API Name and the Display Name (even changing the API Name, publishing and then testing again) but no matter what I do I keep getting the above error.

Please any help on the matter would be immensely appreciated.
Title: Re: Steamworks.NET
Post by: clandestine on May 19, 2016, 01:01:20 AM
I managed to get it working now, I just forgot to put all the necessary Stats/Achievements/Leaderboard code into the SteamManager script, it seems to work beautifully now.
Hey SkobbejakGames, could you show us how do you setup the FSM and actions? Do you have 1 leaderboard or more? Please show me how you set it up.
Title: Re: Steamworks.NET
Post by: Skermunkel on May 19, 2016, 05:33:31 AM
@clandestine: Yes I do have more than 1 Leaderboard and it seems to work perfectly. I just Setup both the Leaderboards with one "Setup Leaderboards" action on an empty game object, I then upload the Leaderboard Score to my Leaderboards from any other object using the "Upload Score" action and it seems to always work.

Hope the info helps.
Title: Re: Steamworks.NET
Post by: clandestine on May 19, 2016, 06:36:24 AM
@clandestine: Yes I do have more than 1 Leaderboard and it seems to work perfectly. I just Setup both the Leaderboards with one "Setup Leaderboards" action on an empty game object, I then upload the Leaderboard Score to my Leaderboards from any other object using the "Upload Score" action and it seems to always work.

Hope the info helps.

Thanks a lot man, i'm doing exactly the same and it bugs out, i'll redo my FSM from scratch and see what happens.

PS: Besides the PlayMaker Steamworks.NET actions, you have the Steam Manager script, right? Any other script needed?
Title: Re: Steamworks.NET
Post by: Skermunkel on May 19, 2016, 06:49:21 AM
You also need the SteamLeaderboards and SteamStatsAndAchievements scripts which are included with the Playmaker Actions Package. You also need to include the definitions, assignments and calls for the Leaderboards and StatsAnAchievements into your SteamManager script (check the SteamManager script in the Playmaker Actions package for reference, dont copy it over as you should use your SteamManager script with your AppID settings, the SteamManager included with the package is also from an older version of Steamworks.NET)

Hope the info helps.
Title: Re: Steamworks.NET
Post by: clandestine on May 20, 2016, 08:17:36 AM
The thing is that when i have one LeaderBoard in the Setup action everything goes well, the score is uploaded and i see it in Steamworks admin panel... when i define more than one, it doesnt work anymore.

Also STEAM shows that i'm in game even after i've shut down unity (or the build exe). I have to kill STEAM and realunch it to fix the situation.

Would that be part of the cause?
Title: Re: Steamworks.NET
Post by: Skermunkel on May 23, 2016, 10:55:02 AM
Sorry for the late reply. That is pretty weird how Steam still shows that you are in game even after exiting Unity/GameBuild, dont think it should affect the Leaderboards though. Have tried both versions of the actions (the ones uploaded by terri and the ones uploaded by Dev_Sebas, Im using the ones by Dev Sebas).

Ill try to get some screenshots of my Steamworks setup as soon as I can (not in front of my PC at the moment replying from my phone).

Otherwise try to contact Riley perhaps and see if he can maybe give you some advice.
Title: Re: Steamworks.NET
Post by: clandestine on May 27, 2016, 07:14:39 PM
Hey man, thanks a lot... we got the achievements working with in game steam overlay and everything, but the leader boards are still kinda broken... i hope we fix them soon.

Thanks a lot for your willingness to help (willingness = what a weird word) :P
Title: Re: Steamworks.NET
Post by: Skermunkel on July 10, 2016, 08:19:58 PM
Hi, we seem to be experiencing a crash on startup ever since we've added these actions giving a window with "Close Program" and a "Debug option", when selecting Debug though and opening a program to debug (Visual Studio, Mono, etc.) and then switch back to the game everything works fine and you can then quit the debugger program and no crashes appear on the game again for some time again (although they can pop up again).

This also happens in the tester scene so I know it is the Actions causing it and it seems to be some kind of conflict between the action, Steamworks.NET and Steam itself.

Unfortunately it doesnt seem everyone gets the same window (especially on non-english systems it seems) and they dont receive the Debug option. Please any help on this matter would be greatly appreciated. Sorry for the hassle.
Title: Re: Steamworks.NET
Post by: clandestine on July 11, 2016, 03:23:14 AM
That might not be your case at all, but i had lots of crashes while testing the game (not launched through steam, just from a local build or the editor), once i set my steam build to live and launched through steam, all the errors are gone and everything works perfectly, also make sure you have the .dll files (only on the windows build)
Title: Re: Steamworks.NET
Post by: clandestine on July 20, 2016, 04:15:05 AM
Hey guys, just made this comic strip depicting the process to make it work...
The image is 1920X3530
(http://dash.rkd.zone/images/steam_setup.png)
Title: Re: Steamworks.NET
Post by: 1982 on August 15, 2016, 05:39:20 AM
Hi!

The actions aren't available for download from the link, is there any other mirror I could use? Thanks :)
Title: Re: Steamworks.NET
Post by: terri on August 15, 2016, 07:23:12 AM
Hi!

The actions aren't available for download from the link, is there any other mirror I could use? Thanks :)

they are included in Dev_Seba's post a bit lower on the first page
Title: Re: Steamworks.NET
Post by: 1982 on August 15, 2016, 07:53:14 AM
Thanks! Some how I just missed that when going through the thread...
Title: Re: Steamworks.NET
Post by: serkanos on August 23, 2016, 05:48:36 PM
Hi guys. Does it needed to enter appid in steammanager.cs (SteamAPI.RestartAppIfNecessary(AppId_t.Invalid) I didnt understood how I change this script.
(http://i.hizliresim.com/oEZX4X.png) (http://hizliresim.com/oEZX4X)

And steam_api.dll file in my unity project/assets/plugins/x86.  Is it true place?
Sorry my english not good
Title: Re: Steamworks.NET
Post by: clandestine on September 13, 2016, 05:50:32 AM
Hey guys, a guy on the Steam forum for my game suggested displaying the steam leaderboards ingame, but i don't seem to find any way to retrieve that info from inside the game.
Is this even possible?

Thanks in advance.
Title: Re: Steamworks.NET
Post by: clandestine on September 16, 2016, 07:00:17 AM
el bumpo
Hey guys, a guy on the Steam forum for my game suggested displaying the steam leaderboards ingame, but i don't seem to find any way to retrieve that info from inside the game.
Is this even possible?

Thanks in advance.
Title: Re: Steamworks.NET
Post by: terri on September 16, 2016, 04:30:10 PM
Hey guys, a guy on the Steam forum for my game suggested displaying the steam leaderboards ingame, but i don't seem to find any way to retrieve that info from inside the game.
Is this even possible?

Thanks in advance.

I haven't looked at this in a while but I believe currently it is not, at least with these actions.
Title: Re: Steamworks.NET
Post by: clandestine on September 17, 2016, 01:34:19 PM
Thanks a lot man!
Title: Re: Steamworks.NET
Post by: whelly on November 07, 2016, 06:09:56 PM
Hey guys, I wanted to see what's working for you with SDK and Unity version. I need to use these Playmaker actions, but I'm not sure what's compatible or not. I'm thinking of using Steamworks.NET v7.0.0 and Steamworks SDK v1.34. My Unity version is 5.3.2. Is this setup working for anyone else?

Update: I just tried it out and achievements are working fine. I'm not sure about the other Steamworks features.
Title: Re: Steamworks.NET
Post by: Nodixal on December 23, 2016, 12:20:33 PM
I can't seem to find a download link to the actions for this. Every link is down.
Title: Re: Steamworks.NET
Post by: BDFgames on January 07, 2017, 09:05:41 PM
Hi all. Thanks to the excellent work here by both the original dev and those who have followed, I've managed to record scores in a Steam Leaderboard, but I can't see how to extract scores from the Steam Leaderboard to present in-game.

Has anyone figured that out?
Title: Re: Steamworks.NET
Post by: clandestine on January 08, 2017, 05:05:25 AM
Hey guys, a guy on the Steam forum for my game suggested displaying the steam leaderboards ingame, but i don't seem to find any way to retrieve that info from inside the game.
Is this even possible?

Thanks in advance.

I haven't looked at this in a while but I believe currently it is not, at least with these actions.
I had the same issue, no solution yet.
Title: Re: Steamworks.NET
Post by: BDFgames on January 09, 2017, 12:24:51 AM
Thanks, clandestine. Bummer.

By the way, thanks also for that "comic strip" you created of the process—it was very helpful.  :)

What's the best way to request an escalation on this with Hutong, do you think?
Title: Re: Steamworks.NET
Post by: Fat Pug Studio on January 30, 2017, 10:04:17 AM
I concur, this feature is undeservingly neglected.
Title: Re: Steamworks.NET
Post by: BDFgames on January 31, 2017, 05:12:15 PM
Would love to hear from a Hutong person on this... *cough*  :)
Title: Re: Steamworks.NET
Post by: jeanfabre on February 10, 2017, 01:04:45 AM
Hi,

 On what issue would you like to hear from us? Sorry the thread is so long, I am not sure I understand what you expect :)

Bye,

 Jean
Title: Re: Steamworks.NET
Post by: BDFgames on February 10, 2017, 01:12:22 AM
Hi Jean,

Thanks for jumping in. I think the main issue for those of us trying to work with Steamworks.net and Playmaker is that the Steamworks functionality in the actions as they stand right now is incomplete.

Some things don't seem to work as intended. It's difficult to know, though, because the actions don't seem to report errors or allow Fail results. (As mentioned, its support is "incomplete".)

As a case in point, while I have been able to get a leaderboard to update, it only does so occasionally, and without displaying any reason for failing when it doesn't work.

Also, there doesn't seem to be any actions available for grabbing the information to display in-game. Seems to be a one-way trip for leaderboard data, for example.

My understanding is that the Steamworks.net package may not be official Playmaker actions, but I'm hoping you guys might be able to take a look and shed some light on where Playmaker is at with Steamworks support, and perhaps give it some much-needed love.  :)

Looking forward to your response.

Regards,
Mark
Title: Re: Steamworks.NET
Post by: jeanfabre on February 10, 2017, 01:32:29 AM
Hi,

 yes, I think too that something needs to be done here. I guess what I need to provide a proper support on the Ecosystem for steam is someone like you that can test with a real world case, as I don't have one personally.

So if you are ok with this ( and everyone is welcome to join the effort), I am ready to take this package and consolidate it, but I'll need your help to test and validate.


 Bye,

 Jean
Title: Re: Steamworks.NET
Post by: BDFgames on February 10, 2017, 09:18:30 PM
Absolutely. More than happy to play my part to advance the Steamworks.net solution.  :)
Title: Re: Steamworks.NET
Post by: clandestine on February 27, 2017, 01:58:18 PM
I have a game on steam with leaderboards (http://steamcommunity.com/stats/470590/leaderboards/1268466/), achievements (http://steamcommunity.com/stats/470590/achievements/), etc... so count me in.
Title: Re: Steamworks.NET
Post by: iEpic on April 07, 2017, 04:29:03 PM
So are there no playmaker actions for Steam?

Would love some achievement and cloud saving actions
Title: Re: Steamworks.NET
Post by: iEpic on April 09, 2017, 06:56:51 PM
Nvm i found the actions.

Do I need to replace the steamwork.NET_Playmaker/Integration/SteamManager.cs file with the SteamManager.cs from the latest SDK?

When I imported the actions in my project, it said I had 2 SteamManager classes, so I'm not sure which one to keep.
Title: Re: Steamworks.NET
Post by: BDFgames on April 29, 2017, 09:46:07 PM
Not that I'm aware of.
Title: Re: Steamworks.NET
Post by: iEpic on May 04, 2017, 04:36:47 PM
i got the achievements to work and I have it where it is saving scores to the leaderboard.

Does anyone know how to retrieve the leaderboard scores and display them?

I would pay good money for this.
Title: Re: Steamworks.NET
Post by: terri on May 04, 2017, 05:22:38 PM
i got the achievements to work and I have it where it is saving scores to the leaderboard.

Does anyone know how to retrieve the leaderboard scores and display them?

I would pay good money for this.

I originally hired the creator of Steamworks.NET for the first actions made for this, so you could probably pay him to create any actions you need.
Title: Re: Steamworks.NET
Post by: BDFgames on May 04, 2017, 05:47:49 PM
"i got the achievements to work and I have it where it is saving scores to the leaderboard."

Nice one. Mind sharing a screenshot of your leaderboard saving state? Mine works, but only intermittently, so I'm guessing I've done something wrong.  :(

"Does anyone know how to retrieve the leaderboard scores and display them?"

It seems to be currently not possible to display the leaderboard in-game using the Playmaker Steamworks actions. The action scripts need to be revisited to enable this.
Title: Re: Steamworks.NET
Post by: iEpic on May 04, 2017, 05:58:41 PM
It's working for INTs but I'm not sure how to upload it as a float or in a minute:seconds format.
Title: Re: Steamworks.NET
Post by: BDFgames on May 04, 2017, 06:03:40 PM
Thanks for sharing. Very simple -- I must be trying too hard with mine or something, as mine only works now and then.  :)

I'm pretty sure the Upload Score action only takes Integers right now. Someone would need to create a version for other formats the Steam Leaderboards will accept.

If there are any expert Action script coders interested in taking this on, I'd be interested in putting some cash into such an engagement too.  :)
Title: Re: Steamworks.NET
Post by: ermak on August 02, 2017, 08:02:09 AM
Here have one C# script for "Get scores from leaderboard" but the creator missing something and he don't know where exactly is downloaded score data. If anyone can help with this...
http://answers.unity3d.com/questions/1352472/steamworksnet-unity-c-leaderboards.html

========================================

Also is very important to add this line, if you want Achivments to unlock in-game and not only if you quit the game. Thanks to ManicMinerUK for that hint!

Line:
SteamUserStats.StoreStats()

So, my SteamAchievementUnlock.cs script currently is this and Achievements are unlocking in-game:

Quote
// Created by Riley Labrecque for Digital Devolver and Terri Vellmann
// (c) 2014
using UnityEngine;
using Steamworks;

namespace HutongGames.PlayMaker.Actions
{
   [ActionCategory("steamworks.NET")]
   [Tooltip("Unlocks an Achievement by name.")]
   public class SteamAchievementUnlock : FsmStateAction
   {
      [RequiredField]
      [Tooltip("Achievement name.")]
      public FsmString achievementId;

      [UIHint(UIHint.Variable)]
      [Tooltip("Returns true on success, false on failure.")]
      public FsmBool success;

      public override void Reset()
      {
         achievementId = null;
         success = null;
      }

      public override void OnEnter()
      {
         success.Value = SteamManager.StatsAndAchievements.UnlockAchievement(achievementId.Value);   
         SteamUserStats.StoreStats ();  // ADD THIS LINE
      }
   }
}


With this line Achievements showing in Unity Editor too, but you must be loged in your Steam app (username account with access to Steamworks page).
Also don't forget after creating Achievements on Steamworks page, to publish your changes and reload your Steam app and Unity program.

========================================

Can anyone give me example picture of FSM how to setup and work with these actions: Steam Stats Setup, Steam Stat Set, Steam Stat Get. I can't figure out how to work with this. Unity showing error "can't find stat with that name", but "Steam Stats Setup" action must be only INT or FLOAT and my stat API Name is STRING (on steamworks developer page https://partner.steamgames.com) ?

Thanks!
Title: Re: Steamworks.NET
Post by: evmo on November 14, 2017, 12:53:15 AM
Hey All,

I've got steamworks.NET all setup with the actions installed.

I've followed everyone's examples and got the app ID entered. Everything seems to be working, no errors and the console is putting out the following messages:

New Score of 420 uploaded to leaderboard: High Scores
UnityEngine.Debug:Log(Object)

OnScoreUploaded 1 - 0
UnityEngine.Debug:Log(Object)

Nothing is appearing in the leaderboard though.

Am I missing something?
Title: Re: Steamworks.NET
Post by: ermak on November 15, 2017, 03:08:38 AM
Hey All,

I've got steamworks.NET all setup with the actions installed.

I've followed everyone's examples and got the app ID entered. Everything seems to be working, no errors and the console is putting out the following messages:

New Score of 420 uploaded to leaderboard: High Scores
UnityEngine.Debug:Log(Object)

OnScoreUploaded 1 - 0
UnityEngine.Debug:Log(Object)

Nothing is appearing in the leaderboard though.

Am I missing something?

If I remember right (because I dont work with Unity from a while)

1. You must see in the log:
OnScoreUploaded 1 - 1 (Score is uploaded)
If you see:
OnScoreUploaded 1 - 0 (Score is not uploaded)

2. You must send only bigger score not equal or smaller of the current recorded score on steam. Example: upload: 2, 5, 10 , 12 ... this is fine.
If you upload 10, 15 and after this again 15 or 14 , 12 ... this is not fine.

3. Make your Leaderboard in your Steamworks account like this:

Name: What you want
Community Name: What you want
Sort Method: Descending (this is very important)
Display Type: Numeric

4. If I remember right (from Steam docs)... You can upload/send only 10 scores for 10 minutes interval. TIhis is steam limitation for optimisation purpose. So, if you upload the right numbers, but very often... again you will see:
OnScoreUploaded 1 - 0

Good Luck!
Title: Re: Steamworks.NET
Post by: evmo on November 15, 2017, 01:59:30 PM
Hey All,

I've got steamworks.NET all setup with the actions installed.

I've followed everyone's examples and got the app ID entered. Everything seems to be working, no errors and the console is putting out the following messages:

New Score of 420 uploaded to leaderboard: High Scores
UnityEngine.Debug:Log(Object)

OnScoreUploaded 1 - 0
UnityEngine.Debug:Log(Object)

Nothing is appearing in the leaderboard though.

Am I missing something?

If I remember right (because I dont work with Unity from a while)

1. You must see in the log:
OnScoreUploaded 1 - 1 (Score is uploaded)
If you see:
OnScoreUploaded 1 - 0 (Score is not uploaded)

2. You must send only bigger score not equal or smaller of the current recorded score on steam. Example: upload: 2, 5, 10 , 12 ... this is fine.
If you upload 10, 15 and after this again 15 or 14 , 12 ... this is not fine.

3. Make your Leaderboard in your Steamworks account like this:

Name: What you want
Community Name: What you want
Sort Method: Descending (this is very important)
Display Type: Numeric

4. If I remember right (from Steam docs)... You can upload/send only 10 scores for 10 minutes interval. TIhis is steam limitation for optimisation purpose. So, if you upload the right numbers, but very often... again you will see:
OnScoreUploaded 1 - 0

Good Luck!

I've been told that the build must be uploaded to Steam for this to work? I've only been trying it locally so far...I'm shown as being in the game when I test so it is talking to Steam.

I set my leaderboard up just as you show it in your example so that should be correct.

Will upload a build tonight and see it works.

Never tried to use any Steam services before so this is all new to me, I appreciate the help!
Title: Re: Steamworks.NET
Post by: evmo on November 15, 2017, 11:07:40 PM
Success!  I have scores in my leaderboard!

I just missed the part about it needing to be played through Steam which in hindsight is totally obvious.... ::)

Thanks for the help everyone.
Title: Re: Steamworks.NET
Post by: terri on November 21, 2017, 08:51:49 AM
I don't think the build needs to be on Steam, but Steam does need to be online
Title: Re: Steamworks.NET
Post by: Neikke on January 01, 2018, 06:30:13 AM
Hi,

I don't quite understand how do I actually list all players' scores in some UI window or smth like that.. All examples I found show how they do it using Debug.Log as an example. But how to actually list, let's say 100 scores in some UI window after I press some UI button? Thanks in advance!
Title: Re: Steamworks.NET
Post by: clandestine on January 01, 2018, 01:08:21 PM
I never figured out how to do this with the steamworks.net actions. I'll try some of those assets (http://www.assetstore.unity3d.com/en/#!/content/96418) (this one is the cheapest) and see what happens.
Title: Re: Steamworks.NET
Post by: Neikke on January 05, 2018, 10:51:35 AM
I never figured out how to do this with the steamworks.net actions. I'll try some of those assets (http://www.assetstore.unity3d.com/en/#!/content/96418) (this one is the cheapest) and see what happens.

Yeah I bought this one from Asset Store and it seems to be very cool thing but I struggle with implementation - but that's because I;m not a coder. But there are comments from guys that it's super easy thing if you can code of course.
Title: Re: Steamworks.NET
Post by: terri on January 15, 2018, 06:45:42 AM
I know its not what you want exactly, but you can use this and link it to your game's leaderboard URL
Title: Re: Steamworks.NET
Post by: markadet on January 24, 2018, 05:14:58 PM
I have the same problem than ManicMiner here:

I'm also using this set of actions, and I think I've found a fairly clear-cut problem with the "Steam Unlock Achievement" action.

I'm using it, and it DOES award the achievements.. however you only get notifications for it after you close the game.

The Steamworks.NET FAQ mentions this problem specifically, and says "This is most likely caused by not calling SteamAPI.RunCallbacks() in your game or not calling SteamUserStats.StoreStats() after you set an achievement."

He later said he fixed it here:

In the end we fixed it by just pasting "SteamUserStats.StoreStats();" into the unlock achievement action - I can't say I know enough coding to say if that's a GOOD solution or not, but it seems to be working so far?

How could I do that? I don't know the C# syntax enough to do this surely (and doing a lot of tests would be very long because it has to be tested as a build on Steam...)

FYI : here is the action:
Code: [Select]
// Created by Riley Labrecque for Digital Devolver and Terri Vellmann
// (c) 2014
using UnityEngine;
using Steamworks;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory("steamworks.NET")]
[Tooltip("Unlocks an Achievement by name.")]
public class SteamAchievementUnlock : FsmStateAction
{
[RequiredField]
[Tooltip("Achievement name.")]
public FsmString achievementId;

[UIHint(UIHint.Variable)]
[Tooltip("Returns true on success, false on failure.")]
public FsmBool success;

public override void Reset()
{
achievementId = null;
success = null;
}

public override void OnEnter()
{
success.Value = SteamManager.StatsAndAchievements.UnlockAchievement(achievementId.Value);
}
}
}
Title: Re: Steamworks.NET
Post by: markadet on January 28, 2018, 07:38:55 AM
BUMP because it's the last thing I have to do on my game, and any help would be greatly appreciated.  :P
Title: Re: Steamworks.NET
Post by: jeanfabre on January 29, 2018, 03:52:46 AM
I have the same problem than ManicMiner here:

I'm also using this set of actions, and I think I've found a fairly clear-cut problem with the "Steam Unlock Achievement" action.

I'm using it, and it DOES award the achievements.. however you only get notifications for it after you close the game.

The Steamworks.NET FAQ mentions this problem specifically, and says "This is most likely caused by not calling SteamAPI.RunCallbacks() in your game or not calling SteamUserStats.StoreStats() after you set an achievement."

He later said he fixed it here:

In the end we fixed it by just pasting "SteamUserStats.StoreStats();" into the unlock achievement action - I can't say I know enough coding to say if that's a GOOD solution or not, but it seems to be working so far?

How could I do that? I don't know the C# syntax enough to do this surely (and doing a lot of tests would be very long because it has to be tested as a build on Steam...)

FYI : here is the action:
Code: [Select]
// Created by Riley Labrecque for Digital Devolver and Terri Vellmann
// (c) 2014
using UnityEngine;
using Steamworks;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory("steamworks.NET")]
[Tooltip("Unlocks an Achievement by name.")]
public class SteamAchievementUnlock : FsmStateAction
{
[RequiredField]
[Tooltip("Achievement name.")]
public FsmString achievementId;

[UIHint(UIHint.Variable)]
[Tooltip("Returns true on success, false on failure.")]
public FsmBool success;

public override void Reset()
{
achievementId = null;
success = null;
}

public override void OnEnter()
{
success.Value = SteamManager.StatsAndAchievements.UnlockAchievement(achievementId.Value);
}
}
}


Hi,

 try this code:

Code: [Select]
// Created by Riley Labrecque for Digital Devolver and Terri Vellmann
// (c) 2014
using UnityEngine;
using Steamworks;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory("steamworks.NET")]
[Tooltip("Unlocks an Achievement by name.")]
public class SteamAchievementUnlock : FsmStateAction
{
[RequiredField]
[Tooltip("Achievement name.")]
public FsmString achievementId;

[UIHint(UIHint.Variable)]
[Tooltip("Returns true on success, false on failure.")]
public FsmBool success;

public override void Reset()
{
achievementId = null;
success = null;
}

public override void OnEnter()
{
success.Value = SteamManager.StatsAndAchievements.UnlockAchievement(achievementId.Value);

SteamUserStats.StoreStats();
}
}
}

Let me know if it helps.

Bye,

 Jean
Title: Re: Steamworks.NET
Post by: markadet on January 29, 2018, 05:58:51 AM
I tested it, and it works! Thank you Jean!  :)

PS : all these actions are still pretty bad (for example when they ask for ID you won't have to use what is called "ID" on steam, but the "name"). I used hundreds of different Playmaker actions on this game, and the steamworks were the only bad one (broken / incomplete).

It will be enough for me to finish my current project though, so I'm happy, but if someone really want to make a lot of things with steamworks, using Playmaker only, it wont' be possible (in the current state of these actions).
Title: Re: Steamworks.NET
Post by: jeanfabre on January 30, 2018, 03:53:05 AM
Hi,

 yes, I have it planned to dedicated the next big chunk of my time on this. I first want to finish the meFace sample for DataMaker, and then I can tackle support for steamworks.

Bye,

 Jean
Title: Re: Steamworks.NET
Post by: clandestine on January 30, 2018, 09:21:25 AM
yes, I have it planned to dedicated the next big chunk of my time on this. I first want to finish the meFace sample for DataMaker, and then I can tackle support for steamworks.
Thats really great Jean!
Many thanks!
Title: Re: Steamworks.NET
Post by: BDFgames on February 01, 2018, 04:01:50 PM
yes, I have it planned to dedicated the next big chunk of my time on this. I first want to finish the meFace sample for DataMaker, and then I can tackle support for steamworks.

This is excellent news! Thanks, Jean. You've made my day.  :D
Title: Re: Steamworks.NET
Post by: craigz on February 12, 2018, 10:16:56 AM
Hi,

 yes, I have it planned to dedicated the next big chunk of my time on this. I first want to finish the meFace sample for DataMaker, and then I can tackle support for steamworks.

Bye,

 Jean

Wahoo! :D this gets me pumped to hear Jean! :D
Title: Re: Steamworks.NET
Post by: Kathar on February 13, 2018, 05:38:03 PM
Hi,

 yes, I have it planned to dedicated the next big chunk of my time on this. I first want to finish the meFace sample for DataMaker, and then I can tackle support for steamworks.

Bye,

 Jean
Will be needing to integrate Steamworks into my game soon, so this is awesome to hear! Look forward to it - cheers!
Title: Re: Steamworks.NET
Post by: Neikke on April 11, 2018, 08:07:32 AM
Hey folks, any progress on that?
Title: Re: Steamworks.NET
Post by: BDFgames on April 27, 2018, 06:25:00 AM
Intently watching this thread, guys...hoping something is happening?  :)
Title: Re: Steamworks.NET
Post by: ben_aoineko on May 18, 2018, 01:33:02 PM
Very glad to hear this is being worked on. The players for my Steam game 'Super Pillow Fight' really want achievements!
Title: Re: Steamworks.NET
Post by: terri on May 19, 2018, 12:30:52 PM
Very glad to hear this is being worked on. The players for my Steam game 'Super Pillow Fight' really want achievements!

Achievements, leaderboards and stats are totally doable with the actions you can find on this thread. Only the achievement unlock action needs a quick fix because they were made for an earlier version of Steamworks.net, but its super simple.
Title: Re: Steamworks.NET
Post by: BDFgames on May 20, 2018, 03:59:51 AM
Any progress on this, Jean ?  :)
Title: Re: Steamworks.NET
Post by: djaydino on May 20, 2018, 06:45:58 PM
Hi,
I will look into this in the upcoming weeks
Title: Re: Steamworks.NET
Post by: LogLady on May 21, 2018, 10:13:40 PM
A tutorial would be great too. Some got to make it work some not.  :'(
Title: Re: Steamworks.NET
Post by: clandestine on May 22, 2018, 07:03:12 AM
I have it planned to dedicated the next big chunk of my time on this.
Bye,

Jean

Hey Jean, you're our savior man! Our own personal Jesus. Have you had the time already to give those actions a shot?

We'll be eternally thankful!
Title: Re: Steamworks.NET
Post by: bess2k2 on June 25, 2018, 12:26:43 AM
Can someone provide a link to the Steam achievement commands mentioned earlier in this thread? I can't seem to find them. Are they faulty?
That's the last thing I need for my game.
Title: Re: Steamworks.NET
Post by: BDFgames on June 28, 2018, 10:38:36 PM
I have it planned to dedicated the next big chunk of my time on this.
Bye,

Jean

Hey Jean, you're our savior man! Our own personal Jesus. Have you had the time already to give those actions a shot?

We'll be eternally thankful!

Seconded! Any update for us, Jean?  :)
Title: Re: Steamworks.NET
Post by: MAX_POWER on June 29, 2018, 07:05:04 AM
Are there any updates coming in the following weeks or should I go with the current actions?
Title: Re: Steamworks.NET
Post by: djaydino on June 29, 2018, 07:32:22 AM
Hi.
I will start today looking into this (i had other priorities to do first)

So there might be some updates coming depending on the actions and so

It is also possible that i will completely rework everything and make a new package.

I will know in the upcoming  week what the plan will be.

I will let you know here what my plan is once i looked into the actions.
Title: Re: Steamworks.NET
Post by: MAX_POWER on June 29, 2018, 07:40:02 AM
Sounds great. I would appreciate if you could let me know as soon as you know whether or not you'll be making a new package. Thanks!
Title: Re: Steamworks.NET
Post by: MAX_POWER on July 09, 2018, 03:28:50 AM
djaydino any news?
Title: Re: Steamworks.NET
Post by: djaydino on August 23, 2018, 11:59:44 AM
Hi.
I am working on steam actions but there is literary a lot of work on this.
But i have now about 50+ actions ready for testing.
It includes achievements / stats / client / friends stuff (avatar/nickname/...) and some more.

if you wish to help alpha/beta testing them....pm me (you must have a discord account)

As this is alpha/beta testing i do not advice to use them on your projects, if you do it is on your own risk!
Title: Re: Steamworks.NET
Post by: craigz on August 23, 2018, 04:27:06 PM
Wahoo!

Great to hear Djaydino! :D

Thanks for cranking away on this, its super exciting!

-craigz
Title: Re: Steamworks.NET
Post by: BDFgames on August 23, 2018, 07:47:42 PM
Thanks, djaydino! You're a champion!  :)

if you wish to help alpha/beta testing them....pm me (you must have a discord account)

I'll be happy to alpha-test with you. I'll need to set up a Discord account, though, so I'll PM you as soon as I've got that in place.

Thanks again!
Title: Re: Steamworks.NET
Post by: djaydino on September 02, 2018, 01:27:19 PM
Hi all!

So far tests are looking good, but i would like some more tester.
(pm me and come on discord to get access)

At the moment i am making some samples, and will be making some tutorial videos in the next comings weeks.

After that i will release the 1st part on the forum (probably still as beta!) on a new thread.
and if that goes good they will be set available on the Ecosystem (https://hutonggames.fogbugz.com/default.asp?W1181).

And if you feel generous you can always support me on my Patreon page (https://www.patreon.com/jinxtergames)

Here are some images from the actions :
(https://i.imgur.com/poA7t1Al.png)(https://i.imgur.com/kpSmaM3l.png)
Title: Re: Steamworks.NET
Post by: djaydino on September 21, 2018, 08:12:19 AM
Hi.
The 1st open beta action package is available, go to this topic for more info :

http://hutonggames.com/playmakerforum/index.php?topic=19458.0

I will try to make some samples in the coming week and maybe some videos
(working in a new office while they are still constructing, so a lot of noise at the moment.)
Title: Re: Steamworks.NET
Post by: Ateam on October 21, 2018, 01:03:18 AM
Hello, do you have plans to make transcriptions actions for playmaker? https://partner.steamgames.com/doc/features/microtransactions
Title: Re: Steamworks.NET
Post by: Gua on February 17, 2020, 09:20:04 AM
========================================

Can anyone give me example picture of FSM how to setup and work with these actions: Steam Stats Setup, Steam Stat Set, Steam Stat Get. I can't figure out how to work with this. Unity showing error "can't find stat with that name", but "Steam Stats Setup" action must be only INT or FLOAT and my stat API Name is STRING (on steamworks developer page https://partner.steamgames.com) ?

Thanks!

Have you able to figure it out?
Title: Re: Steamworks.NET
Post by: djaydino on February 17, 2020, 12:13:37 PM
Hi.
Sorry but at this moment i have to much other work to continue working on steamworks actions.

But i did set my github public so if anyone wants to work on it feel free.

Hopefully in a few month i can continue on this (or redo as the library was overhauled)

i am very sorry
Title: Re: Steamworks.NET
Post by: Fat Pug Studio on June 10, 2020, 08:37:51 AM
Yo guys,

sorry for bumping, i got the achievements working but Leaderboards are a black box for me. All i see is Create Leaderboards action, but i guess it does what it tells so it's of little use.

I'm using version 1.0.7 of steammanager and djaydino's actions, but if i import old steamworks.net with actions for leaderboards (terris and dev_sebas from the beginning of the thread) i get a load of "no definition for xx in steammanager" errors.

I'm also willing to pay if someone can make a quick action, i'm low on time and bound to launch in two weeks.