• 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 rsltnyldzz · Feb 09, 2019 at 11:21 PM · 2d game2d-platformer2d-physics

Unity crashes

 Collider2D[] colliders = Physics2D.OverlapCircleAll(_enemy.transform.position, 3f, LayerMask.GetMask("Enemy"));
         foreach(Collider2D nearbyObject in colliders)
         {
             Vector2 direction = (nearbyObject.transform.position - _enemy.transform.position);
             Vector2 directionNormal = direction.normalized; ;
             Rigidbody2D rb = nearbyObject.GetComponent<Rigidbody2D>();
             if (rb != null)
                 Debug.LogError("RB found");
             rb.AddForce(30f*directionNormal, ForceMode2D.Impulse);
 
             Enemy nearEnemy = rb.GetComponent<Enemy>();
             nearEnemy.DamageEnemy(40f);
 
 
         }

First off all, I'm finding the near enemy object colliders with Physics2D.OverlapCircleAll function and I can access their rigidbodies with their colliders and add force to them successfully. But when I'm trying to access them as enemies and damage them with my DamageEnemy function w$$anonymous$$ch only changes enemies' current health, Unity is cras$$anonymous$$ng and closing by itself. I don't know what I'm doing wrong. Please help me.

Comment

People who like this

0 Show 5
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 xxmariofer · Feb 09, 2019 at 11:34 PM 0
Share

maybe it is colliding with a lot of objects? can you put a try catch in the enemy damage eney line? associate visual studio with unity editor in the nearenemy line for making sure it is finding the reference.

avatar image rsltnyldzz xxmariofer · Feb 10, 2019 at 10:02 AM 0
Share

It does collide with a lot of object of course but I'm using a layermask to avoid the problem you're assuming. I think it's having an infinite loop when I'm colliding with an enemy but I don't know why.

avatar image Crumpet · Feb 10, 2019 at 01:29 AM 0
Share

Unrelated question

what do the asterisks do? I just saw them in your code here

      **Enemy nearEnemy = rb.GetComponent<Enemy>();
                  nearEnemy.DamageEnemy(40f);**

avatar image rsltnyldzz Crumpet · Feb 10, 2019 at 09:58 AM 0
Share

I've put them on purpose for you to see where is the actual problem... They definitely don't exist in the actual code.

avatar image Crumpet rsltnyldzz · Feb 10, 2019 at 04:44 PM 0
Share

I haven't tested this because I haven't got time but maybe it's contantly getting the enemies within your physics overlap every frame, then it iterating through your enemies in the foreach loop which just keeps getting bigger since its still adding the same enemies it already added. I can't say my wording is good but it's something.

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

122 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

2D Collisions Not Working 2 Answers

Problem with 2D movement. My character is moving by himself between two points... :) 1 Answer

2D Detect collisions of a 2D block only on left/right (not top/bottom) 0 Answers

How to make slider joint immovable by the player 1 Answer

Creating a delay after being grounded so the player can still jump while falling. 2 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