Announcement

Collapse
No announcement yet.

UWorks (Steamworks C++/BP)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Versions 19-11 and 18-11 are now live on Gumroad and submitted to Epic! You can find the updated documentation here: https://www.dropbox.com/s/b3skpmu7o8...ation.pdf?dl=1

    For this version, my focus has been on finishing the networking and sessions parts, which are both done and stable. For V12, my focus is on splitting the plugin into 3 more "aimed" and less expensive components:

    - Single Player Edition (will provide UGC, User, UserStats, Friends etc.)
    - Multiplayer Edition (will provide Matchmaking, MatchmakingServers, GameServer, GameServerStats etc.)
    - Subsystem Edition (will contain only the OnlineSubsystemUWorks module)

    Notes (about the split):

    - The full version will always be available for purchase.
    - The combined price of the 3 components will always match the price of the full version.
    - The Web module will only be available to the full version.
    - It's impossible to tell whether Epic will accept this business model or not so I'll rely on Gumroad.
    - Part of the focus will be on adding new examples to each component so feel free to ask if you'd like to see something in particular!

    Notes (general):

    - I think the tabbed example included in UWorks could be useful to other potential sellers so I will distribute that as a free plugin soon.
    - I've updated the packaged example project to showcase the V11 changes: https://www.dropbox.com/s/mv27rx618e...ample.zip?dl=0
    - I'm updating the product presentation in the next few days, to be in line with the current state of the product.
    - For minor bug fixed and/or features, I'd prefer if you mentioned it in the next few days so I can refresh my list.

    As always, for whatever's broken, mention me and I'll solve it.

    Leave a comment:


  • replied
    Originally posted by AdrianLazar View Post
    Hey,
    Can this be used to find the language of the user steam app so that we can switch the game to the same language?

    Thanks,
    -Adrian
    Yes. The following function is imported in the plugin: https://partner.steamgames.com/doc/a...ntGameLanguage

    Leave a comment:


  • replied
    Hey,
    Can this be used to find the language of the user steam app so that we can switch the game to the same language?

    Thanks,
    -Adrian

    Leave a comment:


  • replied
    Sorry i was more or less thinking of the steam subsystem built into the engine, I didn't know that your supplying another method with the plugin thanks for the info.

    Leave a comment:


  • replied
    Originally posted by OverRated_AU View Post
    Is there any ETA on the OnlineSubsystem module ? Its my understanding we are unable to host, join and search for games without this correct?
    Your understanding is wrong. Host/join/search functionality are possible and included as examples, without the need of an OS module, but it's a different framework.

    There is no ETA for the OSU module. The Session and Identity interfaces are coming in the next version (V11).

    Also note that the BP "CreateSession" node is broken on dedicated servers, by design, from Epic (it expects the PlayerState to be valid, which it isn't, on a dedicated server). Therefore, even with the OSU module, people would still have to use the example provided on dedicated servers.

    Originally posted by SkeetonYu View Post
    Does shipping builds work right out of the box? Or I have to figure how to make shipping builds? I'm pulling out my hair to figure out how to make a shipping build with Steam Integration. It works with developer and with standalone. I might be doing something wrong but does plugin works out of the box with shipping builds?

    What I mean is can I install this plugin on a project then set it up for spacewar appid as a shipping build?
    Yes, works out of the box. There is no "magic" required for shipping builds, unlike with OSSteam. This is one of the biggest advantages of the plugin, but its presentation needs a drastic rework after V11.

    Here's a WIP example from V10: https://www.dropbox.com/s/66hv4xxgec...lient.zip?dl=0

    Leave a comment:


  • replied
    Does shipping builds work right out of the box? Or I have to figure how to make shipping builds? I'm pulling out my hair to figure out how to make a shipping build with Steam Integration. It works with developer and with standalone. I might be doing something wrong but does plugin works out of the box with shipping builds?

    What I mean is can I install this plugin on a project then set it up for spacewar appid as a shipping build?
    Last edited by SkeetonYu; 05-02-2018, 07:06 PM.

    Leave a comment:


  • replied
    Is there any ETA on the OnlineSubsystem module ? Its my understanding we are unable to host, join and search for games without this correct?

    Leave a comment:


  • replied
    V10 is now available for download!

    The changes made in this version were mostly unplanned, but made possible after the work on V09. Since I didn't want to ignore a great opportunity for improvement, this forced me to split V10 and upcoming versions in two variants:

    - Regular: VXX-V10.
    - Deprecated: VXX-V10-DEPRECATED.

    The difference between them is that regular versions contain a single set of interfaces and renamed classes. Upgrading to V10 isn't expected to be much of a hassle in C++ (ReplaceAll does 90% of the work), but BP implementations would break entirely. For that reason, I will continue to support the old way by providing versions marked as "DEPRECATED" until the plugin is complete.

    The Marketplace will contain the regular versions. Those of you who have Marketplace access and wish to use the deprecated versions, send me a screenshot of your Epic Games receipt and I will provide Gumroad access.

    Interfaces aside, here are the major changes brought by V10:

    - Improved NAT traversal (re-added STUN code because it doesn't hurt).
    - Connecting to a server via Steam IDs as well regular IPs.
    - Running any number of listen servers and clients on a single machine.

    Some extra notes:

    - Available V10 variants:

    - V17-10-DEPRECATED
    - V18-10-DEPRECATED
    - V19-10-DEPRECATED
    - V18-10
    - V19-10

    - Gumroad: A while ago, a customer sent me a screenshot of a receipt for an Epic account which didn't belong to him. Aside from the fact that I track this back-and-forth access, I found out because the rightful owner unknowingly sent me his own request and he was using the same e-mail for Epic Games and Gumroad. It is your sole responsibility to NOT get tricked into sending screenshots of your receipt to other people!

    - Trust: Because this is a public server, I will reply to anyone who mentions me, but I reserve the right to NOT talk to anyone who loses my trust for whatever reasons (i.e. ask for a free license because you hired a contractor who owns the plugin and that contractor bailed on you so you have the plugin but can't use it).

    - Support: I've already stated that I will ignore private messages. I would prefer to NOT have to disable them completely on my account. There is quite a large number of people who don't "understand" the reasons this Discord server exists:

    - Make tracking easier (I can just scroll up and down for issues and feedback).
    - Find answers in my absence (it's unlikely someone's problem is unique).
    - Connect with other people with similar issues and/or objectives (if multiple people want to build the same friends list, I shouldn't have to tutor all of them in private).
    Last edited by vlad.serbanescu11; 03-17-2018, 04:28 AM.

    Leave a comment:


  • replied
    UWorks is 30% off for the duration of the Marketplace Spring Sale event!

    Leave a comment:


  • replied
    Version 18-09 is now live on Gumroad and submitted to Epic! You can find the updated documentation here: https://www.dropbox.com/s/gbur3uuqmq...ation.pdf?dl=1

    The list below represents the current completion state of the plugin:
    ```Core: 100%
    Web: 100%
    Subsystem: 60%
    Example: 100%```
    For V09, my objectives were: implementing reliable NAT traversal, fixing dedicated servers and completing the example project. Though I've accomplished all 3 of them, I was forced to temporarily accept the following 2 compromises:

    - Listen servers cannot be pinged at the moment (it's possible to script a custom BP ping, though).
    - Direct IP connection is currently unusable ("open IPort" has been replaced with "open steam.ID").
    - Not being able to provide a working session interface. Almost the exact logic to be used in the interface is currently contained within the Sessions example. So far, I wasn't able to find a suitable way to mix Epic's BP wrappers with that logic in C++, without side effects. Ultimately, it's likely that I will code a minimal amount of utilities for BP sessions.

    A few more, general, notes:

    - It's very likely that I had forgot to mention some minor changes in the V09 notes.
    - I will only upload a 17-09 version if requested. It has a small ereor that I don't know how to fix at the moment.
    - I will upload a 19-09 version as soon as Epic releases the related engine version.
    - Marking the example as completed does not mean I will stop adding examples to it. It only means that I'm satisfied with it's modularity.
    - I'm very interested in hearing feedback related to the new listen server mechanics and what examples should come next.
    - I'm uploading a new example project (client + server) later today or tomorrow.

    Leave a comment:


  • replied
    Originally posted by Zhi Kang Shao View Post
    Hi Vlad,

    Thank you for this amazing plugin. Your documentation mentions "Developers must utilize standalone testing. Play-In-Editor will not work.". Can you elaborate on the reason? I assume this has to do with an engine limitation or the way code plugins are loaded, but can you provide any details on it? I would like to investigate whether this limitation can be circumvented, as being able to use Steam features in PIE would be great for productivity.
    Actually, it doesn't have anything to do with how plugins are loaded.

    To be specific, it has to do with the way Steam's .dll links to the engine/project's process. Using PIE, the engine does NOT create an additional process and therefore Steam will assume the entire UE is your actual game (as a consequence, it will enable the overlay inside the editor itself). Standalone simply creates a new process and Steam is able to act as intended.

    Therefore, it's definitely possible to link the editor as a game (a customer actually works that way when he designs user interfaces), but without modifying Valve's code (which is not only unavailable, but also definitely illegal to modify), it's not possible to make PIE work with Steam the same way standalone does.

    Leave a comment:


  • replied
    Hi Vlad,

    Thank you for this amazing plugin. Your documentation mentions "Developers must utilize standalone testing. Play-In-Editor will not work.". Can you elaborate on the reason? I assume this has to do with an engine limitation or the way code plugins are loaded, but can you provide any details on it? I would like to investigate whether this limitation can be circumvented, as being able to use Steam features in PIE would be great for productivity.

    Leave a comment:


  • replied
    Originally posted by blueshifted View Post
    This looks awesome. Just one quick question, sorry if it's dumb: Are you saying that I can use all the functions you showed in videos in C++ too? Just add your plugin, include your libraries and go?
    If so, it's a must-buy for me!
    Yes. Feel free to join the Discord before buying!

    Leave a comment:


  • replied
    This looks awesome. Just one quick question, sorry if it's dumb: Are you saying that I can use all the functions you showed in videos in C++ too? Just add your plugin, include your libraries and go?
    If so, it's a must-buy for me!
    Last edited by blueshifted; 01-04-2018, 06:30 PM.

    Leave a comment:


  • replied
    Versions 18-08 and 17-08 are now live on Gumroad and submitted to Epic! This version focused on completing the UWorksWeb module and reworking the example. From now on, you can find all the notes in the documentation here: https://www.dropbox.com/s/tl82lngujv...ation.pdf?dl=1

    Also, a reminder that UWorks is 30% off for the duration of the Holiday Sale!

    Leave a comment:

Working...
X