MD Package Technical & APi Documentation
MD_MeshColliderRefresher
Namespace: MDPackage
Essential component for general mesh-collider refreshing - the component allows you to refresh a mesh collider on certain meshes.
Read more here (Online documentation slide)
Public Methods
// Update current mesh collider
public void MeshCollider_UpdateMeshCollider()
Public Fields and Properties
// Choose between four refresh types - Once, PerFrame, Interval or Never
public RefreshType refreshType = RefreshType.Once;

public float intervalInSeconds = 1f;
public bool convexMeshCollider = false;
public MeshColliderCookingOptions cookingOptions = ~MeshColliderCookingOptions.None;

public bool ignoreRaycast = false;

// Define a collider offset in world space
public Vector3 colliderOffset = Vector3.zero;

public MeshCollider MeshColliderCache { get; }
Examples
The following paragraphs contain MeshColliderRefresher used in a practical example. Create a new mesh collider refresher and update its source.
using UnityEngine;
using MDPackage;

[RequireComponent(typeof(MeshFilter))]
public class SampleScript : MonoBehaviour
{
private MD_MeshColliderRefresher meshColliderRefresher;

private void Start()
 {
  // Add MCR to the current meshFilter gameObject
  meshColliderRefresher = gameObject.AddComponent<MD_MeshColliderRefresher>();
  // Update mesh collider afterwards with custom offset
  meshColliderRefresher.refreshType = MD_MeshColliderRefresher.RefreshType.Once;
  meshColliderRefresher.colliderOffset = Vector3.down * 0.1f; // The collider will be generated slightly below the mesh
  meshColliderRefresher.MeshCollider_UpdateMeshCollider();
 }
}