• Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
brainCloud Forums

bitHeads

bitHeads employees

Private

Posts


    Automated Promotion no longer activates with New entrants to the segment only
  • Paul WinterhalderP Paul Winterhalder

    Hi @gyutaelee ,

    Are you by any chance taking an automated promotion that you had used before and just changing the dates? Or maybe changing the criteria in some other way (the xp level?)

    Because that won't work. Our system keeps track of the fact that the user has participated in that promotion before - no matter what the criteria is.

    I mention this because the promotion id is 6 - which of course means it was the 6th promotion ever created. I figure such a low number means you are likely re-using an existing promotion.

    Just a guess though -- try creating a brand-new promotion to see if you get the same behaviour.


  • [Feature Request] Bulk actions for Custom Entities in the User tab
  • Paul WinterhalderP Paul Winterhalder

    So you are saying that you want to be able to bulk import custom entities for a single user?


  • Questions about brainCloud Friends and Social Leaderboard behavior
  • Paul WinterhalderP Paul Winterhalder

    Hi @gyutaelee ,

    Your approach looks good. Answers to your questions:

    1. Is GetGlobalLeaderboardPage on the per-influencer shadow leaderboard the intended way to support paging for these large friend lists?

    Well - GetGlobalLeaderboardPage() and GetGlobalLeaderboardView() return all players - not just friends. It becomes a friend leaderboard if you only put friends of the influencers on there.

    1. For rotated leaderboards, should each shadow leaderboard use the same rotation settings as the main leaderboard?
      Yes - that would make sense.

    2. Is there a practical recommended maximum number of shadow leaderboards or mirrored score writes we should design around?
      There are games in brainCloud with tens of thousands of leaderboards. Not necessarily something I think everybody should do 🙂 - but definitely supported.

    3. Would increasing maxMultipleLeaderboardScoreLimit still only be needed for the regular top-N social leaderboard path, and should that be requested through brainCloud Support?

    That is intended for "candy crush map" style usage where your show an overview map of different levels - and generally just one or two of your friends at each location on the map. It's a very expensive call for us to run server-side. We don't normally bump up that limit.

    Paul.


  • Question about CloudCode API Hook and Global Property read costs / usage count
  • Paul WinterhalderP Paul Winterhalder

    I should clarify - the first 2 api calls are free in a script - not the first 3.

    Where did you see the document with 3? [That is old - from several years ago]


  • Question about CloudCode API Hook and Global Property read costs / usage count
  • J JasonL

    Hi @gyutaelee ,

    Based on the current brainCloud's implementation, here are the answers to your questions:

    Q1: Does the Pre-hook count as a separate CloudCode execution / API count?**

    Yes. The Pre-hook counts as both a separate API call and a separate CloudCode script invocation. After running, the server publishes its own analytics event with operation "RUN_HOOK-Pre_VersionGate" that increments both counts.

    Q2: Does bridge.getGlobalProperty() count as an API call?**

    No. bridge.getGlobalProperty() is completely free. It reads directly from the cached Game object in memory and bypasses the API call tracking pipeline entirely.

    Q3: Does the "first 3 free, then 0.5 each" rule apply to hook CloudCode scripts?**

    Yes, the discount applies to internal calls from any script or hook within the session.

    Q4: Pass-through case: usage count breakdown

    • Client calls script.RUN: +1 API call
    • Pre-hook executes: +1 API call
    • bridge.getGlobalProperty() inside hook: free
    • Original CloudCode script: +0 (covered by the original script.RUN request)

    Total external API count: 2

    Q5: Blocked case: usage count breakdown

    • Client calls script.RUN: +1 API call
    • Pre-hook executes: +1 API call
    • bridge.getGlobalProperty() inside hook: 0 (free)
    • Original script: +0 (does not run, server throws before invoking it when hook returns non-200)

    Total external API count: 2

    The blocked case costs the same as pass-through from an API-count perspective. The only savings is that the original script's internal bridge.callAPI() calls are avoided.

    Q6: Could reading a Global Property on every script.RUN become a performance or cost concern?

    Performance: No. getGlobalProperty() reads from an in-memory cached Game object (ConcurrentHashMap per node) with no DB query or network call.

    Cost: The hook itself adds +1 API count to every script.RUN call that has the hook attached.

    Q7: Recommended caching approach for frequently-read, rarely-changed property?

    The cache is already in place, no additional caching needed. brainCloud stores the Game object (including all global properties) in an in-memory cache for each server node. Cross-node invalidation is handled automatically when a global property is updated in the portal. Using bridge.getGlobalProperty() is already the optimal pattern.

    Q8: Portal metrics: what can be broken down separately?

    • API Hook execution count: Partially available. Hooks appear within the CC script invocation counter; no hook-only counter exists.
    • CloudCode script execution count: Available as CC Script Invocations, but includes hooks in the same counter.
    • CloudCode internal API call count: Available as CC API Calls in the Monitoring dashboard.
    • Global Property read count: Not tracked. No metric exists for this.

  • TAKE ACTION: Set your Segment Codes! (by the end of Friday June 5)
  • Paul WinterhalderP Paul Winterhalder

    Hi folks,

    A quick reminder that we are moving from Segment IDs (system-assigned numbers) to SegmentCodes (which you get to pick!).

    Unless... you DON'T pick them in time, and we have to auto-generate them for you!

    [And note - codes can't be changed once set - so you probably want to do it yourself.]

    More info here - https://updates.braincloudservers.com/action-set-your-segment-codes-9U2BO

    Paul.
    [PS - there was a Portal bug that was preventing the code from being editable for some users. That has now been fixed!]
    2026-06-03_16-32-21.png


  • Segment Code Bug Report
  • J JasonL

    Hi @LEE-JONG-GUN,

    Good news: the fix for the Segment code field clone bug has been deployed.

    What changed

    • When you clone a Segment now, the code field is automatically appended with _copy (e.g., myCode becomes myCode_copy).
    • The cloned segment's code field is editable, so you can change it to any unique value and save the clone successfully.

    This resolves the duplicate-code issue that was preventing clones from being saved. Thanks again for the report.


  • Questions about brainCloud Friends and Social Leaderboard behavior
  • Paul WinterhalderP Paul Winterhalder

    Hi @gyutaelee ,

    Are you saying that a single user can have up to 10K friends in your system? Not 10K players in the leaderboard overall - but actually 10K friends of a single player (inside what is likely a much larger leaderboard).

    Is this for influencers or something? In which case it's probably for a few exceptional players?

    If so - I might suggest that influencers get tagged as such - and you keep their friend scores in a shadow leaderboard (one for each influencer) that just stores that one players friends scores... [it's a shadow leaderboard because you would still record those players scores in the main leaderbaords as well].

    Of course - that works for dozens of influencers. Its not at all what I would suggest for the regular players.

    Does this make sense for you use case though? Most players would have well under 100 friends... the great majority will be under 20. Influencers would need a lot more -- but you can represent them in a different way. You'd likely have less than 50 influencers -- right?

    Paul.


  • Segment Code Bug Report
  • J JasonL

    Good catch! Thanks for bringing this to our attention. We’ll fix it so that cloning a segment doesn’t copy and inactivate the code field, avoiding the duplicate-code issue and allowing the clone to be saved.


  • Integration with .NET server
  • J JasonL

    The SDK is just a plain C# source library you can drop into any .NET project (not Unity-only). You can find usage examples and the source in our GitHub repositories at https://github.com/getbraincloud.

Member List

R Roger Masse
Paul WinterhalderP Paul Winterhalder
Michael CostaM Michael Costa
N Nick Haidar
C Cody Melvin
Franco LagoF Franco Lago
V Vasanthan Rajendran
J JasonL
Scott SimpsonS Scott Simpson
Pierre ProulxP Pierre Proulx
Greg MouldsG Greg Moulds
H Holly Leung
Steve JonesS Steve Jones
M Mario Couture
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users