I\'m using the new 2d tools in Unity3d, and I have a game object with a 2d polygonal collider attached to it. I just want to understand how to get the width of this object! Why
There are two ways(at least) to get this.
var renderer = gameObject.GetComponent<Renderer>();
int width = renderer.bounds.size.x;
or
var collider2D= gameObject.GetComponent<Collider2D>();
var collider = collider2D.collider; //Edit, thanks to Arttu's comment!
int width = collider.bounds.size.x;
For your 2D case, the former might be more appropriate.
According to this post, looks like 2D colliders indeed should have the missing bounds variable, and it will be made available in a future release.
So looks like for now you'll have to make do with a workaround. One could be to add a Sprite Renderer component to your GameObject, add a dummy image to it and set it disabled so it's never visible. Then you can use gameObject.renderer.bounds
to get the sprite bounds.