Search Unity

Third Party Photon Unity Networking

Discussion in 'Multiplayer' started by tobiass, Aug 23, 2011.

  1. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @Tethys: Please look up which version of PUN you run (PhotonNetwork.versionPUN).
    Which package is including this?

    There are some debugging tasks you should always do (and I need to know the results):
    You get no log output whatsoever? Neither in two builds, nor if you use one Editor? How's the Editor log?Did you let it run for a while? 20..30 seconds? What happens?
    Did you attempt to debug and break the player, when it's no longer reacting??

    I am not aware of such a bug. However, new Unity versions might change things in a subtle way and things may break.
    We need to get somewhat closer to figure out what breaks. Maybe it's scene loading related.

    If there is a bug in PUN, I would fix the latest version. So it makes sense to update, unless you find something specific in the version you have.

    To turn this into a proper conversation on its own, please mail me: developer@exitgames.com. Thanks.
     
    Tethys likes this.
  2. KnightPista

    KnightPista

    Joined:
    May 18, 2015
    Posts:
    40
    I was looking in the PUN website and in the Unity forums, but have not found the definitive answer:

    Is the PUN working without any (major) problems on XBox One (+PS4) ?

    Is anybody using it on these consoles?

    I have found this post (and this) that mentions its not working on XBox One. However, this post is from Jul 11, 2015, so maybe things have changed?
     
  3. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    672
    @tobiass - Thanks again for your suggestions. We updated Photon and through some debug tests found the culprit which was some custom code that sends data to connecting clients. For whatever reason, after the Unity 5.3 update it stopped working correctly but all is fixed now. Gratitude for the quick response!
     
    tobiass likes this.
  4. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    There are no major issues on either console, thanks to Unity's excellent exporting. There are games on PS4 using Photon/PUN.
    But: PUN is not yet certified for use on Xbox. We are working on that but can't share details here. In doubt, mail us about your project and your studio (make sure we know you're Xbox certified) to: developer@exitgames.com
     
  5. rusildo

    rusildo

    Joined:
    Oct 10, 2014
    Posts:
    18
    Can I use webhooks with photon cloud for push notifications? If I calling WebRPC ("GetNotifications")(asp.net server) every 5 seconds and check response. It's ok?
     
  6. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @X-rus: Those would be poll notifications :)
    You can do that, yes. Of course, those notifications wouldn't be pushed. Especially not outside the app (to the device).
     
  7. Marceta

    Marceta

    Joined:
    Aug 5, 2013
    Posts:
    177
    Edit: Nevermind, i figured out problem couple minutes later.
     
    Last edited: Mar 4, 2016
  8. FlyingSquirrels

    FlyingSquirrels

    Joined:
    Sep 18, 2015
    Posts:
    83
    I'm using Photon chat version 1.66 and currently we experience crashes on iOS on startup around 1 in every 5 times we run the application.

    On Xcode we get Photon Receive thread (32). The last executed block is ChatClient.Service which we are calling on the update loop.

    Can anyone help us with this problem please?

    Thanks.
     

    Attached Files:

  9. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @Demanuele: Please update your Unity version. If the problem remains, report this as bug to Unity.
    The client didn't change in regards to socket-usage and was working on most platforms and Unity versions, so it should be on the export-side of things.
     
  10. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    We're happy to announce that our new package "Photon Voice" is now available in the Asset Store.
    It's actually PUN with an additional Voice over IP feature.
    If you're working on a multiplayer VR project or need in-game voice communication, take a look :)

    We will open a separate thread for this package for feedback. Just wanted to let you know.
     
  11. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    Sounds Great...

    Does it work with WebGL?

    I see an option to "Add Coupon/PUN+", would a previous coupon for PUN+ work or seperate purchase needed?

    *I don't know my Coupon # anyway (can't test)...seems I had to email back in 2014 to have it added to an app id using invoice.
     
  12. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Photon Voice does not support WebGL.
    The PUN+ invoice ID from the Asset Store works as a one-time coupon for a subscription. If you used it once, it should still be active on some of your Apps.
    For Voice, we don't have a "plus" package yet. Would that be interesting?
     
  13. Justice0Juic3

    Justice0Juic3

    Joined:
    Apr 29, 2013
    Posts:
    188
    Holy moly, Photon Voice chat?? o_O
    I've been waiting for this for YEARS.

    Recently I moved onto UNet, because the of it's simply understandable logic.
    I was just getting started and have several features working already.

    But then you guys came in (today) and this made me very, very sad. :oops:
    I'm so mad right now, once again there's a break (paused) during the gamedevelopment-world.


    What is your advice, @tobiass ?
     
  14. playju

    playju

    Joined:
    Apr 25, 2014
    Posts:
    1
    @Justice0Juic3
    Photon Voice is not bound to Photon multiplayer, means it can be used in conjunction with UNet. However, we prefer to use PUN. Matchmaking and worldwide hosting is simply great :)
     
    tobiass likes this.
  15. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    @tobiass -

    Hey Man, couple of quick questions - it's been a few years since I prototyped anything in Photon. I'd be looking to use Photon Server, and I've got quite a bit of experience with it.

    1.) Have you built your Photon Chat API's into Photon Server yet, or are we still required to roll our own Chat functions in Photon Server for some reason.

    2.) Does Photon Voice work in Photon Server as a bolt on, or would it require a separate service utilizing you as a host rather than the main game server (in the Photon Server self hosted model)
     
  16. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    In principle, Photon Voice could be used alongside uNet, any other multiplayer solution or none at all.
    Currently, however, our package bundles Voice and PUN together, to make things easier.
    There are a few components, which "bind" voices to GameObjects but all of that is in source in the package.
    I can't say when we get around to make another package that decouples Voice from the networking solution.

    I would say: If you make progress with uNet, go ahead with that. Have a look at Photon Voice, too. If you like the hacking challenge, have a look at using it without PUN. Give us some time to provide a package with just the Voice API.
     
  17. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @Freakyuno
    We know there's some interest but so far we don't offer Photon Chat for self hosting.
    It would be a separate server and license, as the high level logic is quite different. Please mail to developer@exitgames.com, if you feel that could still be interesting for you.

    Photon Voice works with Photon Server out of the box. In the package, you can switch the PhotonServerSettings to "Self Hosted" and Voice will use the server you set up.
    The requirement is that the Photon Server stays compatible with our default "LoadBalancing" workflow. You can run it "as is" or extend the logic, but Voice also needs a room to work.
     
  18. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    @tobias - Can you explain that a little further? I don't quite know what "Our Default LoadBalancing workflow" means. Your package includes an example LoadBalancing server setup, but the package is actually quite old even in the Photon 4 Server download, and doesn't include the changes to the Server Peer objects, so it doesn't even run correctly without changes...
     
  19. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    It's new to me that the server SDK is old and does not work correctly. Can you report this in our forum? Real quick, just the errors you got? I am more on the client side of things.

    About Photon Voice and the "default" LoadBalancing workflow: As long as you don't break the compatibility, you are fine to run Voice (and or PUN) with the Server SDK. The package is compatible and robust, so you can extend it quite a lot without becoming incompatible.
     
  20. Freakyuno

    Freakyuno

    Joined:
    Jul 22, 2013
    Posts:
    138
    Sure thing, when I get back to it - (We've decided not to use Photon in this project) - I'll go rebuild that project with the latest SDK and put the errors up on your site. Thanks @tobiass
     
  21. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hello,

    So I am planning to add realtime multiplayer for a Trivia game I am developing and I wanted to ask about PUN+. So I purchased this through the Asset Store a long time ago but I've never used it until now. So do I need to "activate" the PLUS edition of Photon or where do I start?

    Thanks,
    jrDev
     
  22. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @jrDev: Thanks for the purchase.

    One of the benefits of the "plus" package is that you get a 100 CCU "subscription" for the Photon Cloud included. This piece needs "activation". You need your purchase's invoice ID, which is the voucher for a 100 CCU subscription. You basically "upgrade" a free test account (with 20 CCU) to a 100 CCU one.

    Here's the link:
    https://www.photonengine.com/en-US/PUN/Dashboard
    Apply the invoice ID whenever you're ready.
     
  23. LovattoStudio

    LovattoStudio

    Joined:
    Feb 11, 2015
    Posts:
    15
    Hi tobiass, I have a problem with PUN that I can't resolve.

    is about SetCustomProperties() in Room and PhotonPlayer, when a player enter in a room they send some properties (kills, deaths, score,etc..) then the player left of room and enter again in the same room he still have the old properties when he still not send the new ones, same happen with the room properties, maybe I need clean it? but I can't found how to do.

    Hope you can help me.
    Kind Regards.

    PS: I'm use the last version of PUN+ (1.66)
     
  24. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Usually, when a player leaves, the properties of that player are cleaned up, as well as the instantiated game objects and buffered RPCs.
    The client which joins a game should send its (current, locally cached) properties and get anything that's currently set server-side.

    Did you turn off PhotonNetwork.autoCleanUpPlayerObjects?
    How does the player enter the room again exactly?
     
  25. Diet-Chugg

    Diet-Chugg

    Joined:
    Jul 4, 2012
    Posts:
    51
  26. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Thanks for the heads up!
    The page is back since. We also noticed some hiccups on Friday but those resolved even while we analyzed them.
     
  27. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    It's been a while since the last PUN update but finally, v1.67 is submitted to the Asset Store and just pending release.

    Why did this take so long!?
    We added a lot of stuff! We prepared PUN for Unity 5.3, which is changing some APIs. This version should support IPv6 on iOS (tests pending for Unity 5.3.4p4)! You can now reserve slots in a room for friends or team mates, which is a game changer for some matchmaking cases. We upgraded PUN to Unity 4.7 (also supporting that version fully, now). So demos will get upgraded to the new UI over time. In 4.7, we can also support Android x86 in PUN+. And last but not least, Windows Universal Platform (UWP) builds are supported. We did a few changes for performance and there is more...

    As of writing this, v1.67 is still pending a release but it should be up soon. Everyone who has PUN Free or PUN+ will also get a mail from the Asset Store about this update.

    Here's the change log:
    v1.67 (21. April 2016)
    Fixed: Photon Chat for WebGL export. It failed to compile because SocketWebTcp was not found. The PhotonChatApi folder now got moved from Assets\Plugins to Assets.
    Changed: If sent by server, UserId and Nickname values are updated (with the server's values). This can be done with CustomAuthentication. All clients always get some UserId assigned by the server (if you didn't set one in the first place).
    Added: "Slot Reservation" as feature for matchmaking.
    Added: ExpectedUsers parameter in PhotonNetwork methods: CreateRoom, JoinRoom and JoinOrCreateRoom.
    Added: Room.expectedUsers. List of users who are expected to join this room. In matchmaking these UserIDs block a slot out of the MaxPlayers.
    Added: RoomOptions.publishUserId. This tells the server to publish the UserIds of players in a room. You can use those in FindFriends or when you join/create another room, to reserve slots for other players.
    Added: PhotonPlayer.userId. If the server publishes the UserIds of players, you can access the UserId here while being in a room with others.
    Internal: Added GamePropertyKey.ExpectedUsers (247) and ParameterCode.NickName (202).
    Added: PhotonNetwork.StartRpcsAsCoroutine as optional performance improvement. If set to false, PUN will not attempt to start and RPCs as coroutine. While coroutines are efficient, starting them needlessly is not the best approach either. This defaults to true, which means RPC methods get started as coroutine, if they return IEnumerator.
    Changed: Internal handling of RPC methods. Now their parameter list is being cached, instead being fetched every time we have to find an RPC. This uses a limited amount of memory to improve speed of RPCs. To do this elegantly, we extended MethodInfo with a GetCachedParemeters() method.
    Changed: AccountService is now wrapped in "#if UNITY_EDITOR" to avoid export to any players.
    Added: RoomOptions.PlayerTtl, which can be used when creating a room. If set, a player who disconnects becomes inactive for the defined time, instead of being removed from the players list. This allows the player to join a room. It blocks the player's slot in the room in matchmaking, too.
    Added: PhotonPlayer.isInactive. If a Player Time To Live is set, players can become inactive in a room. The PhotonPlayer instance is still present, as if the player were connected.
    Added: A client which lost connection, can now rejoin a room quite easily with PhotonNetwork.ReJoinRoom(string roomName). Important: To enable this, a room must have a PlayerTtl != 0 and the client which is rejoining, must use the same UserID as before.
    Fixed: The State of a client when it fails to join/create a room on the Master Server. It's now set correctly to either PeerState.JoinedLobby or PeerState.ConnectedToMaster (depending on whether the client was in a lobby or not).
    Fixed: The "Open Dashboard" button in the PUN Wizard, which was not working on OSx.
    Updated: Usage of EditorUtility.SetDirty() and Undo.RecordObject() in Editor scripts according to Unity 5.3 changes. This should enable undo in most Inspector windows, too.
    Changed: PhotonNetwork.BackgroundTimeout no longer calls Disconnect() directly. Instead a normal timeout period is granted after the BackgroundTimeout elapsed. PUN will use the common timeout callbacks (when the app gets active again).
    Changed: PhotonNetwork.BackgroundTimeout now defaults to 60 seconds. This keeps all new apps from being connected for longer times in background but allows loading lots of assets and taking short calls, etc.
    Changed: Usage of SupportClass is now SupportClassPun to avoid clashes with IL2CPP on some platforms.
    Added: RoomOptions.plugins to define which server-side plugins are expected. This is a feature of the Enterprise Cloud and when using the Photon Server SDK (so it's not available in the Public Cloud).
    Added: Handling of an "Info Event", which could be used by server-side plugins. EventCode.ErrorInfo is code 251 and PUN will call the delegate you defined in PhotonNetwork.OnEventCall (or log a warning that no delegate was set). This only applies to customized servers (not the Public Cloud).
    Added: PhotonNetwork.ReconnectAndRejoin() to be used when a client loses connection while in a room (e.g. when you press the lock button on iOS and then return to the app).
    Added: PhotonNetwork.Reconnect() to be used when a client lost connection. Use this only when your client was connected to a region or a game before (to get into the same region).
    Fixed: A compile warning about Photon.MonoBehaviour.networkView "does not hide an inherited member" in Unity 5.3.4 and up. The old networking API of Unity is being removed, it seems.
    Fixed: PhotonNetwork.time for offline mode. Internal: It now uses the Environment.TickCount, which is similar to the server's timestamps. All usage of time in PUN is now either based on PhotonNetwork.time or .ServerTimestamp.


    TL;DR: The Asset Store will have a new PUN version soon! ;)
     
  28. Udin89

    Udin89

    Joined:
    Jul 19, 2015
    Posts:
    15
    Hello, your service package is so interesting, but how if i need 200-250 CCU? Can PUN plus be combined?
     
  29. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Sorry, you can only apply the 100 CCU from PUN+ one time. What makes you sure you get 200..250 CCUs and not more?
    We usually want to make things happen, so please mail to developer@exitgames.com if the subscriptions are a problem for your case.
     
  30. Grinchi

    Grinchi

    Joined:
    Apr 19, 2014
    Posts:
    130
  31. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Replying in our forum.
     
  32. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    518
    Hi,

    I got problem updating my project to PUN 1.68.. Trying to connect to to lobby I get that error (empty project with PhotonNetwork.ConnectUsingSettings() method)

    or here is DemoMecanim scene

    Firstly I thought the problem is in Photon Chat UI I bought before (by the way you should update it as well, because it override files by default when import package) but even trying with a clean project I get those errors.
    The same story using your demos - I got errors in any scene.

    What is it? I can't download older version and works has stopped..
     
  33. yuriki

    yuriki

    Joined:
    Jun 19, 2013
    Posts:
    7
    I can't find 1.68 changelog in the first post.
     
  34. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @yuriki: I updated the first post. v1.68 is now listed.

    @novaVision: By the error codes, this looks a lot like you're accidentally using a Chat AppID in PhotonServerSettings.
    The PhotonServerSettings must have the "Realtime" AppId setup. You can find your AppIDs in the Dashboard.
    If that's not the solution, please wrap up the package and mail it to developer@exitgames.com
     
  35. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    518
    I don't know what happened, but 2 days ago I just run the editor app and that connected well. I didn't change anything in in PhotonNetworkSettings.
     
  36. alonsoGarrote

    alonsoGarrote

    Joined:
    Jun 23, 2012
    Posts:
    25
    Hi everybody, im having a problem using player customProperties...im using PUN 1.66 btw.

    I can create customProperties from master client for himself and each other client who connects, but I can only read the properties from master client, not from the other clients themselves, as if properties havent got updated on the other devices.

    I posted this quesition on photon Pun forums also but got no answers,
    http://forum.photonengine.com/discu...ies-in-masterclient-for-all-connected-clients
    are there any requirements for customProperties to work?, is it a must to use
    usingHashtable=ExitGames.Client.Photon.Hashtable; ??,

    I also noticed, when Unity editor is second player, OnPhotonPlayerPropertiesChanged() got called twice, one showing default values, I think, for hashtable and then, another time with updated values on hashtable, but at a time after needed, I need "vehiclePosition" created in masterClient and synced on related client.
    Please anybody can help with this,
    Regards,
     
  37. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Could you resolve this?
    Maybe you already did, but just in case: Mail us your problem to developer@exitgames.com and include your appid and region setting for us to check. Triple check it's being used in the client.
     
  38. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Yes. We had to use our own, because some platforms (Windows Store) does not support Hashtable. So it's easier to use ours on all platforms.

    Two replies today! :)
    FYI: We try to check the forum(s) daily. We don't have enough capacity to do that multiple times a day or on the weekends.

    Have a look at the call's callstack, which is visible in the console. This should show what is causing the calls. Maybe it's set 2 times. Maybe it's the local setting of values and some change coming in?
     
  39. Miyavi

    Miyavi

    Joined:
    Mar 10, 2012
    Posts:
    58
    Hello!

    I've been toying around with PUN and so far it's been really easy to get used to it doing basic stuff. So far I love it.

    I've read that PUN is not authoritative, and that I would need an authoritative server for what I'd like to do, so maybe you can tell me if it's possible to do it in a safely :p

    First of all, excuse me if my terminology sounds weird or I'm a bit off in some things, as I don't really know much about multiplayer nor servers.
    Basically, I'm mainly concerned about security. I'd like to do a synchronous PvP mobile game where you level up your units by collecting some specific tokens several times (the way Clash Royale does, for example).
    I'm concerned about how should I implement the way the user receives these tokens, as if the code is in the client's build, it should be easily hackable I guess.

    I know uNet has "Commands" which make the code run directly on the server, which I guess would solve my problem. Does PUN provide something alike? If not, how should I go about implementing security onto this?

    Thanks a lot in advance.
     
  40. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @Miyavi: PUN is not authoriative by itself but you have various options to add security to it. While running a authoritative Unity instance on the server sounds like a good option, it's prohibitively expensive for masses of players.
    To implement some additional logic for PUN, you need a http-based service to do some tasks, on demand. This is less expensive and easy to add to Photon. You can implement cheating checks and reporting in all clients and then use the service to block users who get reported as cheater over and over...

    Are tokens used in one match or do they add up in some account? What type of game is it?
     
  41. Miyavi

    Miyavi

    Joined:
    Mar 10, 2012
    Posts:
    58
    @tobiass They add up in an account. We're also using Playfab to handle some of this stuff (IAP and hard currency).

    More that the type of game, it's about the logic about implementing how to give this "gifts".
    Imagine the player receive a gift for every time he/she plays. This gift would be a random (but controlled) number of tokens for an specific unity. Now, I need some sort of security to handle how these tokens are given away, and to make sure the user is not overriding the output token number (so they can't hack the game and give them 1000 tokens, for example).

    Do you have any write-up about these http-based services you talk about and how to integrate them with Unity/Photon?
     
  42. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    As you're using PlayFab, you should have the perfect http-based service for this already. On the client side, we offter "WebRPCs", which basically call scripts on PlayFab's side. If you can come up with a PlayFab script for gifting, you can call this from the client when you need to. And on the server side, you can implement limits like "this can be called X times per day", etc.
    I am not sure if we have a suitable sample for gifting and PlayFab but here is a sample for listing games (so you learn how to call the WebRPC and how to return something useful to the client):
    https://doc.photonengine.com/en/realtime/current/reference/webrpc

    My colleague Hamza knows more about the WebRPCs and PlayFab. He's active in our forum, so if you have detail questions, that would be the go-to place:
    http://forum.photonengine.com/categories/unity-networking-plugin-pun
     
  43. Miyavi

    Miyavi

    Joined:
    Mar 10, 2012
    Posts:
    58
    I see. Cool then. It would actually be like using PlayFab's Cloudscript, actually?

    We're using it at the moment to fetch server time :D
     
  44. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    Yes, that's the term I was missing: PlayFab Cloudscript can be used for server-side gifting (and limiting that).
     
  45. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
  46. neoneper

    neoneper

    Joined:
    Nov 14, 2013
    Posts:
    48
    Hello! I am interested in working with this technological, but I'm with some questions which I'm not finding answer on the developer site.

    When a player creates a room, it becomes a Client-Server?About the games rooms architecture.
     
  47. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    @neoneper: Photon is using a server, which hosts the room. All clients in the room are connected to that server. Between all equal clients, one Master Client is selected, which can trigger special events (like starting a round, etc).

    Which is your first language?
    Try an automatic translation of our docs and head over to our forum if you have more questions.
     
  48. neoneper

    neoneper

    Joined:
    Nov 14, 2013
    Posts:
    48

    Hello Tobias. Thanks for your reply. I speak Portuguese and sorry for my english (^.^).
    I was using the assets of MucchDifferent company, ULINK. But the company is officially ending its activities with technology and this left me with a lot of problems in my current game.

    I'm working on a card game and my doubt is about rules of the game server. I don't particularly like of the concept of MatchMaking games because I really do not understand how to develop adequate security to prevent "hack" on my game.

    MyGame:


    So my big question about the photon assets is, understand how rules of the my game will working without the need to leave them at one specific player.
     
  49. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,066
    For an authoritative server, you can get the Photon Server SDK and modify the logic in any way you like.
    You can use our "Server Plugins" for a lean, simple API where you implement your game per "Room".

    Please have a look at our server docs, get the server SDK and when you have concrete questions, please post a thread in our forum (this one is more about the client side).

    I can't say how close our solution is to that of ULink. Afaik, their server was not C#, so there might be some rewriting required.
     
    neoneper likes this.
  50. Parallaxe

    Parallaxe

    Joined:
    Apr 9, 2013
    Posts:
    118
    I saw that PUN+ is on Madness Sale in the Unity Asset Store (UAS). However, I am confused about the terms.

    In the UAS it states the following:
    Pay once - use for 60 month: 100 Concurrent User Cloud plan included.

    But on the Photon website it states the following:
    You can buy PUN+ for the 100 CCU life-time plan ...

    When I buy PUN+ through the UAS is the usage really limited to 60 months, while it is "life-time" when I buy it through the Photon website? Yes, 60 months is a long time, but it's not "life-time".