Skip to main content

Collider Binders

Binders that drive collider properties from the ViewModel.


Common binders

BinderData typeDescription
ColliderEnabledBinderboolCollider.enabled
ColliderIsTriggerBinderboolCollider.isTrigger
ColliderMaterialBinderPhysicsMaterialCollider.material
ColliderMaterialSwitcherBinderboolPhysicsMaterialPicks a material by condition
ColliderProvidesContactsBinderboolCollider.providesContacts
ColliderContactOffsetBinderfloatCollider.contactOffset, minimum 0.0001
ColliderIncludeLayersBinderintCollider.includeLayers
ColliderExcludeLayersBinderintCollider.excludeLayers

BoxCollider

BinderData typeDescription
BoxColliderCenterBinderVector3BoxCollider.center
BoxColliderSizeBinderVector3BoxCollider.size, negative components are raised to 0

CapsuleCollider

BinderData typeDescription
CapsuleColliderCenterBinderVector3CapsuleCollider.center
CapsuleColliderRadiusBinderfloatCapsuleCollider.radius, not below 0
CapsuleColliderHeightBinderfloatCapsuleCollider.height, not below 0
CapsuleColliderDirectionBinderintCapsuleCollider.direction, 0..2

SphereCollider

BinderData typeDescription
SphereColliderCenterBinderVector3SphereCollider.center
SphereColliderRadiusBinderfloatSphereCollider.radius, not below 0

MeshCollider

BinderData typeDescription
MeshColliderMeshBinderMeshMeshCollider.sharedMesh
MeshColliderConvexBinderboolMeshCollider.convex
MeshColliderCookingOptionsBinderMeshColliderCookingOptionsMeshCollider.cookingOptions

Collider2D

BinderData typeDescription
Collider2DIsTriggerBinderboolCollider2D.isTrigger
Collider2DMaterialBinderPhysicsMaterial2DCollider2D.sharedMaterial
Collider2DOffsetBinderVector2Collider2D.offset, finite values only
Collider2DDensityBinderfloatCollider2D.density, not below 0; effective with Rigidbody2D.useAutoMass
BoxCollider2DSizeBinderVector2BoxCollider2D.size, negative components are raised to 0
CapsuleCollider2DSizeBinderVector2CapsuleCollider2D.size, negative components are raised to 0
CircleCollider2DRadiusBinderfloatCircleCollider2D.radius, not below 0

Supported modes

Every collider binder supports OneWay, OneTime and OneWayToSource. TwoWay is not available.


Example

[ViewModel]
public partial class DamageZoneViewModel
{
[OneWayBind] private bool _isActive;
[OneWayBind] private float _radius;
}

In the Inspector:

  • ColliderEnabledBinder → bind to IsActive
  • SphereColliderRadiusBinder → bind to Radius

See also