Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • General Discussion /
avatar image
Question by Nick He · Mar 21 at 01:55 AM · Player DatadatamultiplayerShared Group DataCharacter Data

Questions on storing a list of strings on PlayFab to be accessed by all users, or similar methods

Hello everyone! My question is as follows: Is there a way to store some sort of "server-synced" info on PlayFab that all players can access?

I'm intended to use this feature for room search, ex. a list of strings of room names is created and stored in the PlayFab database. Whenever a user creates a new room, a new string is updated to the list, and whenever a new room is deleted, that string is removed from the list. And whenever a user clicks refresh, that list is retrieved and presented to the user through local UI feedback.

So basically, the core idea is a list that can be accessed and edited by all players. (Preferably a string key + a list of strings as values)

I've done some research on this topic, and so far here are the possible solutions I found:

1) Create a special Playfab user and specifically use its player data for server-wide data storage, though this method is heavily not recommended.

2) Use some sort of real-time database, like Redis or Firebase. But it seems like Firebase only works for mobile, and Redis feels time-consuming to learn (sorry, the project is on a crunch ;-;!). In addition, the functionalities I'll be using will be very limited so they don't feel worth to learn... ;-;

3) Use some sort of HTTP protocol. But since my knowledge in web socketing is basically none, I would prefer to use some already-build client and database service with implemented methods ;D (Please lmk if you have any GOATED unity store assets <3)

If you have any similar experience on such topics or solutions that work the best, I really really do appreciate your help and support. Since I just simply need to store a list of strings, I would love to keep the process as simple as possible. Again, I just want to say thank you so much for reading through this post. Have an amazing day!

Comment

People who like this

0 Show 1
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Nick He · Mar 20 at 11:34 PM 0
Share

Just did some more research, and it seems like Title Data could be a potential path, but I have some questions regarding it:

It seems like there's a limit on the amount of key-value pairs a user can add for the title data, and there is no categorization available, so I wonder if it's the most efficient method for storing different lists of strings for different purposes. Say, for example, if you want a list of voice chat names and a list of user room names, would it be better to create two key-value pairs and store the string array lists as the values for each key, and use array list methods to add/remove strings from the list? (Can you upload array list onto PlayFab?), or would it be better to create several key-value pairs, each with a unique identifying key to identify its type (but there's a limit tho)? ex. ROOM_1, ROOM_n, VOICE_1, VOICE_n, etc, so when the local user UI grabs data, it sorts the data type based on their prefix?

2 Replies

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Made Wang · Mar 21 at 09:05 AM

To clarify, Title Data is suitable for storing global constants or static data, it is not suitable for storing global variables, when it is modified, there will be a delay of up to 15 minutes. And it doesn't support multiple writes concurrently.

Currently, what we recommend is to use an external database to store global variables.

Also, the lobby may be able to meet your needs, but it is still in a personal preview state, you can follow the official blog to get the latest news or you can refer to Building Lobbies with Azure PlayFab to implement it yourself.

Comment
Nick He

People who like this

1 Show 4 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Nick He · Mar 21 at 02:34 PM 0
Share

Thank you so much for the helpful information! My goal is to create two lists of available rooms for players to join: 1 for Video Chat, and 1 for rooms in general. I was thinking about using an external database to keep two lists of strings to join by room name, but lobby sounds like an interesting solution; I’ll definitely take a look! But just in case if I fail to understand it: is there any simple, external database that you’d recommend that might suit my needs? Thank you so much again for your time and help!

avatar image Nick He · Mar 21 at 08:45 PM 0
Share

Actually I just found some robust data bases on the Unity Asset store. Have an amazing week!

avatar image Nick He · Mar 21 at 10:47 PM 0
Share

Actually, never mind... they are mostly local servers. Is there any online external database you'd recommend? Thanks a lot ;D

avatar image Made Wang Nick He · Mar 22 at 06:27 AM 0
Share

I don't know much about databases and would recommend seeking some professional advice.

avatar image

Answer by Nick He · Mar 22 at 06:34 AM

@Made Wang Thank you so much for the helpful information! My goal is to create two lists of available rooms for players to join: 1 for Video Chat, and 1 for rooms in general. I was thinking about using an external database to keep two lists of strings to join by room name, but lobby sounds like an interesting solution; I’ll definitely take a look! But just in case if I fail to understand it: is there any simple, external database that you’d recommend that might suit my needs? Thank you so much again for your time and help!

Comment

People who like this

0 Show 0 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    2 People are following this question.

    avatar image avatar image

    Related Questions

    For the player data, is it possible add additional tables so different types of data can be group separately? 1 Answer

    Create table in data explorer(advanced) 2 Answers

    Admin panel in unity, to modify the statistics of the player you want / choose,Modify player data in a unit panel 1 Answer

    How to get data online players? 2 Answers

    Where to store photon gameStates. 1 Answer

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges