Question by 
               Reality-Gaming-Studio · Feb 07, 2016 at 11:10 AM · 
                unity 5mobilephysics2d2d-physicsoptimize  
              
 
              Physics2D Optimize Physics.UpdateBodies.
Hi I'm working on 2D shooting game, I'm having problem of performance. I see the profiler, performance problem cause because of Physics.UpdateBodies. Physics2D.ColliderTransformChanged. Physics2D.ColliderTransformPositionRotationChanged. Physics2D.PolygonColliderCreate. Physics2D.ColliderCleanup.
Here's the code: Bullet
 using UnityEngine;
 using System.Collections;
 
 [RequireComponent(typeof(Rigidbody2D))]
 public class UbhNonKinematic2D : UbhMonoBehaviour
 {
 #if UNITY_4_3
     Vector3 _FixedPosition = Vector3.zero;
     float _OrgGravityScale;
 #endif
 
     void Awake ()
     {
 #if !UNITY_4_3
         rigidbody2D.isKinematic = true;
         enabled = false;
         return;
 #else
         _FixedPosition = transform.localPosition;
 #endif
     }
 
     void Update ()
     {
 #if !UNITY_4_3
         enabled = false;
         return;
 #else
         if (rigidbody2D == null) {
             return;
         }
         rigidbody2D.velocity = Vector3.zero;
         rigidbody2D.angularVelocity = 0;
         transform.localPosition = _FixedPosition;
 #endif
     }
 
     void OnEnable ()
     {
 #if !UNITY_4_3
         enabled = false;
         return;
 #else
         if (rigidbody2D == null) {
             return;
         }
         _OrgGravityScale = rigidbody2D.gravityScale;
         rigidbody2D.gravityScale = 0f;
 #endif
     }
 
     void OnDisable ()
     {
 #if !UNITY_4_3
         return;
 #else
         if (rigidbody2D == null) {
             return;
         }
         rigidbody2D.gravityScale = _OrgGravityScale;
 #endif
     }
 }
Enemy
 using UnityEngine;
 using System.Collections;
 
 [RequireComponent(typeof(UbhSpaceship))]
 public class UbhEnemy : UbhMonoBehaviour
 {
     public const string NAME_PLAYER = "Player";
     public const string NAME_PLAYER_BULLET = "PlayerBullet";
     const string ANIM_DAMAGE_TRIGGER = "Damage";
     [SerializeField]
     int _Hp = 1;
     [SerializeField]
     int _Point = 100;
     [SerializeField]
     bool _UseStop = false;
     [SerializeField]
     float _StopPoint = 2f;
     UbhSpaceship _Spaceship;
 
     void Start ()
     {
         _Spaceship = GetComponent<UbhSpaceship>();
 
         Move(transform.up.normalized * -1);
     }
 
     void FixedUpdate ()
     {
         if (_UseStop) {
             if (transform.position.y < _StopPoint) {
                 rigidbody2D.velocity = Vector2.zero;
                 _UseStop = false;
             }
         }
     }
 
     public void Move (Vector2 direction)
     {
         rigidbody2D.velocity = direction * _Spaceship._Speed;
     }
 
     void OnTriggerEnter2D (Collider2D c)
     {
         // *It is compared with name in order to separate as Asset from project settings.
         //  However, it is recommended to use Layer or Tag.
         if (c.name.Contains(NAME_PLAYER_BULLET)) {
             UbhSimpleBullet bullet = c.transform.parent.GetComponent<UbhSimpleBullet>();
 
             UbhObjectPool.Instance.ReleaseGameObject(c.transform.parent.gameObject);
 
             _Hp = _Hp - bullet._Power;
 
             if (_Hp <= 0) {
                 FindObjectOfType<UbhScore>().AddPoint(_Point);
 
                 _Spaceship.Explosion();
 
                 Destroy(gameObject);
             } else {
                 _Spaceship.GetAnimator().SetTrigger(ANIM_DAMAGE_TRIGGER);
             }
         }
     }
 }
How to optimize?
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Physics2D Optimize 1 Answer
Object dragging on mobile slow and doesn't follow finger properly 0 Answers
How can I isolate just the character to slow down 0 Answers
Problem when build terrain on android device 0 Answers
Player can only jump once!? 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                