#Unified API
1 messages · Page 1 of 1 (latest)
Hi! This is something I'm very interested in getting more feedback on. Can you tell me more about your cross platform work and the kind of features you'd like to see in an API of this kind?
Save Data and Achievement comes to mind.
For those you'd also need some way to abstract user management, since achievements and save data are typically owned by users. Anything else you're finding painful when targeting multiple platforms?
Usually, we really have the simplest integration.
Our current implementation is pretty much:
public abstract void Initialize();
public abstract void Quit();
public abstract string GetSystemConsoleLanguage();
public abstract void UpdateAchievement(string id, float progress);
public abstract void Save(string filePath, byte[] data, long count);
public abstract byte[] Load(string filePath);
public abstract void CreateFile(string path);
public abstract void CreateDirectory(string path);
public abstract bool FileExists(string path);
public abstract bool DirectoryExists(string path);
public abstract void Delete(string filePath);
Thanks, that's really interesting. What platforms are you targeting with your projects?
PS4
PS5
XboxOne
XboxSeries
Switch
Epic Games
Steam
Windows Store
No Integration
Are these mainly single player games? Do you support any local multiplayer modes?
The last two games I worked on had local multiplayer modes.
Did you support using separate accounts for each player or just one primary account for achievemnts and so on?
We only use 1 account in our case.
As far as I know, there is no requirement to specifically use system user for additional player in all platform we developed on.
(We are aiming for the smallest possible integration)
that makes a lot of sense
are you already using Unity 6? have you had a chance to try out build profiles yet?
We are on 2022 unfortunately.
It seem like a really promising feature. I will mostly have the chance to test it for the next project.
I would be interested to hear your feedback, and if it has any impact on how you configure your builds going forwards
If I remember correctly previously official release this kind of package before that called some kind of foundation package but suddenly discontinued development. I think it's nice package why suddenly stop development?
there was something for mobile in the past, which is no longer supported I think, is this what you mean?
for any new cross platform project we would need to support more platforms and user models than just those on mobile
I mean this package that I believe it's developed in platform agnostic way. https://docs.unity3d.com/Packages/com.unity.game-foundation@0.9/manual/index.html
Oh this is for live service/mobile type games, we're talking more about platform systems.
Just throwing my 2 cents in here, but I've had to write a wrapper like Simferoce has done a couple of times for various platforms (ps, xbox, pc steam, pc eos)
It's unlikely that unity will add specific steam/eos/etc platform support but it'd be nice if other platforms that they support at least shared a similar design paradigm
just basic things like the design of the api
it's been 1-2 years since i've looked at consoles, and obviously limited to what I can say on those platforms publicly, but if i recall the unity playstation api used tasks while the unity gamecore api used callbacks
so that alone just made writing a single interface for them a bit more tedious