Version: 2023.2
Language : English
Select Tool
Hexagonal Tilemaps

Tilemap Collider 2D

The Tilemap ColliderAn invisible shape that is used to handle physical collisions for an object. A collider doesn’t need to be exactly the same shape as the object’s mesh - a rough approximation is often more efficient and indistinguishable in gameplay. More info
See in Glossary
2D
component generates Collider shapes for TilesA simple class that allows a sprite to be rendered on a Tilemap. More info
See in Glossary
on a TilemapA GameObject that allows you to quickly create 2D levels using tiles and a grid overlay. More info
See in Glossary
component on the same GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
. When you add or remove Tiles on the Tilemap component, the Tilemap Collider 2D updates the Collider shapes during LateUpdate. It batches multiple Tile changes together to ensure minimal impact on performance.

Tilemap Collider 2D properties

Tilemap Collider 2D window
Tilemap Collider 2D window
Property Function
Max Tile Change Count Set the maximum number of Tile changes (such as adding/removing Tiles to the Tilemap) to accumulate before doing a full Collider rebuild instead of an incremental rebuild.

Note: A high number of accumulated changes can cause the incremental rebuild of the Tilemap Collider 2D to be slower than a full rebuild. Decrease this value to resolve this issue.
Extrusion Factor Set the amount (in Unity world space units) to extrude the Collider shape of each Tile. This minimizes the gaps between the Collider shapes of neighboring Tiles and brings them to within the minimum Vertex Distance set in the Composite Collider 2D, which can then compose the Tile Colliders together.

Note: This property isn’t available by default. It becomes available when you enable Used by Composite, and attach a Composite Collider 2D to the same GameObject.
Material Select the Physics Material 2DUse to adjust the friction and bounce that occurs between 2D physics objects when they collide More info
See in Glossary
that determines properties of collisionsA collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a Rigidbody component and is in motion. More info
See in Glossary
, such as friction and bounce.
Is Trigger Enable this if you want this Collider 2D to behave as a trigger. The physics system ignores this Collider when this is enabled.
Used by Effector Enable this if you want the Collider 2D to be used by an attached Effector 2D.
Used by Composite Enable this to use this Collider with an attached Composite Collider 2D.

When you enable Used by Composite, all properties except Offset will no longer be available in the Tilemap Collider 2D component and the attached Composite Collider 2D component controls the Collider properties instead.
Offset Set the local offset values of the Collider 2D geometry.
Layer Overrides Expand for the Layer override settings.
Layer Override Priority Assign the decision priority that this Collider2D uses when resolving conflicting decisions on whether a contact between itself and another Collision2D should happen or not. Refer to its API page for more information.
Include Layers Select the additional Layers that this Collider 2D should include when deciding if a contact with another Collider2D should happen or not. Refer to its API documentation for more information.
Exclude Layers Select the additional Layers that this Collider 2D should exclude when deciding if a contact with another Collider2D should happen or not. Refer to its API documentation for more information.
Force Send Layers Select the Layers that this Collider 2D is allowed to send forces to during a Collision contact with another Collider2D. Refer to its API documentation for more information.
Force Receive Layers Select the Layers that this Collider 2D can receive forces from during a Collision contact with another Collider2D. Refer to its API documentation for more information.
Contract Capture Layers Select the Layers of other Collider 2D, involved in contacts with this Collider2D, that will be captured. Refer to its API documentation for more information.
Callback Layers Select the Layers that this Collider 2D, during a contact with another Collider2D, will report collision or trigger callbacks for. Refer to its API documentation for more information.

Collider Type’s effect on Collider generation

The Collider shapes generated for each Tile in the Tilemap depend on the desired Collider type set in the Tile Asset’s properties. The component’s shape generation behavior corresponds to the Collider Types in the following ways:

Collider Type Function
None The Tilemap Collider 2D component does not generate any Collider shapes for this Tile.
SpriteA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
See in Glossary
The Tilemap Collider 2D component generates a Collider shape based on the Sprite assigned to the Tile. The Collider shape is based on the Custom Physics Shape set for the Sprite.
Grid The Tilemap Collider 2D component generates a Collider shape based on the shape of the Grid cell, which is determined by the selected Cell Layout of the Grid component.

Tilemap and Composite Colliders

You can use the Tilemap Collider 2D component together with the Composite Collider 2D component. When you add both components to the same Tilemap, Unity composites the Collider shapes of neighboring Tiles together. This smoothens the corners and edges between Collider shapes in neighboring Tiles.

Using both components together reduces the number of individual Collider shapes involved in a physics update, which reduces the amount of calculations required, and minimizes the impact on performance.

Scripting API tips

If you require immediate changes to happen to the Collider, use Tilemaps.TilemapCollider2D.ProcessTilemapChanges to process them immediately. You can use Tilemaps.TilemapCollider2D-hasTilemapChanges to check if any processing is required.

Additional resources


  • New properties added in Unity 2020.1
  • Tilemaps added in 2017.2 NewIn20172

TilemapCollider2D

Select Tool
Hexagonal Tilemaps
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961