Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
avatar image
0
Question by yackson-cc · May 28, 2016 at 05:02 PM · networking

Unet, ¿Spawn an object on server from an object client with localPlayerAuthority set false?

Hi!

I am having this problem:

"AssingClientAuthority can only be used for Network identity with a localPlayerAuthority set."

I understand that the objects can are spawned only on server, and I use to the sentence [Command] to do it:

 [Command]
     void CmdScrGunShot(Vector3 argPosition, Quaternion argRotation)
     {
         var tempObject = (GameObject) Instantiate(prefabBullet, argPosition, argRotation);
         tempObject.GetComponent<Rigidbody>().velocity = tempObject.transform.forward*8;
         Destroy(tempObject, 2f);
         NetworkServer.Spawn(tempObject);
     }

I too know that only objects with LocalPlayerAuthority = true; can execute Cmd functions.

then, ¿How do I can spawn an object in server from a object with local player authority set false?

Thanks for helpme!

Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by yackson-cc · May 29, 2016 at 05:47 AM

Hi guys!

I find a solution for it, is not the best however, this work good.

I created a class new, how this:

 using UnityEngine;
 using System.Collections;
 using UnityEngine.Networking;
 
 public class ClassSpawnerOnServer : NetworkBehaviour 
 {
     public GameObject prefabGubBullet;//is for create a new object
     Transform prefabSpawnTranform;//is for set direction to the object instanciated
     bool spawnGunBullet;//if true, instance a new object prefab
 
     void Update () 
     {
         scrSpawnGunBullet();
     }
 
     public void scrSetSpawnGunBullet(Transform argSpawnTranform)
     {//this function is called from a object with "isLocalPlayerAuthority = false"
         spawnGunBullet = true;//set true, for create a new object after
         prefabSpawnTranform = argSpawnTranform;
     }
 
     void scrSpawnGunBullet()
     {//this function is execute one time per frame and check if need create a new object of type prefab
         if(spawnGunBullet)
         {
             CmdScrSpawnGunBulletOnSever(prefabSpawnTranform.position, prefabSpawnTranform.rotation);//Execute the function on server !!"important, this Class is a component of LocalPlayerAuthority = true"
             spawnGunBullet = false;//set false, for not create more objects    
             prefabSpawnTranform = null;
         }    
     }
 
     [Command]
     void CmdScrSpawnGunBulletOnSever(Vector3 argPosition, Quaternion argRotation)
     {
         var tempObject = (GameObject) Instantiate(prefabGubBullet, argPosition, argRotation);
         tempObject.GetComponent<Rigidbody>().velocity = tempObject.transform.forward*8;
         Destroy(tempObject, 2f);
         NetworkServer.Spawn(tempObject);//spawn on the server
     }
 }

any question about it?

Comment
Add comment · Share
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

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

75 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

Related Questions

Network Transport Layer API does not work with iOS to PC???? 0 Answers

[UNET] Rigidbody physics sync 0 Answers

Uploading to Photobucket 0 Answers

Unet: How can I know the percentage of packets lost? 1 Answer

starting host and creating match 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