New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Animations do not Sync when using Client Network Transform from Samples #1348
Comments
Same issue :( ! (Animator parameters not synced) |
For me, it is not working even when using the regular |
I just found out that using the Boss Room Network Animator works (sort of). It does not actively sync as it was supposed to, but it's a start. |
Managed to get Anims Working by using RPC's to set Anims params, but this should not be needed. |
Seems like it's fixed in master #1327 |
it's not, i tried both master and devop 1.0.0 pre3 none work |
@FSKiller the way I made it work is actually copying the code of NetworkAnimator into my own MyNetworkAnimator and commenting out those "if (valueInt != oldValue)" statements in WriteParameters |
As Luke said on Discord their new implementation is Server Authoritive, i managed to get them working too, but i used Rpc's to call the values. This is a pain if you want a Client Authoritive Game.... |
Added to the backlog as MTT-1565 |
I have the same issue. @aazzolini's solution of making a new NetworkAnimator with the if statements commented out caused some animations to be synched, but only certain transitions (for example into running, but not back into standing still). It's only one way too: the client gets to see some of the animations of the host, but the host sees none of the client. |
Many indie projects are better off client authoritative. Less headaches in general, cheating isn't really a consideration, all that matters is to finish the game and get players. Hopefully they support more client auth stuff, not just server or do it yourself. |
@will-mearns if this is the case can we please update the documentation (https://docs-multiplayer.unity3d.com/docs/components/networkanimator) that it won't work with clients setting params on the animator? It seems to imply that all you need to do is add a Let me know if I misunderstood this. Thanks! |
Any news on this, maybe an approximate date? It is basically useless if you use an asset that does all the animations if they can't be synced. |
My game is client-sided but I'm now facing this issue as well. And It'll be
problematic to switch to server authoritative due to lag issues.
Especially since NGO doesn't have client prediction.
…On Tue, Jan 18, 2022 at 11:19 PM MiTschMR ***@***.***> wrote:
Any news on this, maybe an approximate date? It is basically useless if
you use an asset that does all the animations if they can't be synced.
—
Reply to this email directly, view it on GitHub
<#1348 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANGM4YU5DOS2ZGOUB2GIXXLUWXDOTANCNFSM5GSRNQVA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
<Unity-Technologies/com.unity.netcode.gameobjects/issues/1348/1015801607@
github.com>
|
What I found out using 1.0 pre-5 is that if the Player you are controlling is instantiated on a Host, the animation sync happens if the NetworkAnimator component has the checkboxes checked. However, if you are a simple client, it doesn't happen because it is server authoritative. How would you guys do it if an asset you own has a player component that handles all the input via its own code and can't be changed without major refactoring? In my opinion there should be a checkbox or something similar to let the clients control the movement if checked. This way you can cover both easily with a single click and focus on the interactive part of the game (which is easily possible to control via the server). |
The network animator has been reworked with 1.0 pre-6 and now looks differently in the inspector, it does not show checkboxes anymore. Is there internal work being done or what was the reason for it? |
Ok, i just found out about this. Hoping this can get updated. |
Should fix this. Can you confirm ? |
Still not fixed. Players stay in idle animation and slide across the map. As a temp fix i've been using RPC's to set the animator values, and this seems to work just fine at the cost of more network traffic. |
Create this script and then remove the NetworkAnimator and add ClientNetworkAnimator
|
@DevinWatson This isn't working for me. It enables the animations on the server but not on other clients. |
@ChadGatling If what is currently in the develop branch does not solve your issue, could you provide a project so I can try to replicate it on my end? |
@NoelStephensUnity |
@ChadGatling could you share the errors that you are getting? |
Here is the first error I get with 1.1.0 as a client trying to connect to my server. image removed The server is seeing the client connect but then I get a handshake timeout. Then the server disconnects the client. image removed Thanks for looking. |
@ChadGatling As well, if you want to use a specific branch you can update your Packages\manifest.json file with something like this for com.unity.netcode.gameobjects:
(I included the most recent version of unity transport in there too) This can be useful if you want to make sure you have the most recent version of a specific branch without having to download and point to the specific directory etc. If you were using an earlier version of Unity, let me know if updating to the more recent version resolves these error messages for you? |
@NoelStephensUnity |
@NoelStephensUnity The previous still applies and I also tried it with Netcode for GameObjects 1.0.2 and on the server on player connect I am getting and on the client right after connecting I get The client actually connects but the network transform is not working. The animator works but the character remains in place. I am using client network transform and animator. Edit: Seems like 2021.3 requires Shader graph 12.1.7 which breaks all my shader graph shaders so something is really messed up. |
@ChadGatling |
@NoelStephensUnity So this version of ClientNetworkTransform is for the 1.0.2 version of Netcode for gameobjects? Or for 1.1.0? And all of this is to be used with Unity 2021.3.11? I can't seem to find the info about what version requires what version |
@ChadGatling The updated version of ClientNetworkTransform should be for v1.0.2 and beyond (which includes anything in the develop branch) If you still have the suggested updates applied to your project's manifest file:
And you are using the updated version of ClientNetworkTransform. And your are running 2021.3.11f1 LTS. Then the errors you have posted in this thread should not be occurring. Are you getting errors that are different than the ones you you have posted so far? |
@NoelStephensUnity The issue seems to stem from this MessagingSystem.RegisterMessageType is not run if that helps |
@NoelStephensUnity I went through one by one updating stuff and everything worked until I updated to Netcode develop. That is when I got the |
@ChadGatling Also, could you exit the editor, delete the Library/ScriptAssemblies folder, then re-open the editor and once it is done loading your project share the editor.log file generated? (we have a few people looking into this issue and this information will help us track down this issue). |
I am running on Windows 10. |
@ChadGatling Can you do the same thing again, but delete the entire Library directory this time instead of just ScriptAssemblies, and then upload Editor.log again? |
@ChadGatling |
@ShadauxCat @NoelStephensUnity I got you |
@ChadGatling That time, it looks like ILPostProcessor did run... can you try your test again and see if you still see the KeyNotFoundException? If you do, could you upload |
Oh I am not on Netcode 1.1.0 I am on 1.0.2. Sorry yall, I should have realized that is what you needed. Do you want me to get back on develop? Also there might be a better way to communicate than on this thread. |
Ah, yes, can you please repeat the last step on develop (deleting the whole Library directory) and then upload Editor.log again? |
Comin' in hot |
Ok, I do see ILPostProcessor running... this would be so much easier if I could reproduce this. Would you be up to helping out with some debugging in a custom branch tomorrow? (Are you in the Netcode for GameObjects discord? If so, you can find me there as Kitty [Unity] and send me a DM and we can do this more quickly.) |
@ChadGatling |
@NoelStephensUnity I did test it with @ShadauxCat 's experimental branch for the .NET framework issue. It was working and I could get 2 players syncing animations while on a dedicated server. I think I did test the develop branch again once she pulled her branch to it and it worked. I haven't yet tested it released. Weirdly it does not give me the option to update to 1.1.0 in the package manager. I can change the version manually in the Manifest but then it tells me to update to 1.0.2. Weird |
Yeah, that is a known "thing"... there is a transition over to how package manager handles this. I am going to close this issue since the primary issue appears to be resolved. |
Describe the bug
When installing and using the Sample Client Network Transform the Network animator will stop syncing the animator values and the remote Animations from Player B will not play in Player A's screen.
To Reproduce
Steps to reproduce the behavior:
Actual outcome
Remote Animations do not play in local clients and Vice-Versa.
Expected outcome
The Animations should play in local clients and remote clients and the animatiors should be synced.
Environment (please complete the following information):
Additional info
-This issue was not present in MLAPI 0.1.0
The text was updated successfully, but these errors were encountered: