Skip to content
  • Confirming recent Posts show the title

    General
    2
    0 Votes
    2 Posts
    25 Views
    A
    I meant show the title
  • This is a test question

    Unsolved General braincloud 6.0 question
    2
    0 Votes
    2 Posts
    27 Views
    A
    The answer is 2.
  • Test post from me

    General braincloud test
    12
    0 Votes
    12 Posts
    988 Views
    A
    test 2026-04-09
  • Mina is testing

    General
    3
    0 Votes
    3 Posts
    132 Views
    B
    Checking out.
  • A new topic that I will delete.

    General
    1
    0 Votes
    1 Posts
    99 Views
    No one has replied
  • Authentication error - Unity iOS

    APIs error ios unity
    5
    0 Votes
    5 Posts
    647 Views
    F
    Hello Gavin and Andreas, apologies for the late response. Could you give more information to reproduce the crash you're experiencing in iOS? I've attempted to reproduce the crash and 202 error and I wasn't able to. For these cases versions are important so if you could provide the Unity Engine version, iOS version, and what iPhone device used to test with.
  • brainCloud 5 is alive!

    Pinned General braincloud release 5.0
    1
    1 Votes
    1 Posts
    947 Views
    No one has replied
  • 0 Votes
    5 Posts
    478 Views
    Michael CostaM
    Hello @Gavin-Beard! We've had trouble reproducing this issue on our end. After some testing with a small app on MacOS and iOS, we have not been able to see the error you are encountering using Unity 2021.3.8. If you could, please check out the app here and let us know if this issue is still persisting. It is a barebones authentication app and it should run on multiple devices. The Authentication.cs script has all the gory details. Just open up the Main scene under Assets > App > Misc > Main.unity to get it running. You will also need to add your brainCloud credentials, but you can copy the Authentication example template in brainCloud to test the app. Please let us know how this app works on your end and if any issues are encountered! You should be able to click on any error logs in the in-app console to copy the log to your device's clipboard. As for your specific issue, my best guess is that perhaps an external library of sorts might not be supported with brainCloud, such as the Newtonsoft Json.NET library. For JSON de/serializing, brainCloud comes with JsonFX. You can also make use of Unity's own JsonUtility for structured JSON de/serialization. Both the app I've shared and the examples on our GitHub make use of JsonFX extensively. If you'd like to know more and see how a more robust app can handle brainCloud authentication, as Franco suggested, you should check out our Authentication example on our Unity Examples GitHub. Hope this helps! Please let us know if you have further questions or inquiries about this.
  • 0 Votes
    1 Posts
    275 Views
    No one has replied
  • 0 Votes
    4 Posts
    441 Views
    Paul WinterhalderP
    Update 3 - okay - the networking optimization is back in place now. (Though we haven't turned it on for the Portals yet - just want to ensure there aren't any issues first...) Paul.
  • Difficulty parsing JSON response in Unity

    APIs jsonutility unity json
    2
    0 Votes
    2 Posts
    311 Views
    Michael CostaM
    Hello! Thanks for your inquiry. The format of this response has been used for several years so to change it at this point would cause many errors for our clients. However, in situations like this, we have included the JsonFx library to help deserialize dynamic JSON objects with. One way to deserialize the JSON items would be to include a DeserializeItems(string) method in your Data class to be able to store them in an array using JsonFx's JsonReader.Deserialize(string) method: public List<Item> Items = new List<object>(); public void DeserializeItems(string jsonResponse) { var response = JsonReader.Deserialize<Dictionary<string, object>>(jsonResponse); var data = response["data"] as Dictionary<string, object>; var items = data["items"] as Dictionary<string, object>; foreach (Dictionary<string, object> item in items.Values) { var newItem = new Item(); newItem.itemId = (string)item["itemId"]; newItem.defId = (string)item["boost_rapidfire"]; newItem.quantity = (int)item["quantity"]; // etc... Items.Add(newItem); } } Alternatively, you can also use JsonFx's JsonWriter.Serialize(object) method in the foreach loop to then be able to use Unity's JsonUtility to automatically map it as an Item. Understandably, both methods have their own pros and cons. However, it should be able to get the job done in this case. Hope this helps! Please let us know if you have further questions or inquiries about this.
  • Number of users via web hook or S2S call

    Moved APIs webhook s2s
    2
    0 Votes
    2 Posts
    306 Views
    Paul WinterhalderP
    Hmm, not really... You can get the number of sessions created in an hour with this call: https://getbraincloud.com/apidocs/apiref/#capi-globalapp-sysgetdailycounts But brainCloud doesn't otherwise track a concurrent session count per app. There are certainly 3rd party analytics packages that you could link into your client that would give you that sort of information though. Paul.
  • Unreal 5.1 + Online Services

    APIs unreal
    2
    0 Votes
    2 Posts
    259 Views
    T
    Looking a little more deeply; trying to use Brain Cloud with the Lyra example code https://github.com/getbraincloud/braincloud-unreal-plugin-src/blob/335e9c6fe0deb6674254b30ba5edb24f9a35817c/Source/OnlineSubsystemBrainCloud/Private/OnlineSubsystemBrainCloud.cpp#L28 The session interface isn't written (nullptr) is returned. Can I presume from this that the OnlineSubsystem is in a pretty "early access" form?
  • Async match without opponent

    General async match unity
    5
    0 Votes
    5 Posts
    471 Views
    G
    @Paul-Winterhalder said in Async match without opponent: Hi, brainCloud currently offers two forms of matchmaking: Offline matchmaking - for async match (i.e. words with friends) or one-way multiplayer (i.e. class of clans) style games. Both of those multiplayer types require you to have an opponent to play against when the match starts. There is also online matchmaking - which uses our lobby system - which is suitable of any online / real-time sort of multiplayer. (That one doesn't require you to have an opponent in mind when the lobby starts... and the lobby can start a match via a relay or room server session right away...) That said - I get the feeling that you are talking about more of an async match scenario (i.e. not-necessarily-online multiplayer) - where the match can start before an opponent has been identified. Am I correct that that is the scenario you are wanting to target? It's an interesting approach - as there's a much lower chance of matching against another player who isn't going to respond in a timely manner. Let me know if I've got the scenario right and we'll give it some more thought... Paul. Hi Paul, Yes, you are correct. When a user starts a new game, it'd essentially see if someone has already started a game but has no opponent, If a match is found the second player will be added to the game and can then make their move. If no match is found that is awaiting a player, it'll create a new game, let player 1 make their move and then go "dormant" until a player two is ready. If you have ever used the turn based aspect of Apples Game Center turn based service, this is essentially how that works.
  • Password content specification?

    Solved General email cloudcode password
    4
    0 Votes
    4 Posts
    429 Views
    Paul WinterhalderP
    FYI - this feature was added in brainCloud 4.13 - https://getbraincloud.com/apidocs/release-4-13/
  • 0 Votes
    3 Posts
    582 Views
    A
    @Paul-Winterhalder Yes please, there are other gaming backends which only works with Open Id . I already shared one requirement with Jason. Implementing this will not just solve my edge case but open opportunities for lots of other backends to work well with BrainCloud
  • getMessagesPage with $or field not working probably

    APIs messaging
    2
    0 Votes
    2 Posts
    291 Views
    J
    Hi Kirlos, as you can see from the response's message field, there are two elements (id and name) underneath, you need to append .id to specify the first search field for id, so change the "message.from" to "messsge.from.id" should solve this problem.
  • 0 Votes
    1 Posts
    214 Views
    No one has replied
  • 0 Votes
    3 Posts
    460 Views
    G
    @JasonL Thanks, I ended up with this cloudCode: isForceCreate = String(data.callingMessage.forceCreate) == "true"; isNewUser = String(data.message.newUser) == "true"; var response = {}; response.status = 200; response.data = data.message; if (isForceCreate && isNewUser) { var min = 10000000, max = 999999999 prefix = ["player", "user", "member"] const num = Math.floor(Math.random() * (max - min + 1)) + min; const pre = prefix[Math.floor(Math.random() * prefix.length)]; var defaultPlayerName = pre + String(num); var playerStateProxy = bridge.getPlayerStateServiceProxy(); // We are changing the player name on the server. playerStateProxy.updatePlayerName(defaultPlayerName); // And in this API Call's return data. response.data.playerName = pre + String(num); } response; //return the object This works just the way I need
  • Convert Anonymous to username/password

    APIs authentication unity
    2
    0 Votes
    2 Posts
    243 Views
    J
    Call AttachUniversalIdentity() method from client lib, the username is uniqueness enforced.