#Unified API

1 messages · Page 1 of 1 (latest)

peak pawn
#

It seem strange that there is no Unified API for all platform.

I understand the challenge that comes with it, but most studio that does multi-platform needs to deal with it anyway.

indigo halo
#

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?

peak pawn
#

Save Data and Achievement comes to mind.

indigo halo
#

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?

peak pawn
# indigo halo For those you'd also need some way to abstract user management, since achievemen...

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);
indigo halo
#

Thanks, that's really interesting. What platforms are you targeting with your projects?

peak pawn
#

PS4
PS5
XboxOne
XboxSeries
Switch
Epic Games
Steam
Windows Store
No Integration

indigo halo
#

Are these mainly single player games? Do you support any local multiplayer modes?

peak pawn
#

The last two games I worked on had local multiplayer modes.

indigo halo
#

Did you support using separate accounts for each player or just one primary account for achievemnts and so on?

peak pawn
#

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)

indigo halo
#

that makes a lot of sense

#

are you already using Unity 6? have you had a chance to try out build profiles yet?

peak pawn
#

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.

indigo halo
#

I would be interested to hear your feedback, and if it has any impact on how you configure your builds going forwards

sacred reef
indigo halo
#

for any new cross platform project we would need to support more platforms and user models than just those on mobile

indigo halo
#

Oh this is for live service/mobile type games, we're talking more about platform systems.

foggy coral
#

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