I’m a beginner on Unreal Engine and working on a mobile-learning project. I have a few questions;
1- The project works as a single-player, but I’ll compare two different users’ data at some point. My plan here was to store all player data in a remote DB like Firebase or a custom DB with a custom backend. And when I need the data, I’ll fetch it from DB and use it. But when I checked Firebase, I couldn’t find an official SDK for UE. I found some third-party solutions but I’m not sure if they work properly and worth it? It’s quite expensive and this is just a learning project. So what’s the best way to do this in UE? Or using a real-time database is a good option for mobile? I’m open to all suggestions for this use case.
2- How often should I send these data to the DB? On every single change? Or set a timer and every N secs, for example?
Database is good for the info you need to store outside game instances. My advice is to query it only when you need it, unless it’s some real time GPS location.
Need to know which is the current highest score? Query it when you open the high score menu.
Saving data on the server, but retrieving data can be on the client side directly from a DB(unless the database and server run on the same machine).
I don’t see how pushing data from the server to the client every N secs would be beneficial when you don’t need. The client can pull it when it’s needed.
In terms of database options, Epic actually has its own online services, and leaderboard interfaces. Here’s a link to the documentation if you want more information: Leaderboards Interface | Epic Online Services Developer