New features wanted for steamworks extension?

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Hi all.
    The current extension is about to be 10 years old and lacks the latest SDK features, and seems that both CT & author are too busy and don't have time to update it.
    However, it indeed covers more than 80% SDK features, so it's a lot of unnecessary work to rewrite it. The aim is, make an extension as the complement, add features like detect remote play device types / User language, and the original one remains untouched.
    So, I'm here to gather wanted features.

    Please login to see this picture.
    Please login to see this picture.
    Please login to see this picture.

    compatibility:
    New version modified lib file so it will load latest dll in another file name, in theory it should be compatible with old one.
    You need to create steam_appid.txt according to the valve's document, and make sure the ID in this file is the same as the one in the old ext's properties. Different ID may conflict due to the initialize order, maybe overwrote.

    repo:
    Please login to see this link.

    Note that this work won't be fast, depending on the development state of my game, and the features I need will be added as the highest priority.

  • This would be great and very much appreciated! Having a bug free and up to date steamworks extension is really important for anyone wanting to publish something on steam! I at least would be willing to pay for this.

    As for features, for me the regular steam functions like achievements, workshop support and cloud saves seem the most important IMHO.

    Edited once, last by SirEatAlot (December 16, 2022 at 12:56 PM).

  • Get back to continue work on this, sorry for the late reply

    In-App purchases is a highly requested one...
    There's also the thing where the original can't download workshop files that the id is bigger than a 16-bit integer or something...

    Does 'In-App purchases' something equal to Please login to see this link.? The purchase is done by web API, which should be covered by Get object. What I can do is return steam ID and game language (done in current version).
    About the workshop, I'll check this after the upload folder content is implemented.

    This would be great and very much appreciated! Having a bug free and up to date steamworks extension is really important for anyone wanting to publish something on steam! I at least would be willing to pay for this.

    As for features, for me the regular steam functions like achievements, workshop support and cloud saves seem the most important IMHO.

    I'll add achievement & stats first as I'm using both in game and don't want to keep two objects :)
    Talking about cloud savings, do you mean the APIs that allow you to upload/modify specific files? As set save file path is enough for most games and it's transparent to game itself (steam will auto syncs it when game is closed).

  • Workshop 8-bit signed/10-bit unsigned issue got fixed a while ago. Haven't had any problems with it in a couple years. Make sure you download the latest version of the extension.

    What I would love to see is the ability to properly enable/disable the extension both in-engine and at runtime so a game can be brought to multiple platforms without having to potentially damage code by removing the Steamworks extension completely.

  • Get back to continue work on this, sorry for the late reply


    Does 'In-App purchases' something equal to Please login to see this link.? The purchase is done by web API, which should be covered by Get object. What I can do is return steam ID and game language (done in current version).
    About the workshop, I'll check this after the upload folder content is implemented.


    I'll add achievement & stats first as I'm using both in game and don't want to keep two objects :)
    Talking about cloud savings, do you mean the APIs that allow you to upload/modify specific files? As set save file path is enough for most games and it's transparent to game itself (steam will auto syncs it when game is closed).

    hi defisym, I was checking the discord and found a message from you, but bringing here to be attached to this post as it might be useful to others


    It was asked: "It is possible to make some kind of DLC thing in Clickteam Fusion?"

    and you replied
    "If you publish your game on steam, then dlc is just another application with separate app id & depots.
    Usually steam will merge dlc contents to main app, and IIRC you can edit build scripts to set overwrite or not when conflicts.
    You can check if user have this app and enable dlc exclusive contents"

    Would you mind elaborating more on this? Doesn't DLC need a verification with Steam API? Let's say I have a game. And want a DLC with more levels to it. The DLC is created and bought. So Steam do download the materials to the same folder as the game and the main game updated, how do I verify if the DLC is acquired if not through the steamworks extension?

    Thanks for any light on this subject.

  • Doesn't DLC need a verification with Steam API?

    DLC has a separate APPID so using this condition can check if user owns it.

    Please login to see this picture.

    however, this won't check if user has already downloaded it, valve uses another API BIsDlcInstalled for this.

    Let's say I have a game. And want a DLC with more levels to it. The DLC is created and bought. So Steam do download the materials to the same folder as the game and the main game updated, how do I verify if the DLC is acquired if not through the steamworks extension?

    If you don't want to use extension, personally, I suggest using a file as a flag.
    E.g., you game has a specific folder for this, each DLC will put a file in that folder, so check if file exists -> check if DLC exists

    Please login to see this picture.

    This method will not work for pirated copies.

    some games will bundle DLC contents in the main game but only enables DLCs when the game knows user had purchased it (e,g., capcom)

  • What I would love to see is the ability to properly enable/disable the extension both in-engine and at runtime so a game can be brought to multiple platforms without having to potentially damage code by removing the Steamworks extension completely.

    you can create dummy files for other platforms to fool fusion. E.g., copy the template file provided by SDK then rename class to CRunSteamworks (according to the document) and keep other part empty.

    In-App purchases is a highly requested one...

    Hi, NaitorStudios , sorry to bother, do you familiar with web functions?

    According to the In-App purchases document, it's a set of web get & post call, SDK only need to provide basic info then check the purchase callback, but I don't know much about web tech, tried with some web lib to send get/post but keep getting connection error when trying to play with it.

    Hmm... Is there any possibility to adjust the overlay size and position?
    Perhaps attach it to the main window instead of the one that renders the frame...

    Seems impossible, valve didn't provide any functions to let you set it.
    Please login to see this link.

    Rich presence for Steam would be a nice feature if you're still taking requests

    Preliminary usable, please check it.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!