Announcement

Collapse
No announcement yet.

UWorks (Steamworks C++/BP)

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

  • replied
    Originally posted by vlad.serbanescu11 View Post

    I haven't look into 4.19's VOIPTalker yet, but I assume it's an OnlineSubsystem-specific thing, particularly specific to the OnlineVoiceInterface class. In that case, no, I haven't got to that yet.

    However, the UWorksCore module (the plugin has 3 module and 1 full example project; the Core module is the only one I'm currently advertising "officially") supports voice chat by using the raw Steam SDK in conjunction with replication/RPCs and/or Steam's own networking interface. It's also worth mentioning that playing voice seemed to have a very unpredictable bug, which I think I fixed in V11 (6th or 7th attempt), but this particular bug was something I was never able to replicate on my end so I can't say for sure.

    EDIT: MPC is an OnlineSubsystem framework used internally at Epic. It consists of proprietary code that they use for games such as UT, where the developers had been distributing it for ages, despite not being allowed to.
    Hah, good to know someone else is getting gaslit trying to fix VoIP bugs... you'd think the UE4 Voip system would fully hand off to the audio system before playback, but I guess that's not how it's built =/ Thanks for the response.

    Another follow-up: Would UWorks help with my frustrations regarding "Party" vs "Game" Steam sessions? Ideally I'd have dedicated servers, but even being able to distinguish between "Lobby" listen servers and "Game" listen servers would be useful. Seemed like OSS uses Party/Presence exclusively for full-on game sessions unless you source build the Engine, and I was hoping to avoid that if possible.

    Leave a comment:


  • replied
    Originally posted by Zenteran View Post
    Woh, if networking/sessions are stable, I'm definitely gonna give this another look.

    Would you know if 4.19's VOIPTalker (spatialized VoIP) feature works with UWorks? It's known to not work with OSS—only OnlineSubsystemNull and "MCP" (whatever that is) were confirmed to be supported.
    I haven't look into 4.19's VOIPTalker yet, but I assume it's an OnlineSubsystem-specific thing, particularly specific to the OnlineVoiceInterface class. In that case, no, I haven't got to that yet.

    However, the UWorksCore module (the plugin has 3 module and 1 full example project; the Core module is the only one I'm currently advertising "officially") supports voice chat by using the raw Steam SDK in conjunction with replication/RPCs and/or Steam's own networking interface. It's also worth mentioning that playing voice seemed to have a very unpredictable bug, which I think I fixed in V11 (6th or 7th attempt), but this particular bug was something I was never able to replicate on my end so I can't say for sure.

    EDIT: MPC is an OnlineSubsystem framework used internally at Epic. It consists of proprietary code that they use for games such as UT, where the developers had been distributing it for ages, despite not being allowed to.

    Leave a comment:


  • replied
    Woh, if networking/sessions are stable, I'm definitely gonna give this another look.

    Would you know if 4.19's VOIPTalker (spatialized VoIP) feature works with UWorks? It's known to not work with OSS—only OnlineSubsystemNull and "MCP" (whatever that is) were confirmed to be supported.

    Leave a comment:


  • replied
    Originally posted by JohnnyZer0 View Post
    Hi! First of all, I want to tell you that I am impressed by this great plugin. It is making the Steam integration much easier, as for some, asynchronous programming is a real hassle and this makes it very easy in Blueprints. Thank you for the work! Secondly, I've been looking over this thread for almost an year, and I finally decided to write, as I see you are going to release v12, the update that introduces UWorks Subsystem. I have a few questions before making the decision to buy this, as $109 dollars are not easy to spend after $100 on Steam Direct hehe. How is the new plugin going to work? I understand that Multiplayer has something, Singleplayer has something, but what does the subsystem part include? And would you recommend this for a P2P game?

    Tine-o tot asa! (Keep up the good work!)

    EDIT: I have one more question. If I buy the plugin in the close future, I will get the future updates with the subsystem etc., right?
    Actually V11 introduced the subsystem. V12 will address some now-apparent bugs in the subsystem (to be expected, I guess).

    The subsystem edition will exclusively the subsystem module. This means developers will be able to set it in the config and nothing more. No BP nodes, no additional functionality. It's meant for people who want to use Advanced Sessions (or C++ or something similar) with UE4's regular framework (Create/Join/Find etc.).

    Given the bugs (inconsistencies) I've discovered yesterday in V11, I wouldn't recommend it just yet (probably in V12). Listen servers (technically P2P assumes a decentralized architecture; "listen" is more correct) have been a pain ever since V01.

    Aaaaand yes, future updates are always included.

    Leave a comment:


  • replied
    Hi! First of all, I want to tell you that I am impressed by this great plugin. It is making the Steam integration much easier, as for some, asynchronous programming is a real hassle and this makes it very easy in Blueprints. Thank you for the work! Secondly, I've been looking over this thread for almost an year, and I finally decided to write, as I see you are going to release v12, the update that introduces UWorks Subsystem. I have a few questions before making the decision to buy this, as $109 dollars are not easy to spend after $100 on Steam Direct hehe. How is the new plugin going to work? I understand that Multiplayer has something, Singleplayer has something, but what does the subsystem part include? And would you recommend this for a P2P game?

    Tine-o tot asa! (Keep up the good work!)

    EDIT: I have one more question. If I buy the plugin in the close future, I will get the future updates with the subsystem etc., right?
    Last edited by JohnnyZer0; 05-29-2018, 08:04 AM.

    Leave a comment:


  • 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:

Working...
X