Search Unity

Epic Online services

Discussion in 'General Discussion' started by Tomasz_Pasterski, May 14, 2020.

  1. ExtraCat

    ExtraCat

    Joined:
    Aug 30, 2019
    Posts:
    52
    Yes daddy.

    You need a custom licence with Epic Games to use it.
     
  2. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    Probably more than you because I haven't seen you help anyone. I have, though, seen you type pages and pages of text about how you're too good to help anyone.

    I actually help people use software for a living, so for me it's in the hundreds or thousands, but that isn't the point.

    I have not seen you give a single "tip", I have not seen you give any pointers, I have only seen you bitch and moan about everyone else. You come off like a bitter old man who's pissed off that when you were younger it wasn't as easy to learn and so you'll be darned if some young whippersnapper is going to have an easier time than you!

    Maybe you should try redirecting some of your energy into actually helping people instead of crying about. Telling people "screw off go learn the hard way like I did" is the exact opposite of helpful. Nobody's forcing you to post here or read the posts.
     
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Lets stay on target and that's epic online services - and using them as Unity devs. This is kinda useful for a lot of people!

     
    Recon03 and Antypodish like this.
  4. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Nope. Even the C SDK only comes with pre-compiled libraries. There's no source for those neither on GitHub or on Epic's perforce. The only source we get is the C# interop layer (thankfully, because it's rubbish and needs to be rewritten).

    All things considered, the P2P support seems pretty darn good. And they just added support for RTC voice chat too. But that damn C# layer... ugh. I almost fell off my chair when I saw it calling Marshal.StructureToPtr for each individual byte in a byte array.
     
    Deleted User likes this.
  5. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,137
     
  6. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Offtopic from this point is simply deleted :p
     
    Recon03 likes this.
  7. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    Be well guys, I lost interest. and I removed my posts, Maybe one of these guys can help. EOS is a great, Free service.


    For users truly looking to learn, and needs help DM me I won't be replying here anymore.
     
  8. xjjon

    xjjon

    Joined:
    Apr 15, 2016
    Posts:
    612
    Guys just use Playfab + Azure. Good support + good documentation
    No need to reinvent the wheel
    Never seen any flame war about that
     
    DungDajHjep and pKallv like this.
  9. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,137
    Because Playfab + Azure costs more money and offer different feature?
     
  10. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    I'm getting a little lost looking into using EOS. I have experience using TNet and want to use that for a cross-plat multiplayer, Peer-2-peer game. Presently players could find and connect to each other using their own IP addresses. EOS offers the potential for a managed system to find games and maybe roll out a server-based version at a later date. However, it's not clear what exactly EOS is and offers based on the fact it's vast and the documentation, like everything on the internet these days, is self referential, so you follow link after link after link building up an understand piece by piece unlike a book that structures the info in the best order to build understanding.

    But anyways, there don't appear to be any simple tutorials in using EOS with Unity, what it offers, how it's used, etc. I can see it provides Peer-2-peer, but how does that fit in with Unity's networking or plugins like TNet? Is EOS actually a red-herring? The Unity plugin exists now but isn't cross-platform; how usable is it? Someone says P2P with EOS is clunky. that was a year ago. Is it better? Would it not be used with T-Net (I'm guesing not)? Can I just use EOS to provide a lobby interface and handle P2P on my own once players have found each other?

    Bizarrely, I came into this thread hoping to read about people's experiences with EOS and Unity to learn how people are using it and how they are integrating. Instead I got a discussion about how cool gamedev was in the 90s! Is it just not at all popular?
     
    edin97 and Deleted User like this.
  11. I'm not a seasoned multiplayer developer, so take it with a grain of salt, personal opinion and all. I think EOS is great it's free because the library is hot garbage, I wouldn't pay for it. With that said, Mirror has transport plugin for EOS. https://github.com/FakeByte/EpicOnlineTransport Good luck with it if you want to try.
     
    Ryiah likes this.
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,141
    It's a backend service that provides functionality similar to GameSparks, PlayFab, Steamworks, etc.

    https://dev.epicgames.com/en-US/news/introduction-to-epic-online-services-eos

    eos-marketecture-alt-blog-01-v3-1920x1080-432230b34007.png

    Let's not forget how bad the documentation is either. Between that and the poor state of the library it took entirely too long to get it working. Going forward if it doesn't improve substantially I won't use it again even knowing how it works.
     
    Last edited: Jun 13, 2022
    Lurking-Ninja likes this.
  13. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Sounds like PlayFab is the better option as it's free enough to start with.
     
  14. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Last time i checked it didn't support all the platforms I needed? No mobile or console support
     
  15. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    PlayFab supports pretty much everything - consoles, PC, iOS, Android. That's integrating in my product that shipped last December. Pretty sure it has Mac support. Dunno about Linux. You can link platform accounts so a PlayFab account is mapped to a PSN account and an XBLive account and an Apple ID, etc.
     
  16. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Thanks, I already use playfab, have been since before Microsoft bought it. I was talking about EOS
     
  17. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    EOS supports consoles and mobile too.
     
  18. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    We are releasing a multiplatform game on PC, PS4, Switch, and Xbox using EOS, it does support them all. You just need to fill the forms proving you are a registered developer to get access to the console SDKs.

    That aside, using EOS on Unity is not straightforward at all. There are barely any C# samples and the C# library is horribly designed, with large amounts of garbage allocation everywhere. We had to write faster versions of some "hot" functions like send/receive that bypass the BS and invoke the native functions directly using unsafe pointers to avoid the overhead. You also need to make a small native plugin for each console platform yourself for the memory allocation functions.

    I suppose this is somewhat "by design" since the service is free. Having a certain level of technical barrier of entry prevents people from clogging their backend. So if you want your free cross platform P2P you'll have to work the extra mile for it.

    If you really want to go for it and want to ask questions, fire away.
     
  19. See, this is something I would pay for. :)
    Nah, that would mean it is intentional. I simply think whoever was the architect on this project has never seen Unity.
     
    Ryiah and Deleted User like this.
  20. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    The C# wrapper really seems like it was written by someone who's ever used C# in the context of tools or enterprise applications. It favours "correctness" over efficiency.
     
  21. Bunker8

    Bunker8

    Joined:
    Feb 8, 2016
    Posts:
    3
    Hi! Have you used EOS with Mirror? I'm developing a lobby with EOS using the FakeByte plugin (https://github.com/FakeByte/EpicOnlineTransport), but there's very little documentation and examples available.
     
  22. MattWhiting

    MattWhiting

    Joined:
    Jan 11, 2016
    Posts:
    79
    Working on a mobile game... Unity, Mirror, EOS... using https://github.com/FakeByte/EpicOnlineTransport

    When we launch in-editor, the EOSSDKComponent component pops the Epic Online Portal open in a browser window to allow for logging in. However, when built to Android, we just get "Login returned UnexpectedError".
    Any ideas?
     
  23. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    What auth interface and type are you using? We found that it's much easier to test using Device ID logins instead of Epic Accounts.

    https://dev.epicgames.com/docs/game-services/eos-connect-interface#using-device-id
     
  24. MattWhiting

    MattWhiting

    Joined:
    Jan 11, 2016
    Posts:
    79
    We are using:
    authInterfaceCredentialType = Epic.OnlineServices.Auth.LoginCredentialType.AccountPortal

    My understanding is that is SUPPOSED to pop open the default browser and allow the user to log in.

    By "Device ID", do you mean Epic.OnlineServices.Auth.LoginCredentialType.DeviceCode ?
     
  25. MattWhiting

    MattWhiting

    Joined:
    Jan 11, 2016
    Posts:
    79
  26. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Yes. We used the Connect interface:
    https://dev.epicgames.com/docs/game-services/eos-connect-interface

    Then we use each platform's identify provider to authenticate with zero user intervention, similar to when using PlayFab. I didn't use it on mobile, but on Android you would use Google Play Games for example.

    It seems you're using the Auth interface. That's different in that it's designed to sign in using Epic accounts. It's more limited in that you need to pass a review process and doesn't seem to fully support mobile yet.