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 /
avatar image
0
Question by Tony_T · Sep 20, 2017 at 03:33 PM · voidother

Affect Other Object (Custom Void)

Hello, I'm trying to affect the other game object in a custom void and pretty much I'm using the same as OnTriggerEnter (Collision other) but in a custom void and my problem is calling that void. I'm getting the error "No overload for method 'Something' takes '0' arguments" which i guess means that i have to put something inside the () when I call it but I can't figure out what exactly. I've tried Something(other : gameObject); but that just destroys the object with the script. Here is an example of my script:

     void Update () 
     {
     Something ()
     }
 
     void Something (GameObject other)
     {
     Destroy (other.gameObject);
     }
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

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by unit_nick · Sep 20, 2017 at 03:45 PM

You are calling a method (or function). void is the return type. Because it is void you do not need to return anything. If it was float Something(GameObject other) you would have to return a float, etc....

Your call to Something() on line 3 has 2 problems.

  1. It is not terminated with a semicolon ";"

  2. You are not passing an argument.

Your method Something(GameObject other) has the problem that other already is a GameObject so there is no need to get the gameObject of other like you have on line 8 other.gameObject

So what you need to do is find the other game object at some point. Either inside the Something method (in which case you don't need to pass any arguments) or outside Something in which case you need to pass a valid GameObject.

If you are not going to use an inbuilt game event (which can identify the object for you) then you will have to identify the object somehow and get a reference to it.

Comment
Add comment · Show 2 · 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
avatar image Tony_T · Sep 21, 2017 at 09:12 AM 0
Share

I did forget the semicolon in the example above but that wasn't the issue. I'm still confused on what arguement I should use to call it though. An example would be perfect. I just need the line to call it. Or is there any way i can just destroy the other game object and not the one that has the script in the Update void?

avatar image unit_nick Tony_T · Sep 21, 2017 at 09:32 AM 1
Share

Basically you probably just want to use a variation of hte example that @OusedGames pointed to

 void OnTriggerEnter(Collider collider)
 {
         Destroy(collider.gameObject);
 } 

or

 void OnCollisionEnter(Collision collision)
 {
         Destroy(collision.gameObject);
  } 

Only overridden functions of the $$anonymous$$onoBehaviour class will receive the Collider or Collision objects.

avatar image
0

Answer by OusedGames · Sep 20, 2017 at 03:50 PM

 void OnTriggerEnter(Collider col){
 
          //Direct Call
          CustomVoidMethod(col.gameobject);
 
          //Only call if it has a certain tag/id
          if(col.CompareTag("Enemy"))
                 CustomVoidMethod(col.gameobject);
 }    
 void CustomVoidMethod(GameObject go){
         //Do something
         Destroy(go);
 }
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

70 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

Related Questions

Reset other animations on screen 0 Answers

Can't see each other in multiplayer 2 Answers

Get center direction Vector3 between two other direction Vectors 1 Answer

Using an RPC call within an RPC function? 2 Answers

Enexpected Symbol Void (start) 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