#archived-unity-gaming-services
1 messages · Page 5 of 1
Yeah I think it is a hold over from how authentication mechanisms all used to be Identity Providers (as @warm badge noted). You can't currently see Player Names under their either, which also feels weird.
I've just logged this as a defect for my team - we see if we can surface that information at least on the Player Management page.
can i use UGS lobby/matchmaker/game server withmy own authentication service? or do i need to use theirs?
and are UGS systems SDK using statics or not? My game cannot use any statics in it for technical reasons
You can use custom authentication
https://docs.unity.com/ugs/en-us/manual/authentication/manual/platform-signin-custom-id
i see thanks
looking at the unity sdk though seems theres a lot of singletons :S
They all use Singletons. But you can use the REST API if you need to
oh theres a rest api?
all the services have them
https://services.docs.unity.com/
oh thats awesome thx!
one more question, whats the local dev experience like for ugs?
there is not a way to test them locally if that's what you mean.
There is a Deployment package that is helpful in uploading config changes to the UGS services though
hmm so i cannot test lobby/relay/matchmaking from the editor?i thought i should be able to upload my game server and test those locally
you can test from the editor just not locally offline.
Hi all, I ask here as I read in the Unity Forum post that GameFoundation tutorials are no longer supported. I can not see the package Game Foundation in Package Manager (not even enabling Previous) in Unity v.2022. According to this Unity worker https://forum.unity.com/threads/update-on-the-status-of-game-foundation.1240801/ GameFoundation was replaced for UGS, but this is a problem as there are more than 30 UGS! Almost all are different packages to install and it is crazy to know, where each of the previous GameFoundation features is now, before they were all on one page...??? So, **how do you manage to localize and implement all these features previously located in GF and now in UGS? **Thanks!!
Hello!
We would like to sincerely thank you for participating in our Game Foundation beta, which we created to deliver off-the-shelf common game...
I'm not familiar with Game Foundation. What features were you looking for?
How can I use service account in my dedicated server with Multiplay service? It looks like RemoteConfig requires authentication?
Here is how you go about setting up and using a service account
https://services.docs.unity.com/docs/service-account-auth/
Admin APIs allow you to access and configure Unity Services as an administrator. To authenticate admin APIs, you must create and use service accounts.
Thanks, these are the end point and web APIs. I am just using unity dedicated server, are there any Unity APIs?
https://docs.unity3d.com/Packages/com.unity.game-foundation@0.9/manual/GameSystems.html Here in Tutorials you have the full list, but it seems like this package is not available in v.2022, that is why I am looking how to implement these features today
Gotcha. That is mostly covered in the Economy Service
https://docs.unity.com/ugs/en-us/manual/economy/manual
Hi, who know how to check if Player can connect to Cloud saves?
Via try catch is it only one way?
You can check if there is an Internet connection
https://docs.unity3d.com/ScriptReference/NetworkReachability.html
I think I already found the answer - try catch should work fine
nice nice
well, I was able to get my lobbies created, and also the join lobbies
now I would like to be able to assign the host name and guest name
do I need to start using relay from this point?
Generally, yes.
I'm creating a vrchat world and testing animations
using Udonsharp I created a script to rotate an object
now I wanna know... is using the animator more computationally challenging for quest users than this or is this good?
I want to know what is more optimized
because if I use this method it would be just a drag and drop to apply an animation
but I have never used the animator so yee
I'm currently using version 2022.3.22f1's High Def 3D Core Template and I'm trying to build my game, but it's taking 32 minutes and is most compiling shader variants. I've deleted anything I'm not using. Is there anything I can do to help decrease build time??
Just installed Git for Unity, and for some reason after selecting files to commit, the files are deselected? Can't find anything like this online. Git CLI doesn't open. Committing works if you hit the select and commit button really quickly, but I'd like not to do that. Is the best solution to just not use Git for Unity?
Hi, does game server hosting in UGS has an one hour limit till it deallocates or it can be on with no time limit?
For Vivox pricing is one CCU a player currently in a channel, a player who is currently logged in, or a player who just initialized, or something else?
You can set the TTL here. But I don't know what the upper limit is
https://services.docs.unity.com/multiplay-config/v1/#tag/Fleets/operation/UpdateFleet
thank you
I'm pretty sure its currently logged into Vivox
Alright, thanks.
If that is ALL you are doing, then the script is probably cheaper.
I'm looking for a video that shows how to use Unity's cloud authentication service with Steam.
can i put a spending limit on UGS?
The docs are here. I'm not aware of video tutorials for it
https://docs.unity.com/ugs/en-us/manual/authentication/manual/platform-signin-steam
lol I got it. I'm just working on the MTX stuff now
Thank you very much
You can do Budget Alerts. But I don't thing there are any hard stops
https://docs.unity.com/ugs/en-us/manual/overview/manual/budget-alerts
isnt that very predatory to not be able to have hard stops... from the outside seems simple from them to implement??? they have all thenecessary info
do they have an open api so that we can make our own custom solution maybe then?
You can just not enter any payment info. If you hit the free limit then all API access stops.
https://support.unity.com/hc/en-us/articles/6821475035412-Billing-FAQ
but i need limits on the paid side😄
I guess you can use Budget Alerts and the Access Control API to revoke all access when the alert fires
https://docs.unity.com/ugs/en-us/manual/overview/manual/access-control
seems they dont support webhooks

or even polling on an api to check
That is disturbing
Today you are rich, tomorrow a hacker group has made you poor. Seems awful
IMAGINE you forget your login password and it's costing you thousands per min
it looks like thereis a Total budget
I implemented unity ads in my project and I don't understand why I can only see 8 ads (then something with "no fill" appears). what should i do?
Does monetization with ads go through unity if my game is in google play
Yes.
I only use the script for basic animations
Meaning. Spin animation or orbital animations
So what I'm understanding is that the script is way cheaper for quest users
Also question
What takes more world size
The script or the animator
World size?
A vrchat world size.
Im Vrchat you can upload the unity scene as a playable world using their SDK
Ah, well, I have no idea about that.
thats just for alerts... it doesnt stop from spending more i think
:D:D
lol
Oh man this is not okay.
There needs to be a hard cut off limit
I mean you could change something in your game on accident and cost yourself thousands if not hundreds of thousands.
yeah feels very predatory...
I mean you push something wrong into release oof
It does
Maybe we need to address this with Unity directly
I'm integrating UGS into a project, and a concern came up- one of the threats with a pay-as-you-go service is something leads to runaway usage, and if...
doubt they care 😄 they said theyll look into it 2 years ago and then went MIA
@copper lynx is there any plans from unity on spending limit on UGS?
@random rivet Don't ping admins or anyone else into your questions. Read #📖┃code-of-conduct
^ lol
@frank edge Is the concept of this being a community space escapes you? You should familiarize yourself with #📖┃code-of-conduct as well. If you have suggestions or support requests direct them to forums/discussions suggestions threads.
Don't start acting toxic towards me.
I'm not stupid
@frank edge I suggest you stop spamming off-topic here.
Abuse of power, toxic harassment of developers is not okay.
!mute 776165664482000967 3d ignoring warnings, spam
lordbaileydev was muted.
I can login via Unity Authentitication to facebook from Android game or from Editor. But on IOS I got "invalid token" exception. Do I need to publish game first and than add the Game store ID to facebook settings to be able to login from IOS, or do something else?
Hey folks!
On the concerns over billing for cloud services:
I can’t speak officially to how we handle billing issues, but while I understand the worry that the potential for unexpected bills can cause, if there was some kind of abuse or problem that wasn’t caught or prevented by per-player / admin account rate limiting that resulted in very high usage, that is something you could talk to a client partner about (if you have one), or to support and see if there is anything they can do to help.
I know it’s the sort of thing that can make folks hesitant to use cloud services, but for what it’s worth I can’t think of any incidents of our Game Backend services (at least across Cloud Code, Cloud Save, Leaderboards, Authentication , etc) where something hasn’t been caught by guard rails and has actually ended up being a significant issue for a developer.
I think some of the things teams are working on this year will improve visibility of usage across services, especially when it comes to catching unintended behaviour. Probably the biggest practical risk developers face is something like accidentally releasing a build with some sort of cloud logic in a core game loop, but even then there are emergency breaks developer can pull (like Access Controls) until they can get a patch out. I don’t think anyone has had actually had to resort to that though.
Hmm are you using the same Facebook credentials for the Android version and the iOS version? Happy to try and replicate if you are having an issue!
I assume you have seen this already, but if not you might find the first-party Facebook documentation for their Unity SDK a little more comprehensive than our guides for them (or Apples guides!) 🙂
https://developers.facebook.com/docs/unity/getting-started/ios
Thank you for the link I followed it -looks like I setup everything correct. It is strange because when I press login from IOS app it is redirect me to facebook login screen and I got access token it looks correct (I'm not sure if it is actually correct), at least it is not empty and string looks similar to access token from meta site. But from meta site token always start from GGQV in my app doesn't.
ok just add GGQV before the token doesent works too.......
Hmm not sure what is going on there, I have a build of an Android project with Facebook SDK integration open as it happens, I'll try doing a build of that for iOS later and let you know how I get on (and if I see the anything similar)
@mental umbra I found in the internet that I can get wrong token for iOS 17 because user didn't agreed for the app tracking. I will try to add agreement to my app and test it again.
I found this answer in the internet: "These are what I discover when using version 17.0.0 SDK with iOS 17+
With AppTracking Transparency enable for your App -> receive a valid FB AccessToken
With AppTracking Transparency disable for your App -> receive an invalid FB AccessToken"
Huh, that's interesting, thanks for sharing that!
I'll see if I can replicate that behaviour, and will update our documentation to call that out (I guess that's why they are prepending the token with string of characters?)
Updated facebook SDK to 17.0.1 . And followed this guide (https://docs.unity.com/ads/en-us/manual/ATTCompliance) , pressing Next button on context menu nothing happens got the same invalid token. Maybe need to setup this permission in apple account but I don't know where it is.
Thanks for the info, though i still think forcing manual actions where real money is at stake is slow and error prone. Do you know by any chance if unity has any timeline on setting automated limits? Im not able to wrap my head around how theres a real implementation for budget alerts, but its actions are limited to email and not customizeable? I would rather pay 50 bucks each month or whatever flat fee to subscribe to a system that called a webhook or directly shut the system down. Feels like unity is assuming that people trying to use ugs will have their eyes on their email 24/7 without any sleep. And im sure the protections are fine and i will most likely give ugs a shot, but the feeling will be there until unity puts some way to control this
Is there any api i can call to see my spending?
Thanks for the info, though i still
@mental umbra I changed my facebook SDK to 16.0.2 and now it is working, without adding any new permissions.
Thanks for the update! I'll note that and check out both versions on iOS on the SDK when I am back next week.
I'll update our documentation for to recommend a specific version (or different setup steps) it if we also see different behaviour; we are looking at a bit of an overhaul of the authentication documentation to make it easier to on board - I appreciate it gets confusing when you have to jump between Unity, Facebook and Apple docs, and both the SDKs and the documentation shared between them get out of sync.
Hi folks, just a quick heads-up that .NET 8 and 9 are now supported by Cloud Code C# Modules, and we've also improved the visibility of Modules in the dashboard. See the full announcement here: https://forum.unity.com/threads/cloud-code-c-updates-net-version-upgrade-and-module-details-page.1611615/
Cloud Code now supports DotNet 9!
Cloud Code now supports up to .NET 9 (previously .NET 7). This brings support for C# 13 and the latest Nuget...
Hi,is there anyone know why unity relay service always got time out exception ?It used to be good,but recently it requires use of VPN.
About Cloud Save Query Player Data, should I do the scene inside the game that will not be including in the build to create Query for example to find player who has a custom key and increase his game money? Or there is a better way? Or maybe there is possibility to create separate project that will have access to cloud saves of "Selected game" in Cloud Save?
You would use either cloud code or a dedicated server for this.
ok thanks, I will read cloud code documentation.
posted in wrong thread before
Hi I'm using unity player accounts in my game to handle authentication. I created a login feature just by following the sample package but it always redirects me to this error page. I tested the sample scene and it has the same error as well. It works fine if I build for android and play it on my phone, so I know I implemented it correctly. Just wanna know if I missed something to make it work in the editor, thanks!
I don't know how to join the players in a relay session or don't even know if that is what I need
at this point, I want both players to share their names, which is stored in PlayerPrefs
and be on a relay session, from there on I know how to do
this is my lobbyhandler script
I can get lobbies to work, create them and join them
however, when I join them, it's like nothing happens
I want to be able to, start sending them
[ClientRPC] and [ServerRPC] functions
The lobby host will need to create a relay then add the relay join code to the lobby data so the other players in the lobby can join
nice
ty
Hi guys. I have a question: Can you tell me the services where you can set up a direct connection to the server in multiplayer? Or create it yourself? Let's say I created a server in the console. The player can only click the play button in the menu and he will connect to the server, which was created in the console on my PC
P. S. Photon will not work
There is not a service to do that. If you are hosting the dedicated server locally then you will need use either a Relay service or you'll need to set up port forwarding on your router
or you can use Alteruna
k so, now that I'll get to it, it was late
Does it work like a local host? With Radmin VPN?
it should
so I still need all of this, right?
but, I will also implement the
"Create relay allocation, code and such"
If you are feeling experimental, you can try the new Multiplayer Services session that combines everything into one API. It will do the Lobby Relay thing with like 2 lines of code
https://docs.unity.com/ugs/en-us/manual/mps-sdk/manual
still need help with this, would appreciate if someone can point me in the right direction
that needs Unity 6 it seems
I'm using 2022.3.22f1
but looks promising
my next project I might, for this one since it's only a card game and I have done so much already I'll stay with 2022.3.22f1
you could share your code
I believe all of that needs to be set up from the Cloud Dashboard
right. and allocation.joincode is what needs to get saved to lobby data
🤔
it looks like I don't need lobbies at all, do I?
it's a hearthstone game, but no matchmaking, only private matches
which you give your roomcode to someone and they join
so here
if I have the host and the guest, they can start the game
are lobbies needed here? or just using relay would do it?
~>
does this look right?
lobbies are just for sharing the relay code in that case
ah, so I do need it
does this look right?
I feel like, I'm missing the relay join code when starting the host
they use a "Task", I'm using a function "void"
so I can't do the
return NetworkManager.Singleton.StartHost() ? joinCode : null;```
You need to create the lobby after getting the relay join code
Or you can all Update Lobby Data async if you need to
so, they're both connected now x)
at the top right, I'm making sure they're also sharing the relay code
I gotta go now but that's some advancement
thanks a lot @warm badge I finally feel like I'm getting somewhere
😭
public class UnityAuthProvider : IAuthProvider
{
private Action onSuccess;
private Action<string> onFailure;
public UnityAuthProvider()
{
PlayerAccountService.Instance.SignedIn += OnSignedIn;
PlayerAccountService.Instance.SignInFailed += OnSignInFailed;
}
~UnityAuthProvider()
{
PlayerAccountService.Instance.SignedIn -= OnSignedIn;
PlayerAccountService.Instance.SignInFailed -= OnSignInFailed;
}
private async void OnSignedIn()
{
try
{
await AuthenticationService.Instance.SignInWithUnityAsync(PlayerAccountService.Instance.AccessToken);
onSuccess();
}
catch (RequestFailedException ex)
{
onFailure(ex.Message);
}
}
private void OnSignInFailed(RequestFailedException error)
{
onFailure(error.Message);
}
public async void Login(Action onSuccess, Action<string> onFailure)
{
this.onSuccess = onSuccess;
this.onFailure = onFailure;
await PlayerAccountService.Instance.StartSignInAsync();
}
}```
The login function is called from another script when a button is pressed.
Where in the dashboard? I only have the option to enable or disable unity player accounts. The client ID from the dashboard has been setup in the project and everything.
Again I'm confused why it works on my phone when i build it but not in the editor
i have a project im working on that im trying to share to a friend
is there a way for 2 people to work on the same project simultaneously
You can add them to your organization or project from the Unity dashboard
https://support.unity.com/hc/en-us/articles/360000532543-How-do-I-invite-a-new-member-to-my-organization
he said he added me to his project and made me owner aswell
but when i open unity hub i dont see it
my friend is moe, i have added him to my organization already, iom tryna figure out how he can open it up in unity itself
Are you using unity devops?
Yeah your project would need to be setup with it and you assign them a seat
i see the file now
but i need to update my version
and its giving me an error
Aight I'm stupid just needed to enable it for PC on the dashboard.
were both on the same version rn
but it won't let me open the project
this is the log
anyone know how i can delete projects from unity cloud?
You can archive a project but I don't think you can outright delete one
alr
for some reason when me and my friend make a change to the unity editor and we push that change in uniter version control we cant see each others changes
NVM
in the unity cloud services, how can i archive multiple projects at once?
good morning guys
I got lobbies and relay, once the game start do I delete the lobby?
let's say here, in the lobby room, I press start the game
I assume I don't need the lobby anymore
also
[LobbyRoomUIManager.cs]
is this how I shuold call a serverrpc function?
cause I got a debug error
this is all I have to do to be able to start calling them [ClientRPC] and [ServerRPC] functions, right?
this is my UI manager for this scene, the settings in the NetworkObject component I assume are correct
also ~
Does this also closes the relay allocation, right?
If you are the host, yes
cool
I assume I am
however
in my other scene, it's saying I'm not the host
(this is in another scene, different script)
I wonder, if it's because I'm switching my scene with the regular SceneManagement
9 errors in Unity friend system asset
fixed
Muse is outdated on Cloud Save questions.
Is this not possible anymore, to retrieve / save data based on a unique user id?
Says SaveAsync does not have 2 arguments, what function should I look for?
Its Data.Player.SaveAsync()
https://docs.unity.com/ugs/en-us/manual/cloud-save/manual/tutorials/unity-sdk#Player_Data
Ty, I can see it now, muse is outdated
Only able to read, so I should refer to Cloud Code for saving on the server?
If you are trying to save data for another character, then yea. either use cloud code or a dedicated server
Thanks for the answers!
now that I have lobbies connected and the relay allocation
if I want to switch scene
I would have to do it with a NetworkSceneManager? to go from the lobby to the actual game
this is in another script and it always return false
do I need any other library? or making my lobby handler also a networkbehaviour?
LobbyHandler.cshttps://pastecode.io/s/far4sh4k
is use IsHost it would need to be a NetworkBehaviour
oh i guess you could use NetworkManager.Singleton.IsHost
aahh let me try that
and what about, them [ClientRpc] is never being called
I get this error
but that did work, thanks a bunch
RPCS definitely need to be in a Network Behavior and on a Spawned Network Object
yesss
this one is a networkbehaviour
it's saying this class is not present in the dictionary
System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <27124aa0e30a41659b903b822b959bc7>:0)
Unity.Netcode.NetworkBehaviour.__endSendClientRpc (Unity.Netcode.FastBufferWriter& bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ClientRpcParams clientRpcParams, Unity.Netcode.RpcDelivery rpcDelivery) (at ./Library/PackageCache/com.unity.netcode.gameobjects@1.8.1/Runtime/Core/NetworkBehaviour.cs:258)
LobbyRoomUIManager.ChangeLeaderImageClientRpc () (at Assets/Scripts/Other/LobbyRoomUIManager.cs:102)
LobbyRoomUIManager+<PerformDeckSelect>d__36.MoveNext () (at Assets/Scripts/Other/LobbyRoomUIManager.cs:93)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)```
this is how I'm calling the function
Does Cloud Save allow inheritance with different "types"?
For example I have an Item that is inherited by Weapon and Armor
If I try to save Inventory that has a list of Items that can either be Weapon or Armor, would that work?
I tried it and couldn't get it to work, but maybe I missed something
!collab 👇
ah, it gave me a different error today
I assume this is how I would spawn a network object
but now it's giving me an error on the clients 😦
how should I spawn a network object? do I have to wait until all players are connected before spawning it?
This should be moved to #archived-networking but only the server can spawn objects and only after the host/server has connected
Anybody who knows where to find a sample/tutorial that works with Unity Cloud Code, that saves a clients data on the server? I don't want it to be client sided, I've tried Muse & Chatgpt seems outdated
Hello, I was wondering, if someone offers a FREE demo of their Asset Pack on the Asset Store that only includes 1 model (licensed under standard eULA) can I use the asset in my game or do I have to buy the actual Asset Pack?
Not a UGS question. You would have to look at the license of the pack itself, it's not a universal yes or no.
Oh sorry, which channel should I use?
#💻┃unity-talk is for general questions, though the answer to yours is still the same
The main docs have a good example
https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/modules/how-to-guides/unity-services-integration#Usage_Example
Hello, I have a sign in issue with my unity id. Forgot password and help options don’t work also. Can anyone help me here from unity team?
I have created a ticket also for the issue. Still waiting :(.
This isn't an official support server, so likely not. What do you mean the help options don't work? Did you also forget the username or email you used with the account?
Hello, does UGS have a plan to let Cloud code access Cloud Saving's backup data?
what do you mean by backup data?
hii, i am using ugc(User Generated Content) wed portal and in the wed portal comes the login page it shows that no authentication providers registered but i have username and password auth setup. So does username and password auth is supported in ugc
It does not. You can use Unity Player Accounts though.
you sure about that
cause i just added it
and it does not work
the unity player accounts login works and i can upload the content but when i try to go to the wed portal its shows no auth providers
I was wrong. Check the Service Settings in the UGC cloud Dashboard. The only id providers it currently support are Apple, Facebook, and Google.
k, its fine
Hey guys, i am using unity cloud save
and i am trying to make the player to change his name (playerName)
i want to make a function that check if there is any other player with the name he is trying to change ( CheckAvailability(string name) )
Anyone know how to query in cloud save?
I have seen that is asking me for a QueryOptions but i dont know how to use it.
new QueryOptions()
yes i have tried but it does not work
PlayerName is part of Authentication. Similar to discord, it will put a 4 digit number to the end of the name
https://docs.unity.com/ugs/en-us/manual/authentication/manual/player-name-management
Clients will not be able to search all player names like that. You would need to use Cloud Code for that if you really need to
Well player name was an example, i want to be able to query in my cloud service
You'll need to actually set the Query Options. Player clients can only search the Public access class
Yes, but how can i set it? i have tried to do new QueryOptions() but it gives me badrequest
Hi, I have a question about the game-server-hosting service and WebGL.
I want to use WebGL as the client and use the game-server-hosting service to build a server. However, WebGL failed to connect to the server.
I guess it is because the server is using the wrong protocol but I cannot find a way to change it to websocket.
Where can I change it or are there other reasons for the connection failure?
In Unity Play I'm getting an error when I try to release the game. The game runs just fine in a browser. It says "Error: An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error."
We need to be able to look up historical game server logs based on some id. Like a 'battle log'. Can anyone recommend solutions? We are considering Datadog
Unity Analytics is pretty easy to use.
can that be used to get the player.log from the game server?
You can record player events.
https://docs.unity.com/ugs/en-us/manual/analytics/manual/track-events
Does Unity ads work (I can get revenue) if I upload the apk to itch.io since I am 16 and you need to be 18 to upload to google play store?
hii, i am working on ugc and for the auth for the wed portal i am trying to use firebase but how do i link the the firebase account to an unity player id cause it is need for ugc , i have added the api key and domain
is there any way to estimate the lobby/relay bandwitdh for UGS?
relay i can estimate from my own game, but lobby depends on unitys UGS sdk integration no? how can i know how often they call their rest apis lol
Lobby events are only send when things change. So a player joining or leaving. Or lobby/player data changing.
i see thanks
u cant use multiplay with webgl (you cannot have the ticket system). you can only directly connect the client using the IP and Port multiplay servers offer
so you will need to manually write the server ip and port into two strings and then do a
NetworkManager.Singleton.GetComponent<UnityTransport>().SetConnectionData(ServerIpAddress, Port);```
before starting the client
there is a multiplay API that automatically gets the Ip and port for you, which will let you not need to manually write the ip address and port. Code Monkey talks about it in a video
u will need to provide the API with the project ID in a script and some other stuff from cloud.unity.com (the multiplay section)
make sure you keep those ID's secret and never share them
you can find code monkey talking about the api here: www.youtube(.)com/watch?v=IvCVFywNXMc
You can, it just needs to also go through the Relay Service.
Thank you for your response! Now the webgl can successfully connect to the server by using the SetConnectionData().
I followed the setup guide for Analytics, but nothing is happening.
It seemed fairly easy, I was already using other UGS services in my project, so I just had to install the Package I think?
Or do I have to set up all the events myself?
There are some built-in events but it's mostly around user acquisition and retention
https://docs.unity.com/ugs/en-us/manual/analytics/manual/data-explorer-v2
I don't why, but it seems only myself in my team is able to change the remote config in UGS dashboard. All others are able to see the remote config but whenever they click edit. It goes wrong like the screenshot shows. I already added them as users and they are able to modify it from Unity Remote Config tab.
Yeah I just wanted the built in events, it looked like player count and stuff was built in?
But nothing is showing up in the dashboard, there's like a test event in the setup, it doesn't show up
Event Browser is empty, 0 events
The default Game performance dashboard, everything is at 0
I've installed the package and my project is linked to my UGS, I use it for other services like Cloud Save, which works
I'm certain at least 2-3 people played the game, but no new users or active users are getting tracked
A few pages down on some random irrelevant page it's mentioned you now need to call AnalyticsService.Instance.StartDataCollection();
I missed that, should really be added to the getting started page
Now I'm only getting invalid events because: "clientVersion": "",
not mentioned anywhere in the getting started either
Can you explain further. Do you mean the relay package from lobby and relay?
Yes. You can have the server start a relay with wss.
https://docs.unity.com/ugs/en-us/manual/relay/manual/relay-and-ngo#Note_about_WebGL_support
No wait... I thought u ment that there was way to have a dedicated multiplay server using relay
Relay servers in by itself has some problems. For example if one doesn't send a "heart beat" consistently, the relay servers close.
Plus one has to have a "player" as a host with relay. Which may allow some people to cheat their coin/position values using cheat engine
I do actually like relay though. Its awesome if one wants some (1-4) of their players to play quick matches with each other. But for managing player data (coin number, what skins the player has bought and so on). One needs a dedicated server with multiplay.
That is what I mean. The dedicated server can be the relay host. Unity Transport takes care of sending the heartbeat to the relay service.
can i login anonymous from 1 pc multiple times and be different accounts?
im trying to do some local testing, and it doesnt seem to work, i cannot join the lobby first player connects, i get 409 error
also why does a dedicated server need relay?
You need to change the authentication profile before signing in anonymously.
how is this done
To use secure web sockets with webgl clients
i see, thanks
thank you very much
mmm im doing some local lobby and relay testing... how am i able to generate this much data in a few days
is there no rate limit or anything in these apis 😶 im just testing locally with 2 clients this is way too much data i dont understand how it can be the case
it seems i was heartbeating in the update loop without any cooldown... But it seems theres no developer protection here at all :S im not sure why theres no rate limiting on the heartbeat api... i cant think of a scenario where it should be allowed to be updated more than every 5 seconds or so...
There are rate limits
https://docs.unity.com/ugs/en-us/manual/lobby/manual/rate-limits
Theres no way this rate limit worked in my case, you can see the picture above showing how many times its called… i only ever tested with 2 accounts.
And i was calling heartbeat on update and never recieved any rate limit error
I think their heart beat rate limit must be bugged if its actually supposed to br there
In 2 days of testing with 2 accounts, theres no way i can make 13 million requests if this rate limit was actually there
upon checking further, i see that there were some errors in my code, i was missing the await statement, and my refresh cooldown was set to 0, so i was calling the heartbeat api every frame and i couldnt capture the error was because the call wasnt awaited.
but now what i dont understand is, any malicious user can spam this api the same way no? Then theyll be able to attack my services and cost me money as much as they want? Isnt rate limiting supposed to overcome this issue?
Hello i am looking for someone who has implemented ads in his game i want help with it
Trust me i tried more then 10times but i couldn't
DM me if you can help ☺️
I am using Leaderboard in game server. I have the player ID for each player, how can I add these players' score on server side?
You can use Cloud Code. or the Cloud Services APIs
https://github.com/Unity-Technologies/multiplayer-community-contributions
https://docs.unity3d.com/Packages/com.unity.services.apis@0.1/manual/index.html
Hello, I have a problem, my game on IOS has changed store, when user logs back in, game id is changed, has anyone had this problem?
hello, while installing unity the whole process stopped at "validating" does anyone know how to fix it?
Hi mates!👋🏻 I posted this topic in the Unity forum as I wasted a lot of days trying to connect a Unity app to Google Play Authentication, to allow users to keep their progress in their Gmail account, it would be awesome if someone who achieved it could help me! ❤️ https://discussions.unity.com/t/google-play-user-authentication/1494406
Anyone have success implementing Code-Link to login with the same account on multiple devices?
It's buggy but I've gotten it to work in a development environment. It fails to work in production, though. I've reached out to support but curious if anyone has had success.
https://docs.unity.com/ugs/en-us/manual/authentication/manual/platform-signin-code-link
even though i login anonymously with a brand new account profile each time, when i create lobby it uses the account from the old login. Does anyone know how to fix this?
the top is the account i just logged in with, the second the is owner of the lobby after i just created a lobby(Which is the old account i was logged in with..)
and if i logout in on destroy, and login anoynmously in awake, this happens...
What are some notable games that use Unity's Relay service?
hii, am stuck on UGC wed portal
can any one help me i am trying to use firebase as the auth
but the error is coming that This email already exists without any means of sign-in. Please reset the password to recover
btw i am new to unity
the top is the account i just logged in
Does anybody have knowledge of unity leaderboards?
public async void GetScores()
{
var scoresResponse =
await LeaderboardsService.Instance.GetScoresAsync(LeaderboardId);
Debug.Log(JsonConvert.SerializeObject(scoresResponse));
var test = scoresResponse.Results;
}
How do I read name and score of the var scores Response? I know I can get Results, but that is a specified object and I dont find anything online, as noone seems to use unity leaderboards
Ah forget it, it returns an array of types and I can just call
scoresResponse.Results[0].PlayerId;
to get the playerId for example
Took me a minute
Where do I paste the code?
Do I SignInAnonymouslyAsync() and the exchange the token or smth?
ahh.. I guess this resolved my issues
AuthenticationService.Instance.UpdatePlayerNameAsync(playerName)
I have a question about IAP (in app purchase of Unity), which is about Restoring
Does anyone know if returning result (👇) is called after calling
PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
for all the products at the end?
Or it is called at first then it goes to call ProcessPurchase for the products?
// Call the restoration method implemented in OnInitialized
extensions.GetExtension<IAppleExtensions>().RestoreTransactions((result, error) =>
{
if (result)
{
// This does not mean anything was restored,
// merely that the restoration process succeeded.
// You might want to inform the user that the process succeeded.
Debug.Log("InAppPurchasingService: Restoration process succeeded.");
onRestoreSuccess?.Invoke();
}
else
{
// Restoration failed. `error` contains the failure reason.
// You might want to inform the user about the failure.
Debug.LogWarning($"InAppPurchasingService: Restoration failed: {error}");
}
});
scoresResponse.Results is a list, like List<LeaderboardEntry> leaderboardEntries
iterate over the list and each LeaderboardEntry has the playerId
public LeaderboardEntry(string playerId, string playerName, int rank, double score, string tier = default, DateTime updatedTime = default, string metadata = null) { PlayerId = playerId; PlayerName = playerName; Rank = rank; Score = score; Tier = tier; UpdatedTime = updatedTime; Metadata = metadata; }
Thanks a lot, figured that out in the meanwhile and fought myself through how I can implement all that stuff etc. Thanks a lot still!
ROCK ON.
!code
📃 Large Code Blocks
Use links to services like:
https://gdl.space/, https://paste.ofcode.org/, https://hatebin.com/, https://paste.myst.rs/, https://hastebin.com/
📃 Inline Code
Surround code with three backquotes. Not quotation marks.
To format as C#, add cs to the first line:
```cs
// Your code here
```
Add a comment with a line number if there is an error message.
After the leaderboard was working for 2 hours, I now tried to build and run, and got an http error. Now I get one aswell in the editor, whenever I start play mode. Any idea why this is?
Added a try catch, getting this
Thanks for the great help, unity suggested not working in the production environment, but that's where it exists...
uhh well
do development builds not work in browser? A normal one works now
I know this is quite specific, but has anyone have trouble downloading files from User Generated Content using the REST API web service? Specifically an auth error (not JWT token related as far as I'm aware)
Is there a way to invite friends to my multiplayer game on steam if I’m using Unity relay and lobby?
You should be able to use Steamworks to send Steam Invites
do you know of any resources/examples, I can only seem to find people who make their game using one or the other
I don't use Steamworks either. Unity has a Friend Service that I use for that.
whats the expected way to retrieve other players informations in UGS lobby?
also on an unrelated note i see you post a lot of from posts and answers in this channel, is your game published using UGS? whats it called?
i see the GetLobbyAsync function returns players with playerids, but trying to access the profile object of those players is null
this seems like a valid field, but profile always returns null
Nothing published yet. Unless you count the occasional game jam game on itch.io
I forgot lobby player has a profile field. I'm not sure how that gets populated but its sure not there by default
i ended up sending it in the data dictionary, but feel would be less data waste if i could retrieve from a default way
anything visible i can see out of curiosity
it would be a good question to ask in the upcoming multiplayer dev blitz day
And yea. I normally set the player name as a network variable
damn, we really need to update this page.
https://memphis-game-developers.itch.io/
oh cool!
Anyone familiar with Unity‘s VCS and Cloud? Did successfully upload a build and would like to push it to Testflight/App Store Connect now and I‘m not sure how.
anyone understand when to use polling lobby.GetLobbyAsync vs subscribing to lobby events? how is subcsribing to lobby events costs registered on UGS?
i dont see anything related to subbing to lobby events, but my get api requests is the most (i poll every 10 seconds) im curious if i need to change it and not poll it?
I dont know why events are not tracked in the dashboard, but you should definitely switch to them vs polling. That might be a thing to ask in the multiplayer dev blitz day in a few weeks.
I see, in what scenario is the get lobby api useful then
If you want to refresh your lobby data outside of any particular event.
Hmm i see
The getLobby API was the only choice for a long time before lobby events were implemented. You probably don't need it at all at this point.
Oh okay. Thanks! Hopefully i can find out how to track its usage in dev day
Is there a way to link custom ID Authentication to anonymous? Currently I get token string from a wrapper and send if to Cloud Code to call https://services.docs.unity.com/player-auth/v1/#tag/Player-Authentication/operation/SignInWithCustomID but then it creates a new playerId, since in order to use cloud code authentication is needed so the steps currently are
- get token from wrapper
- Sign in anonymously and call token exchange/custom sign in to get AccessToken and Session Token
- Sign out of the anonymous ID and then ProcessAuthenticationTokens to sign in with the new ID linked with custom ID.
This works but then a new throwaway ID is created for every new player. Am I missing something?
Doesn't look like there is a way to link Custom ID
I'm supposed to have my own server to process Custom ID right? Or do I just call API directly from client to circumvate this. I probably won't have enought players to make throwaway a problem though..
If they already need an account then you would probably just bypass logging in anonymously
I'm just hooking on their log in to pass to unity as identity to use UGS
oh I see, you are using cloud code to request the access tokens. Yea. normally you would send that request directly to your log in server that would return those tokens.
Yes, I can post message to get JWT token, throw that to cloud code and validate it again with their api. I don't think I can get open ID or any other integration.
Ok I got it, I need to pass context.accessToken in the accessToken requst body.
Do you know if Unity DevOps automation can be configured to only run tests? For example for a repository that contains some shared modules and unit tests but it's not supposed to be deployed anywhere?
I'm using UVS directly on Unity Cloud
Hi, devs! One question about Analytics. We're creating an App as a Service using Unity, and this is going to have different store versions for different clients. How can we handle Analytics? Is there a possibility to add a custom Tag in automatic events in order to properly identifying the events from each fork?
Uploads to Game Server Hosting are failing currently, but according to this it's all operational 🫠
https://status.unity.com/
Unity Services's status page provides information on the current status and incident history of Unity Services.
Services Status
So I'm developing a game where there are 8 playable characters that are unlockable via watching an ad. While in the editor I can unlock all the characters by watching the ads one after another but in my apk build the watch ad button doesn't work after watching one ad unless I restart the game. Is this intended behaviour to stop people from gaming the system or am I messing something up? If this is intended behaviour would there be a way to override it or at least telegraph to the user that they can't watch another rewarded ad at this time?
Nvm I solved the issue, I just had to load a rewarded ad again after the previous one finished playing
i want to use relay for my small multiplayer game but how am i not going to lose money bc i first wanted to make it f2p but that is not really smart if i need to pay for the player count i dont want to lose money ofc
The free tier covers a monthly average 50 concurrent users which is 36000 player hours. If you get popular enough to go beyond that then micro transactions should be enough to turn a profit
My UGS game won't load right now because of an issue at Unity's servers. Anyone else having this issue?
Can't access Leaderboards.
Unity Services's status page provides information on the current status and incident history of Unity Services.
Authentication also seems not to work properly at the moment 😦
They just added this to status page. This is probably my issue as I'm seeing that Friends aren't loading for my game either.
Nice.. seems to work again.
I'm loading now too. Good job Unity!
Hi folks! To followup on the issue above, we had a problem with what we call the "Player Names" service yesterday, for about an hour. https://services.docs.unity.com/player-names/v1/#tag/Player-Names
This impacted everything that uses player names, like Leaderboards, Lobby, Friends, etc for a while. It's technically it's own service on dedicated infrastructure, but falls under the umbrella of Unity Authentication (and is used under the hood in the Unity Authentication SDK).
Some of the services that depend on player names were not marked as dependancies in all the right places for Service Status purposes so it wasn't flagged appropriately on the Services Status page at first.
In addition to addressing that dependancy issue for Service Status, we are going to decouple services more where possible so that they degrade gracefully instead of failing (e.g. and display old cached names for a Leaderboard instead of failing if player names cannot be resolved for any reason).
It's a top priority for us to refactor the player names service entirely this year and make it part of the Unity Authentication stack (and to consider how it works, to see if we want to improve on the functionality). There won't be any change or service interruption while this happening, but should help avoid issues like this once it's migrated over to a new stack later this year.
Is Unity Player Accounts broken? I'd like to implement them in my game, but as I'm going through the demo, all I get is this web page when I click on the sign in button
Is anyone using lobby events? I think its bugged for local changes
i create a lobby, make a data update, and debug the version, i would think the new data version should be more than the current lobby version, but its the same??
this is how i sub to it
i dont understand :S this is unity's official game room sample. but they dont handle the out of order packets do they?
I can't seem to call SetProtectedItemAsync as I get "Unauthorized" so I figure maybe it needs AdminApiClient like in the example here: https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/modules/how-to-guides/unity-services-integration#Use_the_AdminApiClient_class but then I can't inject config.Dependencies.AddSingleton(AdminApiClient.Create()); AdminApiClient doesn't exist?
does anyone did subway surfers on unity?
Is there a video tutorial on how to utilize cloud code in C#? I keep seeing cloud save tutorials, but not as much in cloud code and the cloud code on UGS only generates javascipt.
The main docs are actually really good. But if you want a working example then check out the Chess Sample
Economy is still down. Second major outage in three days. My UGS game just launched this week. Is this a common occurrence?
Unity Services's status page provides information on the current status and incident history of Unity Services.
No issues with Player Accounts! I've seen the issue but not sure how to replicate it; if you are doing local testing of signing up in a browser you can end up in a state where the web sign in breaks and you keep getting this message.
I think you may need to clear cookies (possibly local storage) in the browser to get it working again. I think even closing the browser works (e.g. it's just a session cookie that is not persisted) but not 100% sure on that; it could also be a timing thing and whatever is triggering the bug just expires.
I suspect deleting an account and/or signing out can be a trigger for getting into this state, but 99% of operations are just signing in so almost never happens outside of testing/development. I'll log a bug and see if we can replicate it work out what the causes it; if we can't replicate it, we can still review the logic and clear out the browser state better (and/or improve the logic here that leads to this error message).
We did produce a Getting Started video for Cloud Code C# that's embedded in our documentation. I'm also happy to take feedback on where our documentation could be improved and we will look at making more videos if people find them helpful.
Anyone using Unity push notification service? I don't know why, but string pushToken = await PushNotificationsService.Instance.RegisterForPushNotificationsAsync() never returns on my Android device, just wait forever. I have Analytics enabled and double checked the notification setting should be all good
Anyone using Unity push notification
Hey guys,
It seems WebGL has an issue with Analytics?
1cf8fdb9-f59f-4d81-92c2-6c976b86e200:10 ServicesInitializationException: The Analytics service has not been initialized. Please initialize Unity Services.
at Unity.Services.Analytics.AnalyticsService.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
Does anyone know how to get around this? 🙂
Hey guys,
Hello, I need some help. If i connect the player to the Unity Cloud, for how long does the sesion stay active / how can i keep teh connection alive? Is a heartbeat request the best oprion?
Oh and was there an update that added an Public Acess Class possibly even with an option to only let certain players read the information
If you mean cloud code then those are not persistent connections by design. If you need a connection to stay active, you would need either a dedicated server or relay service.
Yep you can read about Cloud Save Access Classes on the Player Data and Game Data docs https://docs.unity.com/ugs/en-us/manual/cloud-save/manual/concepts/player-data#Access_Classes
We've just added a Dashboard interface for Create Cloud Code Triggers!
You can read more about this update and how you can make use of Triggers in your game on Discussions https://discussions.unity.com/t/new-dashboard-interface-for-cloud-code-triggers/1503880 as always we look forward to your feedback.
Hello everyone
We are happy to announce the official release of the new Cloud Services Apis package (1.0.1)!
This API package provides low-level access to our public apis to enable advanced use cases.
Here’s a video explaining the purpose of the package:
https://drive.google.com/file/d/1aZY36WzgXk9ePOuhwp8Q4VJUMP4pmcCf/view
The package documentation can be found here: https://docs.unity.com/ugs/en-us/manual/overview/manual/cloud-services-api
This package is available in the package manager.
Examples of capabilities that this enables:
- Access to Admin Apis
- Build custom editor tooling
- Run operations with server authority
- Extend Game Client functionality
The package also comes with many editor samples and tutorials to showcase the type of tools you can build.
They are available through the “Services/API Samples” menu item.
We are looking forward to your feedback.
Is it possible to use a custom spatializer with Vivox voice chat?
Hi, I'm getting started with Cloud Code and following the guide but Cloud Code C# Module Reference don't seem to be in the list of create
I can only see Deployment Definition
Do you mean from the Deployment Window in the editor?
Just realized, it's actually under services.
Thanks tho.
Heyo, is there any way to integrate Discord auth with UGS Player Authentication?
Discord doesn't support Openid connect natively. There might be workarounds with openid providers allowing sign-in with Discord.
I did something similar, I used an Authentication Provider which wasn't supported by UGS, so I did my own Authentication code and then used the Authentication by Custom ID service https://docs.unity.com/ugs/en-us/manual/authentication/manual/platform-signin-custom-id to sign the users in.
sup gang
so in here, the
if (IsOwner) return;```
means if it's the Host, or it means if it's the person casting it?
since it's calling the serverrpc first
which, it's required it looks like 👀 to call the serverrpc first
It means the owner of this object. You might have ment to post this in #archived-networking instead of of the UGS channel
Hello all, how many accounts can a project contain?
If you mean player accounts, I don't believe there is a limit.
Hey, is there a way how i can let two diffrent Unity Projects access the same cloud Save, because i have on Pc Version and one Mobile Version
You can link them to the same project Id
When signing new users up with username/password (using Unity Auth), how do I check if the username already exists? I don't see a way to do this looking through the SDK docs. Also what is the best way to decline unwanted usernames (slurs, profanity, etc)?
I believe all you can do is call SignUpWithUsernamePasswordAsync() and wait for the error.
As for filtering you would have to Cloud Code for that
Is there a service outage?
my team is all getting https://services.api.unity.com/auth/v1/token-exchange returning 503 with no healthy upstream
https://status.unity.com/ does show a major incident but oddly its showing under the devops/build automation backend which we don't use. Think the issue is bigger than just build automation
Unity Services's status page provides information on the current status and incident history of Unity Services.
ok now the page is reporting properly: https://status.unity.com/incidents/224411
[Investigating] The public APIs are currently down. The team is looking into it and we will update you as soon as it is recovered.
Anyone happen to have a mobile game in production that uses Unity Ads? I want to see examples of the Unity End Cards. I'll grab your game and watch a million ads. Everyone wins.
does anyone know why my editor in unity hub keeps failing to download
Hello! What does MAU mean?
Monthly active users
Thanks
I am not even sure if this is specific to Unity Analytcis, or just a general C# programming question.
If I want to Record a very simple event with just 1 string parameter (example: CharacterSelected = Timothy), is there a shorthand expression I could use instead of first creating a whole new CharacterSelected event class, instantiating it, and then passing that into the record event?
This is the way the documentation suggests -
public class MyEvent : Unity.Services.Analytics.Event
{
public MyEvent() : base("myEvent")
{
}
public string FabulousString { set { SetParameter("fabulousString", value); } }
public int SparklingInt { set { SetParameter("sparklingInt", value); } }
public float SpectacularFloat { set { SetParameter("spectacularFloat", value); } }
public bool PeculiarBool { set { SetParameter("peculiarBool", value); } }
}
MyEvent myEvent = new MyEvent
{
FabulousString = "hello there",
SparklingInt = 1337,
SpectacularFloat = 0.451f,
PeculiarBool = true
};
AnalyticsService.Instance.RecordEvent(myEvent);
But feels like an overkill if I am simply passing a single string or int variable.
Hey, i have a question, is there like a simple way, to check if a player is still connected to the server?
If you are using NGO then you would use NetworkManager.IsConnectedClient
Perfect, thank you so much!!!
Hello, I have a question (Hope this is the right channel for this). I managed to set up Cloud Save for my game and now the player names and scores are being stored in the Unity Cloud. Now I would like to display a ranking in my website to highlight the best players, how would you guys do this? Thanks!!
(attached a small print of how info is being stored)
You would use the Leaderboard service for that
thanks, I will check that out (cool avatar)
Is there any way to manually unsubscribe from push message?
I want to return to log in again after
AuthenticationService.Instance.SignOut();
AuthenticationService.Instance.ClearSessionToken();
when going through message subscription again, I get error:
AlreadySubscribedException: Already subscribed to $cloud-code!!!
Unity.Services.Wire.Internal.Client.SubscribeAsync (Unity.Services.Wire.Internal.Subscription subscription) (at ./Library/PackageCache/com.unity.services.wire@1.2.3/Runtime/Centrifuge/Client.cs:575)
How do we usually handle lobby disconnection? I use lobby without relay on mobile platforms. When the host pause the application, it stops sending the heartbeat. When the app resumes, the lobby seems no longer available and no callback received. I am using the LobbyEventCallbacks for lobby messaging. Should I do a poll to fetch periodically as well?
Can somebody help me to figure out how to use authentication in cloud code to update username?
If the host disconnects, then a new lobby host will be chosen. That new host will have to start sending heartbeats to keep the lobby alive. A lobby event should fire for the other players when the host leaves and a then when a new host is picked.
Are you using JS scripts or C# modules? Player names is its own API separate from authentication
Guys m trying to code datamamager for my game, but i need authorization manager for it, all the tutorials using anonymous logins, but i need email and password based , can anyone please suggest a tutorial that is for signupusingemailandpasswordasync?
It's username and password
https://docs.unity.com/ugs/en-us/manual/authentication/manual/platform-signin-username-password
{
string username = usernameInput.text;
string password = passwordInput.text;
try
{
await AuthenticationService.Instance.SignUpAsync(username, password);
statusText.text = "Registration successful!";
}
catch (System.Exception ex)
{
statusText.text = $"Registration failed: {ex.Message}";
}
}```
gotta use SignInWithUsernamePasswordAsync instead SignUpAsync?
SignUpAsync is not part of AuthenticationService.
oh phuk xD
Hi! @rich dome just gave me a great tip. Does anyone know ow to get a leaderboard set up with Unity?
@warm badge I've implemented it and it's working well with email/pass now
but when I go to Unity Cloud and players' details I still have to search data using those long IDs (i.e. 2RhXDHtnTdeIWkz1Wcezw3ygN08o), is there any way that I can search users with emails? Or is there no way other than those long IDs to search for a specific user?
In the dashboard that is the only way currently. You can use the Cloud Service API package to make some editor tools to make that a bit easier
https://docs.unity3d.com/Packages/com.unity.services.apis@1.0/manual/index.html

Hi there!
Yeah there isn't an a search or lookup function in Player Management UI (or Admin APIs) just now, but we are really keen to address that for all the different types of Authentication.
I appreciate there are also some other more obvious things missing form the Dashboard view right now too, like names / usernames / email, etc (some of which are supported in the Admin API).
We are doing some related work right now and expect to look at that over the next few months.
In related news, in response to a query here a while back - sorry I forget who asked about it - the Player Management view in the Dashboard now shows if an account is linked via Username / Password (see screenshot).
There is lots more we can do to improve this view - including searching / looking up info in it - and we are doing work to support that on the backend and to improve Unity Player Authentication, while also finding time to do smaller quality of life improvements like this.
Always very happy to take feature requests around Authentication / Player Accounts / Player Management!
I think i'll for now use the IDs now and share the IDs in player profiles so they can track their accounts by sharing with support , that way I think I can search player data
Note: "Unity Player Accounts" web based sign in supports Email & Password (which is separate to Username & Password, but developers often frame Username & Password as Email & Password in their apps, which is fine!).
We are currently exploring the implications of exposing email addresses from Email & Password to developers (in discussion with legal to see if the terms and conditions permit that).
One pattern we see is people using is using Cloud Save to store player email addresses, because it's easier for developers to view (and can make searchable by making the field Indexed in Cloud Save - although their is no Dashboard UI for actually searching at the moment).
I'll keep folks in the loop here with regard to our plans to improve this functionality, thanks for asking about it - developers asking for features like this really helps with prioritisation.
love to have more updates from unity cloud, as its one stop shop for all my needs 
I'm using JS
you can use google auth or other auth...
does anyone here know how to share your project to your friends so they can build with you because hes in my orginization and i asssigned a seat to him but for some reason the project still isnt in his unity hub
You need to add them to the devops organization as well.
Having an issue. My project simply will not load in the Unity Version Control window. I tested and I can access it via the web browser in DevOps, but it won't show up in the 'Add UVCS repository' window. Tried refreshing the repository, logging off then on, rebooting the PC, nothing. Project is fine when I access it from my other PC. Both systems have the same version of the Hub (and Unity) installed.
Running Hub 3.8.0, Unity 2022.3.45f1. Using the same user account on both machines. Any help appreciated
Hey! We have created a Getting Started With Triggers video (https://www.youtube.com/watch?v=eTnxB3OczOY) which walks you through creating a trigger using the Unity Dashboard and explains a common use case of issuing a quest to a player when they reach a certain threshold of points or experience.
To learn more about Triggers you can read our Triggers Documentation: https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/triggers.
As always we are happy to take feedback!
Hi 👋
I was wondering what sort of security there is around the Player Data using Cloud Save. What does prevent a player to start saving data on their own once they have been authenticated? A malicious actor could just call
public async void SaveData()
{
var data = new Dictionary<string, object>{{"keyName", "value"}};
await CloudSaveService.Instance.Data.Player.SaveAsync(data);
}
and save anything to Cloud Save by hacking the game and adding a class to the source code. What can be done against it? I was looking for options to restrict the access to Cloud Save but haven't found any for the client and player data.
You would use Access Controls to restrict the client from saving data on its own. Then only the server could save player data
Brilliant thanks
is there a way to simulate no network connection for testing my app (other than turning off my computer’s network access)? I need to develop the scenarios where a user wants to play but doesnt have a network connection
^ this is posted here because I am using unity’s anonymous auth and username/password auth
You can use the Network Simulator. If you are using the Relay Service, you will need to Switch Profiles when testing on the same PC
exactly what I’m looking for. Thank you!
I was wondering what sort of security
Does anyone succesfully integrated Unity Push Notification into a iOS game?
We do receive Push on Android, but nothing on iOS...
"Notification failed to send. Please double-check your key configuration and the device token and try again." on Unity Cloud...
Thanks
Hello! I added a leaderboard to my project and now its correctly adding the scores but I cant manage to set up the API to get the scores (I am getting Invalid Authorization header). I wonder if this roles for the service account are OK or if I am missing something
(I am using the API to include the leaderboard on my website)
Are you using the client or admin rest API?
I am using the client rest API (I dont have much experience with APIs, I am learning now)
For a website you should be using the admin API. The client API requires a bearer token
Ok! wil try that, thanks
now it works, thanks a lot!
Hello, how do i check which team each player are in when the client are connected to the server? My unity matchmaker has 2 teams and it should auto assign the player into team right?
Match Properties from the matchmaking results has the list teams
Should i use rpc to get the matchmaking result because it is on the server side
That is one way. You could also have ther server set a network variable. Either a list for each team on a game manager object or a team id on the player object
I'm trying to restrict access to cloud code and cloud save data using Access Controls. All the player data is stored as Public. I've given Read only access to players to access Player Data using Access Controls, but if I try to use a Query from the client I receive a Forbidden error. Giving Write access seems to allow the Query, but that obviously undermines my main objective of locking down the data. Can anyone give me any pointers?
Sounds like a bug if Queries require write access.
Is it alright to ask questions about the Unity Ads API here?
how do you store it as a network variable, it says that i cannot convert System.Collections.Generic to a netcode.networkvariable?
you should really learn the basics of c# before attempting anything networking related... being able to differentiate between types is one of the most basic things you need to know
Is unity PlayerAccountService returning different access token even with the same login account normal? How do I meant to identify player then if the ID and access token keep changing between session?
step to reproduce.
- Sign in with Unity Account
- Exit play mode, then Enter play mode
- Sign in anonymously
- Sign out
- Sign in with Unity account.
Okay after some mucking around. It seems after I have logged in with PlayerAccountService, I'll need to use the access token from that result to sign in again with the AuthenticationService.
The team is just a list of Player IDs which are strings.so you could either have a NetworkList<FixedString32Bytes> RedTeam on a game manager or you can have NetworkVariable<int> TeamID on each player object. Both of these would be set by the server when it gets the match properties
I'm stuck on this. Has someone solved this? Thanks in advance!
Is there a way to customize the web UI of Unity player account sign in page?
At the moment I don't think so. I want to say that was on the roadmap. A white lable service is something Ive seen discussed. But no clue if or when that will happen
thanks for the info.
Hi @tacit nebula , there is a discussion thread with a similar issue with a solution that worked for another user that may be helpful https://discussions.unity.com/t/push-notification-test-send-failed-ios/927162. Let me know how that goes
Thanks for your reply, @novel cargo, but it seems they didn't solve the issue at all. Not sure how to proceed... 😦
Thanks for your reply, @Richard (Unity
I accidentally cancelled my dev ops subscription. Can I buy it again? Currently I cannot as in the payment page it says that the organisation already has this product.
Is there a way to make the lobby remove the player if the player alt f4? It seems like it take a while before it can request to the service to remove that player.
You can change the lobby player timeout. I think it's 2 minutes by default to allow players to rejoin if needed.
Unity Authentication:
When sign in anonymously. If the client clear the cached token, calling sign in anonymous will create another guest account. What happen to the old account? Won't it become stale data that taking up space unnecessary on the cloud?
I imagine this scenario could happen a lot when player download the game to try out, sign in as guest, then delete the game because they didn't like it.
Do we need to routinely manage the cleanup ourself? eg, perform clean up of guest account that have not been active for at least 3 month etc.
Unless they link it with another id providers then it will become an orphan account. There are no limits to the number of accounts that can be created so you don't really need to do anything. It's just a bit messy.
hello, any one know about Advertisement legacy package in unity? Im working with it and I followed the steps on the instalation guide but in the editor all the interstitial, banner, rewardedAdbutton works perfectly well but when build and export to my android device there is not banner nor ads nothing even on test mode, I notice something kinda sus in the package and in the pluggins section wich is this:
this package came only with iOS plugins is this the main reason why ads are not loading on my phone? because on LogCat on androidStudio I see the debu.Log() wich says not loaded Ad
here is the LogCat
Hello, I have set up Cloud Content Delivery for my Android app. However, it currently only works partially.
I would like to be able to upload and change new scenes.
My current process:
- upload a new version to Google Play
- create a new scene in Unity
- add to the addressable group
- build assets
- upload to Unity Dashboard
- clear Android Device Cashe
- Load Assets and open Scene
→ UnityEngine.AddressableAssets.InvalidKeyException - upload new version to Google Play
- load assets and open scene
→ It works
public void LoadScene()
{
m_SceneHandle = Addressables.DownloadDependenciesAsync(inputField.text, true);
m_SceneHandle.Completed += OnSceneLoaded;
}
private void OnSceneLoaded(AsyncOperationHandle obj)
{
if(obj.Status == AsyncOperationStatus.Succeeded)
{
Addressables.LoadSceneAsync(inputField.text, UnityEngine.SceneManagement.LoadSceneMode.Single, true);
}
}
If I update an existing scene, it works without uploading a Google update.
Is it not possible to upload new scenes via Cloud Content Delivery?
Hello, I have set up Cloud Content
I've had some money sitting in my monetization dashboard. when I go to finances, my total revenue has gone down severely. does Unity take a cut of it when you don't pay it out?
I was hosting a server on multiplay which is using Mirror's simple web transport. While hosting do i need to specify the WS transport is being used? Because i read somewhere that UDP is the default.
Curious if anyone here knows the answer to this question. I integrated Unity LevelPlay/ironSource into my app. Ads were working fine in TestFlight on both iOS and Android. As soon as I released my app to google play & app store I set them to Live in the ironSource portal and then suddenly ads would no longer be available in my app. Is there some kind of setup period after setting the apps to live in ironSource? Any other ideas?
Does anyone know how to set up Unity Player Accounts? Been at this for a long time and still am stumped.
All I need it to do is authenticate the player, and if auth'd successfully, load the next scene.
Couldn't figure it out
hangon, i'll try to re-write it, see if reworking the auth script with specific statements works
I am using Unity account login. Is there a way to check if current user has already bind to a unity account after signing in anonymously to resume previous login?
Hello, is it possible to use the UGS package on unity 2021.3 LTS ? I don't see it in the package manager
GetPlayerInfoAsync() will return any linked identities
Do you mean the Cloud Services API ? You should be able to install that by name
I mean the required package to integrate and use UGS (auth, leaderboard, etc)
those are all separate packages in the package manager
Yes but in unity 2021.3 they don't appear in the package list (unity registry), hence my compatibility question
You should be able to add them by name if they are not showing up
Hello! I wanted to post a question: I'm making a website and I want users to be able to use their accounts from the website to login to my game. Is it possible to do that?
If your website uses Open ID
i dont think my website uses open ID
its developed with Wordpress and uses buddypress
I'm no web dev but there seem to be a few Oauth plugins for Wordpress
I think it'd depend on how the accounts are stored, no?
🤔 ah yes, i see
Does unity multiplay (hosting service ) setup a reverse proxy infront of the server? or do i need to include it in my server build?
Yea, since servers are spun up dynamically, the service handles the proxy for you.
Oh, I was trying to connect to a hosted server which has wss enabled ( using mirror's simple web transport) from a local client but I am unable to connect to it. locally it is working as expected.
Any idea why this might be happening? I though the reverse proxy or SSL certificates were missing.
Yea. Wss requires the certificates to be installed which you can't do from Multiplay hosting. The devs recommend using the Relay Service which has built in support for wss. So you would have your server start a Relay that the webgl client can join
Ohk, does relay help me communicate with dedicated server also?
Correct me if I'm wrong but do remember seeing in docs that relay is for P2P.
Yea. Relay is primarily meant for P2P but there is nothing stopping a dedicated server from also using it. This is the reply from the Unity Devs
I was looking into this but I have few issues, I was using mirror network manager that required a reference of the transport that is being used and relay works with UTP or unity transport, which I am unable to reference in the network manager.
The sample project provided in the doc uses relay network manager, which seemed quite different from the mirror network manager.
You mean this sample? https://docs.unity.com/ugs/en-us/manual/relay/manual/mirror
As far as I know you should still be able to use relay with Mirror. Dunno how how of date that sample might be though
Yes that one.
Ohk thanks a lot man for all the info! 🫡
hello guys, I would like to know
how to setup with Unity Authentication using google, that works for mobile and pc
right now this is all I use, but I would like to use Google instead
using UnityEngine;
using Unity.Services.Core;
using Unity.Services.Authentication;
using System.Threading.Tasks;
public class AuthenticationManager : MonoBehaviour
{
async void Start()
{
await UnityServices.InitializeAsync();
}
public async void SignInAnon()
{
await SignInAnonymous();
}
async Task SignInAnonymous()
{
try
{
await AuthenticationService.Instance.SignInAnonymouslyAsync();
}
catch (System.Exception ex)
{
Debug.LogException(ex);
}
}
}```
plz tag me if there's any resource I can use~
and also I would like to know how to do If (Player is not authenticated) do such
I assume it would be csharp public bool IsPlayerLoggedIn() { return AuthenticationService.Instance.IsSignedIn; } just want to make sure this is correct
thanks in advance c: ❤️
Does Unity authentication support WebGL? My game (http://cyberimposterweb.z5.web.core.windows.net/) is getting MethodAccessException: Attempt to access method 'Unity.Services.Authentication.PlayerAccounts.IBrowserUtils.Bind' on type '' failed. (when clicking sign in) , I guess it has to do with calling PlayerAccountService.Instance.StartSignInAsync() . The authentication website doesn't popup at all
Hey!
I didnt forget you. This feature is now shipped with the latest package of the "com.unity.services.multiplayer" package (Unity 6). Best way is to create a new file, the template has "excludePaths" property included.
This package combines lobby, matchmaker and multiplay (hosting) in a single package.
Additionally, we also added "Deployment" (config-as-code) support for matchmaker, and a whole new api making it easier to work with all of the services combined. @dense cipher can give more details on the latter.
Cheers!
is unity karting game download working?
has anyone worked with unity cloud code? theres not much documentation about it other than just some snippets, I wanna ask if this is something that we can connect with out game scripts or they can work standalone too?
There is a rest API if that's what you mean
https://services.docs.unity.com/cloud-code/v1/
I mean what its used for?
I mean I am working on a game that's whole data is stored on unity cloud, but the operations are handled in scripts, and then data is updated on unity cloud, now I want security like , either I handle operations on cloud scripts n save data there ? So my game wont be able to get hacked or something for cheating,
If its what its being used for 🤔
Yea. You can use cloud code to save to cloud save. What you want is called serverless architecture. Check out the chess sample.
https://github.com/Unity-Technologies/com.unity.services.samples.multiplayer-chess-cloud-code
Contribute to Unity-Technologies/com.unity.services.samples.multiplayer-chess-cloud-code development by creating an account on GitHub.
Do you guys know if I can buy Unity Pro for only 1 month at a time ?
I cant handle to buy a whole year even on a monthly basis
No, it's annual
I thought you could pay monthly, it was just more expensive. I guess they might have removed that option with the recent license changes
It's been annual even before the recent changes
But we could pay monthly one or two years ago, no ?
Thanks for reply though
As far as I know it was a "monthly" in that it was 12 month committments. If it was anything else, it would have been long ago. Either way, as of right now, there is only annual.
I was using WSS as the transport to connect to my server and client.
I am hosting my server on multiplay. Does multiplay install SSL/TLS certificate on my server? If not then can i do it myself so that the server will use it?
Multiplay needs to use the Relay service to use WSS
this isnt exactly ugs related but im trying to set up steamworks.net and following the guide at https://docs.unity.com/ugs/manual/authentication/manual/platform-signin-steam i am not getting the callback to run. this is what ive done
private async void Init()
{
Debug.Log("Connecting to Unity Services...");
await UnityServices.InitializeAsync();
Debug.Log("Unity Services connected!");
if (SteamManager.Initialized)
{
Debug.Log("Creating steam callback");
_authCallback = Callback<GetTicketForWebApiResponse_t>.Create(OnAuthCallback);
Debug.Log("Callback created");
}
}
private void OnAuthCallback(GetTicketForWebApiResponse_t callback)
{
Debug.Log("Running callback");
_authCallback.Dispose();
_authCallback = null;
SteamUser.GetAuthTicketForWebApi(STEAM_IDENTITY);
var ticket = BitConverter.ToString(callback.m_rgubTicket).Replace("-", string.Empty);
the "Running callback" log doesnt even show
oh i figured it out. the callback doesnt actually run the command
[Solved] I've been integrating unity levelplay and noticed on iOS that after a while the app continues running in the background. I guess I can always pause the game with a manual tap to continue but hoping that it wouldn't be necessary... Has anyone bumped into this?
Solution:
There is a call you can make to set this behaviour with Iron Source / Levelplay
IronSource.Agent.SetPauseGame(true);
/// <summary>
/// When setting your PauseGame status to true, all your Unity 3D game activities will be paused (Except the ad callbacks).
/// The game activity will be resumed automatically when the ad is closed.
/// You should call the setPauseGame once in your session, before or after initializing the ironSource SDK,
/// as it affects all ads (Rewarded Video and Interstitial ads) in the session.
Hope that is useful if someone searches this thread! 🙂
If I upgrade the plan of the devops, can people that are in team exceed the free limit without me noticing and charging me for that, or I can set a limit, so it automatically blocks the way of exceeding?
There are budget alerts but I don't know if you can set those for dev ops
You can get pretty granular with user security settings as well
https://docs.unity.com/ugs/en-us/manual/devops/manual/security-scenarios
Still no clan samples? I guess I have to do my own clan system using unity cloud save/cloud code. https://discussions.unity.com/t/how-to-use-cloud-save-to-create-player-guilds-clans/945125
I believe that is the idea. Custom Cloud Save items with lists of Player IDs would be used for Guilds/Clans. The Friends service can be leveraged as well.
in push messages sent from cloud code is there a way to know if a message wasnt received?
Nothing built in that I know of. They won't see it until the next time they log in. You would have to set up some kind of acknowledgement event through cloud code/save on the receiving end
ive got a service account and get forbidden status code when trying to create a server allocation through the api. i checked my project roles and i dont have any of the roles to choose from that are listed here https://docs.unity.com/ugs/en-us/manual/game-server-hosting/manual/concepts/authentication-roles
looks like its named Game Server Hosting Allocations Admin and ive got the role added but still get 403
Are you using the Rest API or Cloud Code?
cloud code
well both give the same result
oh i mean im using the rest api through cloud code
tried adding all roles and still no luck
Are you doing a test allocation ?
Are you adding the bearer token to the request header?
yup im getting 403 not 401
Do any of the get requests work?
yea
everything is works fine
everything else*
test allocation works
but not normal allocation
any unity staff can help out with this one? seems like none of the permissions in Game Server Hosting Allocation Admin work. ive tried everything and nothing requiring multiplay.allocations.* is authorized
Game Server Hosting API Editor enables multiplay.test_allocations.* but they dont accept payloads
I am using Unity analytics to log my game settings. For the Fullscreen (boolean) value, I see data being logged as 0 or 1.
But trying to run a query against it throws an error message
Cannot cast value of type FIXED[SB1](38,0){nullable} to BOOLEAN[SB1](38,0){nullable}, column EVENT_JSON:DGGameIsFullScreen
I am getting the following error while hosting the my dedicated server with WSS enabled on edgegap : https://justpaste.it/d6m9x
I am also using UGS lobby service and most probably the problem is related to authentication but i am unable to figure out what need to be fixed. I have intialized Unity server and signed in anonymously. Any help would be really appreciated 🫡 .
i figured it out. unfortunately the docs dont mention that you need to create the token with the proper scopes
huh, good to know. i thought context came with the access token in cloud code
i didnt even think of that lol but according to this the service token generated in cloud code is not supported https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/modules/how-to-guides/token-support#Supported_services_1
now my issue of the day is CloudCodeService.Instance.SubscribeToPlayerMessagesAsync
this is giving me a 403 and im not sure why
on client
player is signed in so idk whats happening
Hello,
I am making a game with custom player levels. Every level should have its own leaderboard. Can I create a leaderboard in the game's code using UGS?
something like https://partner.steamgames.com/doc/api/ISteamUserStats#FindOrCreateLeaderboard
If the player is submitting the score for the first time, I want the leaderboard to be created, so I do not need to go to backend to create it.
I am creating a leaderboard via Web API, and I have service account with Leaderboards Admin. I also get 403 all the time. Tried multiple accounts with different keys, no success.
maybe its something on their end?
You need to create the access token like uzeeyo mentioned above. I would use cloud code for this as the access token is already supplied for you there.
i just checked for you and the problem i had was scopes. make sure when you request your stateless token you include this in the body
{
"scopes": [
"live_ops.leaderboards.configurations.create"
]
}
@jade timber
i didnt test it but docs say if you dont add a scopes param you get all scopes
hmm ok I'll try that
Hi Jun did you ever get an answer on this? I am going through a similar dilemma myself.
has anyone used cloud code push messages? i still cant connect
i found my problem
it was in my cloud code access control file
i had to allow "urn:ugs:cloud-code:*" to access control
Hi all, trying to use Unity matchmaker paired with Relay and Netcode for GameObjects for local testing of my client-server project, however once the matchmaker completes and has found my Relay game, I'm given no information about how to actually join to that game, all I have is a match ID. How do I then connect to the relay server?
You should be able to get the connection info from Matchmaking Results
Hey sorry to bother, if you get time can you clarify if the Unity Version Control solution Storage resets in real time or at the end of the month? I deleted a bunch of old repos to clear space for a new project and i noticed my storage amount is at 4.71gb out of 5. I was expected it to be at 1gb. Will it go down at the end of the month?
Judging from ur message, thats what it sounds like. I just wanna make sure its still like that. The documentation is confusing
We measure the storage based on the amount of GBs stored per hour, so it works more like "real time" but with an hour delay. Because it's measured by GB-hours the value always increases over time, but then it resets to zero at the start of each calendar month.
(E.g. if you have 1 GB stored for 2 hours that would be 2 GB-hours. Or if you had 4.7GB stored for 2 hours it would be 9.4 GB-hours)
Okay so if my current storage used is 4.7gb (I just deleted my old projects that took up a bunch of space today), then my storage used should go down at the end of the month?
Hi all, I'm trying to use Multiplay and Matchmaker to connect my WebGL clients with a Linux server through Netcode for GameObjects, however when uploading the build to external hosts such as Itch.io I had an error that needed the transport to be encrypted, after implementing this encryption multiplay is now just sending the common server name to the clients meaning they cannot join the server (as it needs the ip of the multiplay server). Is there a way to fix this or bypass the need for the encryption?
To use Multiplay with webgl, youll need to use the Relay service with "wss". You can matchmake into Relay now but I'm not entirely sure you that works when spinning up a new server is needed
Right, Multiplay spinning up the new server is a pretty big one since we are trying to stick to Unity services
I guess I could upload the relay join code to the Supabase database with a match id and have the client grab that when the match is found
Can someone help please? I am not able to read my boolean parameter from the logs.
You could use Cloud Save for this instead. Use the match id as a custom item and save the relay code under it. Normally with relay you would also start a lobby that the clients can use to search for a match.
could do, but I do already have Supabase set up so it might be more convenient in this case
Hi all, I'm trying to get a list of all playerIDs that have saved data via cloud save
It seems like I should be able to do it via "Query Player Data" is that right? Or is there a simpler way?
As long as it's Public player data, that would be the easiest way. If this is for admin tools, then check out the Services API package
https://docs.unity3d.com/Packages/com.unity.services.apis@1.1/manual/index.html
I've set up relay usage within both my client and server, matchmaking just creates the server now. Issue is, client's cant connect to the server via relay, could this be because Multiplay limits the port usage? Can I set relay to use the multiplay port?
No, you can't set the Relay port. But Relay does work with Multiplay so I'm not sure what that issue could be
right
that's what I'm getting on the client, the Relay analytics on Unity cloud show that one session is indeed active and there's no error on the server
Alright, this actually works on the WebGL build, I wonder if it's an issue with the unity editor being set to WebGL
update: it works. . sometimes? sometimes it will connect and sometimes it just doesnt
Anyone got any ideas how to fix this issue?
I've messed with some packages, restarted the editor a couple times, refreshed the Library folder, and somehow something has fixed this error.
Hey sorry for the radio silence. I wanted to double-check with the plastic team about my assumptions.
It turns out that we do a soft delete right away, and then we will keep the data for 7 days (you can un-delete during these days in case a mistake was made) and after 7 days the system will do a hard delete and the total will update.
After the 7 days the data will be non-recoverable and fully deleted.
Thank you so much
I really appreciate it! You are awesome. If you can, please figure out a spot to state this in the documentation. I checked everywhere for this answer and couldn’t find it. Anyway, have a good day
is anyone else having trouble editing websocket integrations?
whenever i try it just kinda stays loading and seems to send the browser a 502 ...
in games when there is halloween mode, then you dont need to even update the game and you will see those pumpkins there. that is done in unity through addressables and Cloud content delivery. but how can a game detect that newer addressables are available to download and update?
There is an addressables catalogue that you can check
https://docs.unity3d.com/Packages/com.unity.addressables@2.3/manual/content-update-builds-check.html
does anyone know where I can find information on test dates for the unity user programmer certification?
using the unity iap atm, but im having trouble with initialization, no matter what it always returns "NoProductsAvailable"
in code im defining the products and i have it defined in the google play console as well (same id), but no luck
Is this good? ```using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.ResourceManagement.ResourceLocations;
public class AddressablesUpdater : MonoBehaviour
{
void Start()
{
// Start checking for updates
StartCoroutine(CheckAndUpdateOnce());
}
private IEnumerator CheckAndUpdateOnce()
{
// Check for catalog updates
AsyncOperationHandle<List<string>> checkHandle = Addressables.CheckForCatalogUpdates();
yield return checkHandle;
if (checkHandle.Status == AsyncOperationStatus.Succeeded)
{
List<string> catalogsToUpdate = checkHandle.Result;
if (catalogsToUpdate != null && catalogsToUpdate.Count > 0)
{
Debug.Log("Updates available for Addressables content. Updating now...");
// Update the catalogs
AsyncOperationHandle<List<IResourceLocator>> updateHandle = Addressables.UpdateCatalogs(catalogsToUpdate, autoReleaseHandle: true);
yield return updateHandle;
if (updateHandle.Status == AsyncOperationStatus.Succeeded)
{
Debug.Log("Addressables content successfully updated.");
}
else
{
Debug.LogError("Failed to update Addressables content.");
}
}
else
{
Debug.Log("No updates available for Addressables content.");
}
}
else
{
Debug.LogError("Failed to check for Addressables updates.");
}
Addressables.Release(checkHandle);
}
}```
Seems like that should work. I normally use Tasks instead of coroutines but if it works, it works
Oh, yeah, tasks would be better in this case probably
Thx
I will try it
Hi all, Can someone help me with visual studio not showing me suggestions for unity while I write code?
go to unity's package manager and install visual studio editor
not all the time tho, some times it does.. some times it does not
@bronze heron It worked, Thank you
Hi all, I still need some help trying to get all cloud save keys for all players
Query doesn't seem to be the right solution for me as it seems to require providing specific keys to query which, given the the structure we're using, we can't do
Cloud code sounds like a solution but I'm struggling to make sense of it. Like this example's description sounds right, but I don't even know what this code is
https://discussions.unity.com/t/how-to-read-data-from-all-users/919188/2
Can anyone help break this down into a few steps? eg in Cloud Code: get all playerIDs, get all keys for all players
That is a powershell script calling the rest API. You can do something similar with cloud services apis package
https://docs.unity3d.com/Packages/com.unity.services.apis@1.1/manual/index.html
Though this is not something you would ship with your game. This is for admin tools or server functions
how can i fix the issue with the editor not validating
validation in my experience fails usually when the time taken to download was toooo loong or too many people are trying to download.
maybe if you would try again or wait a bit it should work
I tried like 7 different times
probably your connection i think
Is there a faster way to add products to the economy on Unity Cloud?
I manually added 400 items, and now I need to add Virtual Purchases for them. If I do it manually, it will take a lot of time.
I did it via CLI. I created a .ecv file and imported JSON-type data into ChatGPT. 
You can use the deployment package
https://docs.unity.com/ugs/en-us/manual/economy/manual/write-configuration/unity-editor#Resource_file_content
Anyone working on the Unity 6 arm64? It looks like version control is busted for it at the moment.
Thanks. We're making an admin tool for playtest reporting where we use cloud save to store playtest data.
I have the cloud services api package but I'm struggling to make sense of it. Can you give any insight on a simpler way to get all playerIDs?
This should return a list of all the player ids
https://docs.unity3d.com/Packages/com.unity.services.apis@1.1/api/Unity.Services.Apis.Admin.PlayerAuthentication.IPlayerAuthenticationAdminApi.html#Unity_Services_Apis_Admin_PlayerAuthentication_IPlayerAuthenticationAdminApi_ListPlayers_System_String_System_Nullable_System_Int32__System_String_System_String_System_String_System_String_System_Threading_CancellationToken_
Thanks!
i left it on overnight so roughly 8-9 hours and nothing changed
@thin talon
Hello
can you assist me with my issue
cause ive been trying for days and nothing has worked
Please don't ping mods or other people for support requests
anyone open to DM with me about this? I'm still struggling to make sense of it
You can open a support ticket on support.unity.com
The package has examples of creating an admin client that you can look through. I'm not at my computer but you can see it in the Services menu after you install it.
Thanks.
I found this in the Cloud Services API package, and that has the "ListPlayers" operation in it - but I'm not sure how to call it from a regular script in Unity?
Cloud Services API
Does anyone know how to Disable Authentication's anonymous login feature?
You can use access controls to disallow clients from logging in anonymously
I read and tried to follow but failed. Do you have detailed instructions?
there is a [post ](#1261356044165185577 message) over on the Netcode server
it's me, still can't succeed
Hello, does Unity Auth Service have a limit on Anonymous or Social Account Creation, Account creation within a period of time or IP? Some of my games have been hacked and mass created accounts when using Playfab.
Hi All, I am running a Asus ProArt pz13 as my portable workstation. I have my projects on my Windows PC desktop at home, and I have been using Unity Version Control with no issue. However, while Unity 6 installs and seems to run ok so far on the ARM64 Asus laptop, version control fails and errors out saying that the package was not compiled for ARM. Does anyone have any experience with this, or any ideas on when Unity might fix this as I would assume most ppl using ARM on Windows are not running desktops and probably thus use UVC for projects. Thanks all.
You would consult a lawyer for legal advice on compliance
https://docs.unity.com/ugs/en-us/manual/analytics/manual/privacy-overview
Hello all, I encountered a bug which is stuck at await Lobbies.Instance.SubscribeToLobbyEventsAsync 😢
If you put it in a try catch, it should eventually throw an exception and give you a Reason
it just waits forever, not firing any errors
You probably have something else going on there. If it gets called, it will eventually timeout. Make sure nothing else is getting stuck in a loop
It stops when SubscribeToLobbyEventsAsync
This only happens when I use a mobile device and switch between wifi networks.
Can someone please help me understand this error with the Unity Player Accounts Authentication? We implemented it into one game, works fine.
I'm now implementing it into a second game, and when we call the Unity login page it errors.
The line is await PlayerAccountService.Instance.StartSignInAsync();
There is no variable required, if I fill the option bool as true or false (isSigningUp), it still happens.
URL states:
error=invalid_request&error_description=The+request+is+missing+a+required+parameter+or+is+using+an+unsupported+parameter.
P.S User anon login, user cloud data and remote config are all working, and the client ID has auto filled under the Unity Player Accounts config in Services.
Have you tested it with the UI sample from the authentication package?
I'll give this a whirl now
If it's swapping networks during this call then the connection might getting dropped
OK, so the sample has two buttons.
The Sign in button reproduces the same error in the browser.
The portal button takes me to a sign in screen with a session ID.
I'm lost on how to debug the issue, as I have no real input on this functionality, which is enclosed within the SDK. Configurations seem correct...as other services are working.
Only other place to check would be in the Cloud Dashboard
The problem is that all subsequent times will be waiting forever.
And my network after switching connection is very normal
😢
"Hello, I have a question about Multiplay hosting. When I set up the fleet cloud server density, I get the message: 'Your servers have used more resources than allowed within the past 24 hours. If this happens often, you may experience issues.' I am on the Pay-As-You-Go plan, though."
Hi, I want to ask if Cloud Code is having any problems today? because my game is responding very slowly
Looks to be an ongoing issue with the Matchmaker
https://status.unity.com/
Unity Services's status page provides information on the current status and incident history of Unity Services.
Does anyone know how to fix a magical floating branch that seems to have no origins but feeds into another branch? I wish to delete the floating branch, but i can't because it's supposedly used in the other branch (it's not)
for context, it's a child branch that according to the UI of my plastic client show it's being referenced by the parent branch. but the child branch has no relation back to the parent branch
Hi guys, does anyone know how to get the vivox sdk for ps5? I know that the package is private, but I don't understand where to write?
I assume it would be the same place you got the PS5 SDK build platform
No, this is not the case, on the ps5 developer forum I was told to write to vivox
I would open a support from the Cloud Dashboard
Hi, there are a few additional steps for the consoles under NDA. We have a doc here with the necessary steps https://support.unity.com/hc/en-us/articles/6318591970452-Vivox-How-do-I-get-approved-for-NDA-protected-platforms-PS4-PS5-Xbox-Nintendo
Hi, Unity Version Control is failing on Windows ARM64. Is anyone else having this issue and is there a fix.
I think this is referring to your %cpu and %ram allocation per virtual server. You’re going over your defined limit
Thank you. I fixed it now.
I had set the wrong settings before
If I upload my unity project to the Unity version control, is that a safe way to protect it in case my pc wipes or something? Next question would be how do I download my game again on a new machine?
Hello everyone,
I've been trying to understand Unity's new multiplayer (MP) system in Unity 6, but I'm a bit confused. Do I have to use Unity's hosting service, or can I set it up so that one player hosts the game on their own PC, and others connect to it remotely? I'm working on a first-person shooter (FPS) and want to get the server setup figured out before diving into development. Ideally, I'd like to enable peer-to-peer hosting since I'm on a tight budget and would rather avoid paying for server hosting. Thanks in advance for any advice!
You use the Unity Hub app to install remote projects
You would use either the Relay Service or Distributed Authority for this.
Peer to peer isn’t the ideal idea for FPS games mainly because of exploits
Peer to peer can suit coop/horror/etc type of games
funny enuff that is the ida XD.
thanks
my i ask how one connects it?
i understand that is a bit harder of a question
What do you mean? When you sign in to the Hub you will be able to see all your remote projects
HEy guys i've developed a new game in unity and im looking for publishers and promotions right now may i know the right channel for this
Thanks in advance
Okay, so it’s sufficient to back up all my projects on Unity Version Control?
Yea. that is mainly what version control is for
in UGS relay, how do i get player informaiton of connected players such as username? if the client sends that directly it can be faked right? Im hoping to retrieve it from an auth token or something
but all the auth token -> player info API's i see require a dedicated server setup with secret key, i cant have secret keys in player hosted games
oh i guess its this https://services.docs.unity.com/docs/client-auth/
Client APIs are endpoints that allow you to access Unity Services as a Unity project user. These endpoints are called inside the project after
but now what i dont understand is, if i share the access token with another malicious host, they can change my data by calling different apis such as https://services.docs.unity.com/player-names/v1/index.html#tag/Player-Names/operation/updateName ?
i dont get it
in steamworks theres a way to generate a token to be verified by the host peer, which uses steam api and sends the token to retrieve client info from an authorized server, there must be something similar in Unity
i think im failing to find it
I usually have the player save their own name in a network variable
https://docs.unity.com/ugs/en-us/manual/authentication/manual/player-name-management
If you are using the Lobby service then you can get the name from the Lobby Player Profile
https://docs.unity3d.com/Packages/com.unity.services.lobby@1.2/api/Unity.Services.Lobbies.Models.Player.html#Unity_Services_Lobbies_Models_Player_Profile
But this means user can kind of hack it right? If im in a lobby and my host expects user named abc, everyone in that lobby can identify as abc when they join the relay server even if they are not him
Most games will let you change your display name. The player id will never change, that is what you should be using to identify players
But how do i get player id from the user connection?
You don't. The network manager has no idea about the UGS services. You can create a dictionary on the host/server if you need to map a client id to a player id
My point is that then i need to retrieve this from a client rpc call right? How can i be ensured they wont send me fake info
Does anyone have any idea on this?
There is not a clean way to do this at the moment. You could use Cloud Save to have the client save their client id along with some nonce given by the server. The server could then check for that player's data to verify. You could also assign a Guid to the client id from the server instead of using the player id.
https://docs-multiplayer.unity3d.com/netcode/current/advanced-topics/session-management/
You can use session management to keep data when a player disconnects and accurately reassign it to the player when they reconnect.
wow, thanks thats really cool, but also much more convoluted then i would ever imagine
It's the only way to still be able to use other services besides Unity's. The only thing the network manager knows is that a client just connected. Connection Approval is there if you need further verifications.
https://docs-multiplayer.unity3d.com/netcode/current/basics/connection-approval/#security
Connection approval allows you to decide for every new client connection attempt whether to allow or deny the client to connect.
i see, yeah im using a seperate solution, just using unity UTP and relay and lobby
thank you very much for the thought out answer
Does anyone know if there is a way to change the random player name generation? Maybe custom dictionaries, Cloud Code, etc.? Those names are really long.
You can turn the name generation off but I don't think you can alter it. I think the best you could do would be to generate you own names and use UpdatePlayerNameAsync after logging in
really dumb question.
Currently trying to query lobbies.
It works in postman but does not work in my python fastapi CRON job.
I want to query what lobbies are currently available, but it always return an empty list of [], yet there should be something in it.
Postman works as normal, but nothing is working when I run it with my python code.
# This function is a helper function that returns 100 lobbies at a time.
# reason why we return 100 lobbies at a time is because of a UGS limitation
def get_list_of_lobbies(accessToken: AccessTokenResponse, continuationToken=None) -> QueryPublicLobbiesResponse:
conn = http.client.HTTPSConnection("lobby.services.api.unity.com")
payload = json.dumps({
"count": 100,
"skip": 0,
"sampleResults": False,
"continuationToken": continuationToken
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'service-id': f'{os.getenv("SERVICE_ID")}',
'Authorization': f"Bearer {accessToken.accessToken}"
}
conn.request("POST", "/v1/query", payload, headers)
res = conn.getresponse()
data = res.read().decode("utf-8")
json_data = json.loads(data)
return QueryPublicLobbiesResponse(**json_data)
console output.
all lobby id
all lobbies []
results []
Queried all lobbies
all lobbies []
What postman looks like
"results": [
{
"availableSlots": 100,
"created": "2024-11-12T01:43:01.244Z",
"data": {
"gameMapType": {
"value": "theater1",
"visibility": "public"
},
Clearly it works on postman but doesn't work in my python code.
So I'm not sure if the bug is in UGS or in my code.
this is the query lobby api call I am using.
https://services.docs.unity.com/lobby/v1/index.html#tag/Lobby/operation/queryLobbies
sorry my code was bugged.
I fixed the bug, but I'm not sure how I fixed it, or where the bug was.
It was probably because I didn't treat the JSON as a series of dictionaries.
Hello, I'm using Unity 6 and Digital Asset Manager in my application. I have a prefab uploaded to the Unity's Asset Manager. I can see this prefab in the Asset Manager window of my Unity 6 application. I want to use the Unity's Services Web API to manage this asset. First I use this command to get the idToken: https://player-auth.services.api.unity.com/v1/authentication/anonymous. I provide the projectid in the header of this command and it gives me the idToken, sessionid etc. Then I use this command to get download URLs of the asset: https://services.api.unity.com/assets/v1/projects/{projectId}/assets/{assetId}/versions/{assetVersion}/download-urls. I provide the projectID, assetId and assetVersion in this command and also provide header: Authentification as Bearer {idToken}. Problem is that I receive "unauthorized" as response. What am I doing wrong? I'm following all that's mentioned here: https://services.docs.unity.com/assets-manager/v1/#tag/Asset-management/operation/assets_v1_Assets_GetAssetDownloadUrlsAsyncV1. I'm sharing my code here in the attached file
Does anyone have a script I can use for movement in my game?
@severe peak Please read channel descriptions #🔎┃find-a-channel and you can find those on Unity !Learn
:teacher: Unity Learn ↗
Over 750 hours of free live and on-demand learning content for all levels of experience!
How do you actually get vivox to work???
I every time i join a channel, it seemingly auto leaves right after...
It works fine in alone in a empty scene... But when i use it with other netcode / relay / network manager it seemingly just kicks me out. I have no code of my own that does this...
Found the issue, i had the Unity Widgets installed, and it was automatically trying to do stuff resulting in it messing with vivox
Yea. if you have Voice Chat enabled in the Widget Config asset, it will automatically log in and join a channel with the session name
What does "Debug.Log Count [0-50]" mean in Cloud Diagnostics? Can't find anything in the docs
Hey guys,
I'm having this weird issue where it wasn't there before but now it's happening.
When I try to sign in anonymously I get this error
WebRequestException: {"detail":"invalid environment name provided","details":[],"status":400,"title":"INVALID_PARAMETERS"}
I'm using Unity6 (6000.0.26f1)
Package "Multiplayer Services 1.0.2"
And I Simply run these two lines
await UnityServices.InitializeAsync();
await AuthenticationService.Instance.SignInAnonymouslyAsync();
I have two environments setup in the cloud (linked project)
(production, dev)
In unity I make sure it's linked and in the environment section I choose "dev" and that's my setup overall.
I didn't get this before but when I started testing initializing UnityServices using InitializationOptions to specify which environment
InitializationOptions unityServicesOptions = new InitializationOptions().SetEnvironment("dev");
I started to get this issue, then even if I don't use it, I keep getting this issue, I'm able to initialize the services but when running Authentication I hit this roadblock.
A bit confused, tbh, I tried removing al env and keep production, I tried adding other env, nothing worked
Would appreciate the help on this, as I feel it's either an internal bug or something small I forgot to do.

Hey guys,
I have a huge sprite sheet and I’m having trouble importing it
hi, is there a way to enable fake store in the unity editor?
i remember there it being in the IAP package
but yesterday i installed the latest version for 2022, 4.12.2
and the transaction just gets done
there's no window dialog like before
I don't see a DevOps channel but Unity Cloud Build is failing with the following error:
[error] [2024-11-15T21:26:38Z - Unity] An error occurred while resolving packages:```
Pulling my project from GitHub, building a Windows desktop 64-bit build
Hello, UCB used to hav e a discord integration, but I cannot find it anymore. Any help please?
@oak charm Administration > Integrations > Project Integrations
thanks the support was also replied quickly about that
Didn't see it was two days old, glad you've figured it out! 🙂
I've made a python web api in flask that lets clients send server information like name, player count, join code etc... to a "master server list" for servers they host via unity relay.
I see that the Unity documentation about server list the be about cloud hosted servers. Is there an official way to do it for player hosted servers or should I just continue with my method?
You would use Unity Lobby for that. Or Sessions with the new Multiplayer Services SDK
Hello!
I'd like to use Multiplay Host, Matchmaker, and Lobby services from UGS. I find a sample project called Megacity Metro, but i find that super overwhelming, thats a complete project that makes me confused. Is there a smaller example project that uses UGS and Netcode for Entities?
Hii
Dots is not for the faint of heart. But check out the dots Netcode samples here
https://github.com/Unity-Technologies/EntityComponentSystemSamples/tree/master/NetcodeSamples
hi! I just started experimenting with Cloud Code. After setting up a simple Access Control, I try to use the example script provided by this documentation:
https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/modules/how-to-guides/access-control
However I can't generate binding with the deploy tool...
I attached the log, its says :
System.Exception: DotNet failed with Error Code -532462766. Details:
. StdErr: Unhandled exception. Unity.Services.CloudCodeBindingsGenerator.UnprocessableSchemaException: Unprocessable schema: {
"type": "object"
}
Anyway, before I go into details, what I already try and what are my theories, am I in the right discord room? Or there is a more specific discord somewhere for UGS?
I am using the Lobby Query API.
I am running a CRON job that runs the lobby API Query every 1 minute.
But sometimes it doesn't run.
This doesn't make sense, are there API rate limiting that is keeping me from doing this, is my code bad, or is the api just slow?
I'm trying to figure out what is happening exactly.
How do I make sure that the Lobby Query API runs consistently when I want to run it?
wait, I think I am figuring it out.
Querying Lobbies by Anonymous tokens, seem inconsistent and unreliable.
Querying Lobbies by a Service Token seem to work consistently and is more reliable.
Going to query lobbies by Service Token, and I am going to assume there is no real difference between using an anonymous token vs Service token and that Service token is just more consistent.
Access control
Does unity ads support webGL?
is there any alternative for webgl monetization?
Web builds are websites, so you can use regular website advertising solutions. You can interact with JS web advertising SDKs through https://docs.unity3d.com/Manual/web-interacting-code-example.html
k, thanks
guys i still dont get it.
https://docs.unity.com/ugs/en-us/manual/mps-sdk/manual
i went through this documentation, but I still cant run my game as multiplayer. The matchmaking tickets are counting in the cloud dashboard, but the online player's count dont. I noticed that in my servers there are error logs.
SessionException: Invalid client world. Please make sure it has been created before attempting to setup network.
but the documentation does not say a word about this. Atleast the one I linked above. Is there a complete documentation about this? How people figure out how this thing works?
Edit: I am using Unity 6. After I created the netcode for entities part, I went to this documentation:
https://docs.unity.com/ugs/en-us/manual/mps-sdk/manual/working-with-mps
Make sure the server is creating a Server World before you connect
https://docs.unity3d.com/Packages/com.unity.netcode@1.3/manual/client-server-worlds.html#bootstrap
I'm looking for someone who is very familiar with Vivox systems that I can poke for advice. DMs preferred, mine are open. if you're willing to talk me through a couple concepts, I'd be massively grateful
Hi peeps. I have a fairly complicated (for me anyway) situation.
I'm making a mobile game which has a physical hardware component which is purchased through a website.
An account is made at this sale stage for customer support.
I would also like to build a leaderboard system. I'd like to have this be a unified leaderboard across android and iOS players.
I was originally thinking that I would grab a unique identifier (platform-specific gamecenter/googlePlayGames) and use that to identify the user in my leaderboard database.
Eventually i was going to link the player's platform specific IDs with their hardware-purchase account, to synchronise their state, unlocks etc. across their devices.
I was planning on just making my own SQL DB - but today I notice that google has leaderboard services and unity also has UGS Leaderboard services. I haven't checked what apple has yet. I notice unity also had a "social API" which is being deprecated ( replaced by UGS i guess? ) - Unity and google also have "cloud save" stuff?
So now i'm really not sure what to do.
This is all interesting but I feel id rather just run my own DB. but in the end I'm not sure. this is my first serious game.
Please share with me your experiences and advice! Thank you!
You can use OpenID to log in to Unity Authentication and use the various UGS services like Leaderboard and Cloud Save.
thanks @warm badge - i think the prospect of integrating/connecting/syncing everything between a bunch of different service providers is a bit much for me. Just now i basically gave myself permission to just make a barebones login server, which i have in my sales portal, and use that instead. i'll maybe spread out in the future once the dust has settled on a simple model first 😄
Does anyone have any experience with Ironsource LevelPlay Unity ?
Hey Leon,
I'm currently looking into this issue. The widget package does automatically initialize all relevant services (UnityServices, AuthenticationSerive and Vivox) so you could get started super fast.
That being said, it should not interfere with your own implementation. I tried to reproduce the issue but can't. Do you by any chance remember what your setup looked like? For example what widget you had in the scene and if there was anything custom besides the code snipped you send [here](#archived-unity-gaming-services message) ? Did you use some widget to start a session or did the above logs happen directly when entering play mode?
Would be very much appreciated if you have any additional info so we can improve the compatibility 🙂
From the top of my head I can't think of doing anything special, and not sure anymore considering we made our own joining logic now. Can answer more in detail later.
But if i remember correctly i used the event on the host/join type widgets to load a new scene (using the network manager's scene manager). Then in the other scene i did things to enable vivox proximity chat with my own code, but it kept leaving the channel.
Noticing widget stuff in the scene as "do not destroy", we tried removing those packages, and suddenly our vivox stuff just worked.
The code we had for vivox proximity chat is mostly what the wiki sample code snipets does.
Thanks. The hint with switching scenes is already super helpful 🙂
Used widget to start session in the main project, but the screenshot i believe is just a empty scene with just the nesesary logic (why we tried initializing things ourself?), but i might be wrong.
Hello Guys!
Now I was able to move forward with my multiplay hosting. Atleast I think i did 🙂
As you know, when we allocate servers, the created machines has ports like 9000, 9100, 9200, etc...
In here, endpoint.Port, i defined a port 7777, but obviously, it's not what my server uses, so somehow i should get what port exposed on server side, am I wront?
I use Netcode for Entities
You should be getting the port from MultiplayService.Instance.ServerConfig
Hello,
I have an Andorid app in the Google Play Store.
I have noticed that I have not received any advertising revenue for about 4 days.
The following error is thrown in the app:
Unity Ads SDK fail to initialize due to game with ID ..... is not enabled
I have not released an update in the last few weeks and have not made any changes to the settings.
Where does this error come from?
I cannot use MultiplayService in clientside, so thats cant help me
Client side should be getting the server address and port from the Matchmaking service. Or the Multiplay Rest API
Hey everyone! I noticed that Unity LevelPlay's IronSource SDK is legacy now. So I tried to find documentation for LevelPlay's newer SDK, but it just points to the old IronSource documentation. Where can I find the newer docs?
Edit:
https://developers.is.com/ironsource-mobile/unity/rewarded-video-integration-unity/#step-1
Everything just takes me to this site. The stuff here doesn't work and gives a lot of errors.
Hey, I was wondering what you think is the best approach to implement a kind of tribe/team system by using Unity Gaming Services. As far as I know there is not a kind of tribe system in UGS yet. I already implemented Authentication by CustomId, Cloud Code, Cloud Save and Leaderboards. And I wonder if I should implement the UGS Friends system. What are your approaches to Tribe/Team system with UGS in the background currently? And no I am not using Steam. Love to hear what others do. Thanks!
If you mean like Guilds, you can use Cloud Save and maybe also the Friend service for that
You can make a Cloud Code module to handle invites and kicking and what not.
hello, i try to integrate vivox for my game, now i am having issues with memory usage on iOS, it keep increasing after mute then unmute until it is crash, what i can do fix it? if you want any other information, then tell me, thank you
Analytics: I created a Custom Event and noticed that the "Unity Player ID" is missing from my events in the Event Browser. I then added it as a parameter manually, it was still empty. Then I tried setting the "unityPlayerId" field in my Custom Event code, implementing a SetParameter method. But it's still empty. How do I get this in?
Oh that reminds me, I need to follow up on us getting a sample for this out there, using Game Data / Custom ID items in Cloud Save, with Cloud Code for actions like Add Player, Remove Player, (etc) is definitely an intended approach to build a guild/clan like system - some folks are already doing that and we built a sample project but we haven't share it yet (I don't think).
Hmm that sounds like it should have worked to me, let me forward this to the team that work on the Analytics platform and see what they say (maybe there are some caveats around Custom Events...).
Thank you! Adding the field manually leads to an invalid event with message "Incoming event contains unexpected key 'unityPlayerId' containing value" so this doesn't seem to be the right way.
Hey Tom,
Thanks for bringing this to our attention. It does look like you have found a bug. We are running some tests to see why the unityPlayerID is visible in the EventBrowser, confirming that standard events are sending it, but not visible in the SQL Data Explorer analysis tool.
Populating the unityPlayerID on your custom events should be possible too, but you will need to
- Add the unityPlayerID parameter to each of your custom events using the Event Manager tool
- Populate the unityPlayerID parameter on each custom event you record, you can pull the value from the AuthenticationService.Instance.PlayerId
I suspect your 'invalid event...' error is down to 1.
Further investigation shows that the unityPlayerID is working fine on Standard events
You can query in SQL Data Explorer by selecting EVENT_JSON:unityPlayerID
Adding it yourself, to custom events, also works as long as you follow both steps in my previous post.
I did like you described before but my error was "unityPlayerId" != "unityPlayerID". Works fine now!
@mental umbra I implemented leaderboard/player avatars like we discussed earlier btw., as base64 encoded strings on CloudSave (player public). It works great!
Only thing I'm not sure about: I have two leaderboards with 10 entries each that get fetched on every session start and after every individual run. Those requests could pile up quickly I guess.
Having the option to automatically attach public player data to leaderboard entries would be nice. Is that possible already somehow?
Ooh thanks for sharing that, I'll be sure to call it out in an update to clarify this in the documentation. I would have used "unityPlayerId" and would not have expected the ID to be uppercase either.
(We do plan to make this easier next year as we appreciate it should just work out of the box.)
Oh great! And yeah that's a great question and thanks for asking. It's not at the moment but we are looking at improving the developer experience here.
In the short term, we want to improve batch requests on Cloud Save, so you can fetch data for multiple players / from multiple Custom Items more easily and so fetch a bunch of data in a single request.
In the longer term we would like to explore being able to query multiple data sources in a single request - maybe something like GraphQL, maybe using schemas, etc - so that they feel more connected and it's easier to do queries that span data that might be stored in different places.
Slightly a complicated question, but is it possible with UGS, specifically with Multiplay Hosting and Matchmaker, to setup an architecture, in which my unity server acts as a server for multiple game sessions? I've experience in setting up servers in unity like that, but for them we've always written custom matchmaking and server hosting.
So, basically, I'm asking if something like this is possible with UGS out of the box :
Players join matchmaking queue [Matchmaker], which triggers a new server to be hosted [Multiplay Hosting], and now players in lets say this particular region will continue getting connected to the same recently deployed server, until lets say 400 players [100 sessions, 4 per game session] are concurrently connected. Only then multiplay hoster, launches another server. if game sessions in this particular region get over before the server is maxed out, they continue connecting to that one.
Also, for this, matchmaker needs to generate a couple of more IDs [for arguments sake, I can call them RoomID in a particular server], which the server/and the player client need to be aware of. So, is this possible?
I am going through the docs and trying to understand them, so would much appreciate it direct keywords if its possible directly, or with some hoop jumping
Generally its set up to be one game server per match. And any given physical server can host multiple game server processes. When the server density is full then Multiplay will spin up a new machine. Now, your game server might be able to hold multiple matches in it. I'm not sure how useful matchmaker will be in that scenario.
Hi 👋 I'm working on the implementation of the Access Control Policies. The best practice says I should first define a policy denying access to all and then add granularity on the services I want to allow access to.
I have defined the following
"statements": [
{
"Sid": "allow-cloud-save-read-access",
"Action": [
"Read"
],
"Effect": "Allow",
"Principal": "Player",
"Resource": "urn:ugs:cloud-save:*",
"Version": "1.0.0"
},
{
"Sid": "deny-all-ugs-access",
"Action": [
"*"
],
"Effect": "Deny",
"Principal": "Player",
"Resource": "urn:ugs:*:/**",
"Version": "1.0.0"
}
]
}
but it's not working, I get a 403 forbidden when an authenticated player tries to get access via the SDK with CloudSaveService.Instance.Data.Player.LoadAsync()
What am I doing wrong?
I think the order matters there.
I uploaded with the deployment tool the general one first
and then the more specific to allow read only
but when I pull them with the CLI tool it appears in that order
ill try the other way around
It's just alphabetical order I assume, I tried reuploading allow-cloud-save-read-access first and then deny-all-ugs-access the order is the same
Semantic versioning of builds: I have a very neat build script locally, that basically takes a Git tag (e.g. "v0.5") and attaches the number of commits as patch level (e.g ".105") and writes the result into the PlayerSettings.bundleVersion - which gets rendered in the start menu of my game. But right now, I always have to make a local build and commit that version number before sending everything off to Cloud Build. Is there a good solution to automatically have semantic versioning on Cloud Build builds?
That sounds great, I would like to see an example how the intended way should be. Please keep us updated about this example, thanks!
I started making a Cloud Code module for this. But I got bogged down trying to make a voting system. Then realized I would also need some kind of permission system base on guild rank or something, lol.
@warm badge Yeah, its not so easy because of permissions and which data you are allowed to read from another player account, etc. So I would really like to see how Unity will implement this. I don't want to spend time on creating my own solution currently when Unity has something like this ready which can be used as a foundation.
Yea, making a CustomId with a list of Player IDs is not hard but quickly becomes impractical when you need any kind of management.
hi, may i have a clarification of PCU?
if i just initialize the vivox service on the client
but never join a channel
does that count as PCU?
Hey everyone
Can some please help me with this issue.
I updated Unity and IAP and after making iOS project build I am stuck with this issue.
I tried using the VR Multiplayer template to build my game, but the Vivox connection doesn't seem to be working. When I run the game in the editor, I connect okay, but when I try to connect in a build on my Quest, I get stuck permanently trying to connect. I have permissions for microphone, sound and internet set up, and I've tried delinking and linking Unity services. Anyone have any advice?
Hello everyone,
I want to use IronSource as my ads mediator, but always get this error when try to Init using Levelplay or IronSource Agent
any one can help me ?
Thank you
is it possible to save and load data by id with cloud save?(by steam profile id)
or set custom playerid?
hi Ive been trying to get collabs for a game a friend and i want to start working on but no matter what i try he keeps getting this "invalid file " error when
checking the repository via the unity hub
ive tried replacing it with the file inside the project itself and even creating a new repository with the same files and it still says invalid files
Is there something im missing?? this is a new project with nothing in the scene besides a green box.
Any help is appreciated weve been stuck for hours
Ive tried following the instructions in the link within learn more but nothing has worked
Make sure that you did an initial check in after you linked the project. You should be able to go into the Unity Cloud Dashboard and see all the project files yourself.
Hi!
This keeps happening with version control, not only on my side -> screen
Any suggestions? The only way i know solve this is deleting/re-downloading the project but we can't keep doing that.
Fixed with just deleting User/AppData/Local/plastic4 folder and login again.
Hi, is there any way I can use ServiceToken instead of AccessToken for IGameApiClient.RemoteConfigSettings.AssignSettingsGetAsync(ctx, ctx.AccessToken,.. ?
I'm calling the C# cloud code module with trigger so there is no AccessToken in IExecutionContext
In other services like Cloud Save I can directly replace AccessToken with ServiceToken, but somehow the Remote Config is only available for Client and not Service Account.
in the link only Client Authorization: https://services.docs.unity.com/remote-config-client/v1/
There is remote-config-admin here: https://services.docs.unity.com/remote-config-admin/v1 but when I try IAdminApiClient there is no RemoteConfigSettings available.
IExecutionContext has the serviceToken as well
Yes, but AssignSettingsGetAsync throws a 401 when you use ServiceToken. I double checked that permissions are set up properly.
Check the web api doc I linked, usually for other services even if it is client api, they allow client or service account auth. The remote config only allows client auth.
The other endpoint on the RC client API also queries player settings but does not require authentication: https://services.docs.unity.com/remote-config-client/v1/#tag/Settings/operation/assignSettings
In the Cloud Code Apis client, the method is called "AssignSettingsAsync" (I'm confused by the name too).
Hey everyone,
Anyone know about this issue, and how to resolve it
Thank you!
Hi, I tried to use AssignSettingsAsync but still, servicetoken is unauthorized.
Also, is there a way to target specific group of players with PlayerIDs with the Game Overrides? What do I put in the jexl editor?
Is Audience what you're looking for
https://docs.unity.com/ugs/en-us/manual/remote-config/manual/ConfigureStatefulAudiences
Sorry I might've missed it but which metric is to specify player Id?
oh I don't think you can get that granular with it
I see, thanks
Hi, my organisation does not appear in my Unity Hub, so I can't download the project I need. Any tips? I can see other organisations
did you install unity devops? That's what I had to do and it worked for me
Can anybody setup IAP and ads in my live mobile card game. I can pay
I've been trying to convert the VR Multiplayer template from Relay to Dedicated Servers through Multiplay for the last 3 weeks. I noticed that Unity launched a Competitive Action Multiplayer template a week ago, which handles Dedicated Servers through Multiplay. That being said, it's looking like the process of converting this template to a VR multiplayer game with dedicated servers is probably going to take a lot of rewriting FPS code.
Does anyone know what the best way for me to make a VR multiplayer dedicated servers game is? I have a prototype on VRChat that people love, and I'm trying to get it standalone, but the code is kicking my butt.
There is not a whole lot you need to actually change.
https://docs-multiplayer.unity3d.com/tools/current/porting-to-dgs/
I'm not sure if the VR Template is using the Multiplayer Services SDK. But it makes Matchmaking super easy.
This is part one of the Porting from client-hosted to dedicated server-hosted series.
But those Unity Templates tend to be hella overengineered
I couldn't understand the unity template at all, so i reorganized it into a state machine, where each step was Authentication->server readiness-> etc, and now I can't connect at all, and my entire project is broken haha. The only important code from my game is the movement code, which has nothing to do with networking, so I'm wondering if there's something I can download as a template to run a dedicated server that'll handle all the networking.
https://www.youtube.com/watch?v=JiqmoJ9XFnw&t=186s&ab_channel=DilmerValecillos
Actually just found these building blocks, going to start a new project and see if i can just drag and drop in a server
A Unity tutorial to help you learn how to create a VR or MR multiplayer game using the latest Meta Building Blocks. We'll also cover the Meta developer portal, Unity services, multiplayer building blocks, and how to test multiplayer features with the Meta XR Simulator and ParrelSync.
📢 CLICK on the link below for additional info on Meta's SDK &...
I wouldn't bother with the Templates. But you also are not going to be able to just drop in a server either.
Check out the MPS SDK
https://docs.unity.com/ugs/en-us/manual/mps-sdk/manual/game-server-hosting-support
Do you know the system well? If I sent you my main file, would you be able to quickly find what I'm doing wrong? I think my server is crashing, but the multiplay dashboard doesn't have logging and I can't tell what's going wrong.
Do you know the system well? If I sent
Hello everyone, please tell me how to integrate a game created on Unity for Discord ...
Follow the quick start guide
https://discord.com/developers/docs/activities/building-an-activity
Discord also has its own Discord Developers server
is Unity's authentication free?
like even if it authenticates 1,000,000 players
it says it is free here
so i'm confused
firebase costs like 4,000$ a month for 1,000,000 registers/logins
so is unity's authentication actually free
i don't want to be charged thousands of dollars if it isn't and the bill comes to me in a suprise
Authentication is free. The other services you use with it have a paid tier
i see.. thanks!
Well i'd say for authentification, I would recommend you to use your own system, it will be much cheeper
how would rolling their own authentification service be cheaper than a free one? that would not only cost time, but then they'd have to host it somewhere which won't be free, they'd have to ensure it is secure so people's data isn't being leaked which is even more time/potential cost
It's like about 12h of work, it's done and done in web dev, you host it on a VPS, it's juste a postgres db with id,username and hashed password and a couple more data so not a big deal
You could make a wait queue when you have a load of users but it won't be your first issue, if you have a 1'000'000 users a month, the authentication won't be your faulty pipe
Not having to worry about the security of people's passwords makes a hosted service worthwhile in any case.
4000$ a month is high af
I agree. That why I go with Unity Authentication
can anyone tell me why i'm getting the same "Player ID" no matter what Gmail i sign in with.
using Unity.Services.Core;
using UnityEngine;
using UnityEngine.UI;
using Unity.Services.Authentication;
using Unity.Services.Authentication.PlayerAccounts;
class PlayerAccountsDemo : MonoBehaviour
{
[SerializeField] Text m_StatusText;
[SerializeField] GameObject m_SignOut;
[SerializeField] Button SignInBTN;
[SerializeField] Button DeleteAccountBTN;
[SerializeField] Button SignOutBTN;
async void Awake()
{
SignInBTN.onClick.AddListener(StartSignInAsync);
DeleteAccountBTN.onClick.AddListener(OpenAccountPortal);
SignOutBTN.onClick.AddListener(SignOut);
await UnityServices.InitializeAsync();
PlayerAccountService.Instance.SignedIn += OnSignedIn;
// Check if a cached player exists that had logged in before in a previous game session
if (AuthenticationService.Instance.SessionTokenExists)
{
Debug.Log("Cached session exists. Attempting to restore session...");
try
{
//SignInAnonymouslyAsync isn't just for guest accounts. This is how session token is used appearently.
await AuthenticationService.Instance.SignInAnonymouslyAsync();
}
catch (RequestFailedException ex)
{
Debug.LogException(ex);
m_StatusText.text = "Failed to restore session.";
}
}
else
{
m_StatusText.text = "Please sign in.";
}
}
void OnSignedIn()
{
m_StatusText.text = $"PlayerId: {AuthenticationService.Instance.PlayerId}";
Debug.Log("Saved session!");
}
public async void StartSignInAsync()
{
if (!PlayerAccountService.Instance.IsSignedIn)
{
try
{
await PlayerAccountService.Instance.StartSignInAsync();
}
catch (RequestFailedException ex)
{
Debug.LogException(ex);
}
}
}
public void SignOut()
{
AuthenticationService.Instance.SignOut();
PlayerAccountService.Instance.SignOut();
AuthenticationService.Instance.ClearSessionToken();
m_StatusText.text = "Signed out successfully.";
Debug.Log("User signed out. Session cleared.");
}
//For deleting the account.
public void OpenAccountPortal()
{
Application.OpenURL(PlayerAccountService.Instance.AccountPortalUrl);
}
}```
when i sign in with my first Gmail. i am supposed to get one Player ID
and when i sign in with my other gmail. i'm supposed to get another different Player ID