Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
0
Question by Rati · Jul 22, 2013 at 01:20 PM · gameobjecttransformnetworkserializeonserializenetworkview

How to send a gameobject in the OnSerializeNetworkView()

Hello, I'm a beginner with network. i have a multiplayer scene. each player can have a "Target", the target is another gameobject (another player, or a environment élément).

But, when i want to send the player script parameters on the network with OnSerializeNetworkView, i cannot send his target.

per exemple : If I send a integer "health" , it work fine

 > public int currentHealth; void
 > OnSerializeNetworkView(BitStream
 > stream, NetworkMessageInfo info) {
 >     int health = 0;
 >     if (stream.isWriting)
 >     {
 >         health = currentHealth;
 >         stream.Serialize(ref health);
 >     }
 >     else
 >     {
 >         stream.Serialize(ref health);
 >         currentHealth = health;
 >     } }

But when i send a transform, or gameobject, it dont work

 public Transform currentTarget;
 
 void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
 {
     Transform target ;
     if (stream.isWriting)
     {
         target = currentTarget;
         stream.Serialize(ref target);
     }
     else
     {
         stream.Serialize(ref target);
         currentTarget = target;
     }
 }

http://docs.unity3d.com/Documentation/ScriptReference/BitStream.Serialize.html i read tere, i can only use bool, char, short, int, float, Quaternion, Vector3 and NetworkPlayer

So, how can i send my player target, if i cannot send Gameobject, of transform.. ? I tried to send the gameobject ID, but i canot getting the gameobject back with it.

Comment
Add comment · Show 3
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
avatar image Rati · Jul 22, 2013 at 10:20 PM 0
Share

REally ? nobody can help me ? :(

avatar image Jamora · Jul 22, 2013 at 10:32 PM 0
Share

I have a vague answer for you; more like a nudge in the right direction... You need to have each targettable object identifiable by both (all) computers. This can be done by having the same ID number on each object on each computer or a distinctive name, which can then be found. These values can be sent in OnSerializeNetworkView... however an RPC call might be better suited for this case, since OnSerializeNetworkView is called, by default, 15 times per second.

avatar image tcboy88 · Jan 06, 2015 at 11:20 AM 0
Share

Sorry for bumping this question. I also want to know why it doesn't work like what the thread starter asked. And I also want to know how to send custom class or custom variable using OnSerializeNetworkView.

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.

Follow this Question

Answers Answers and Comments

17 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

Related Questions

Data Synchronization using OnSerializeNetworkView 1 Answer

OnSerializeNetworkView problems with clients 1 Answer

GameObject not working with variable in C# script 3 Answers

Serialize unity classes 0 Answers

change the front point or head of a GameObject 1 Answer


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