• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by Taelia · Jul 10, 2017 at 03:02 PM · errornetworkconnectionsync

SyncVars stop working after restarting Host

I have just started using the networking HLAPI, this issue might just be my lack of understanding. This is a test project to broaden my understanding of Unity's networking system. Please help me see what is going wrong here.

 
I have two instances of my application running. The application has a 'chatbox' (`_client.Send()`) and a 'timer (`[SyncVar]`). On both the chatbox and the timer, I have a NetworkIdentity set.

Using the NetworkManagerHUD, I select one of the applications as Host, and one as a Client.

Works perfect, my code allows messages to be sent and received, and using a SyncVar, the timer on screen stays updated.

 
-If I disconnect the Client, the chatbox and timer disappear (expected for NetworkIdentity objects), and if I reconnect the Client, automatically enable again, the chatbox works, the timer jumps to the correct value.

-If I disconnect the Host, restart the Client as the new Host, and set the old Host as the Client, everything works just fine but in reverse. Same as above.

-If I disconnect the Host, and start the -same- Host, and then reconnect the Client, it messes up.
First of all, the chatbox and the timer stay disabled and won't enable again even after connecting. (debug shows connecting worked).
If I manually enable them through the editor and then send a message from the Host, the chatbox seems to work just fine (ergo, connection worked), messages are sent, received and printed.
However, the timer stays not working. Setting a breakpoint in the code also shows that the var isn't updated, and the editor also shows the SyncVar value stays zero.

-Restarting the Host app completely fixes the issue and allows the Client to sync fully again. Restarting the Client app doesn't affect anything.

 
For reference, the code. This is all.

 public class GameManager : NetworkBehaviour
 {
     [SyncVar]
     public float GameTime;
 
     void Update () {
         if (!isServer) return;
 
         GameTime += Time.deltaTime;
     }
 }

Thank you for your reply.

EDIT: I've been debugging some.

 public class GameManager : NetworkBehaviour
  {
      [SyncVar]
      public float GameTime;
  
      void Update () {
          if (!isServer) return;
  
          GameTime += Time.deltaTime;
      }
   
     public override bool OnSerialize(NetworkWriter writer, bool initialState)
     {
         return true;
      }
  }

Playing a breakpoint on return true; there is being called no problem the first time I start the Host. When I Stop and then restart the host, the breakpoint is no longer being hit.

In other words, OnSerialize stops being called when the Host restarts. (I know using an OnSerialize override stops SyncVars natural syncing from working. The point being that it isn't even being called)

Could be a hint for a possible solution. :(

EDIT2: Moved to Photon.

Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

111 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Network.Connect returns NoError but no connection? 0 Answers

Can't Establish connection using NetworkTransport 0 Answers

Best way to sync scene with new connections? 0 Answers

Service Unavailable, Please Try Again Later popping up for 2 days now 0 Answers

How do I setup the Unity Network Connection Facilitator 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges