MD Package Technical & APi Documentation
MD_MeshColliderRefresher
Namespace: MDPackage
A tool that generates a mesh collider with advanced settings.
Read more here (Online documentation slide)
Properties
// Choose between four refresh types - Once (in awake), PerFrame (in update), Interval (in update per interval in sec) or Never
public RefreshType CurrentRefreshType { get; set; }

public float IntervalInSeconds { get; set; }

public bool ConvexMeshCollider { get; set; }
public MeshColliderCookingOptions CookingOptions { get; set; }

// Sets the layer to '2'
public bool IgnoreRaycast { get; set; }

// Offset the mesh collider's vertices by specific vec3
public bool AddColliderOffset { get; set; }
public Vector3 ColliderOffset { get; set; }

public MeshCollider MeshColliderCache { get; set; }
Public Methods
// Update current mesh collider
public void MeshCollider_UpdateMeshCollider()
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.CurrentRefreshType = MD_MeshColliderRefresher.RefreshType.Once;
  meshColliderRefresher.AddColliderOffset = true;
  meshColliderRefresher.ColliderOffset = Vector3.down * 0.1f; // The collider will be generated slightly below the mesh
  meshColliderRefresher.MeshCollider_UpdateMeshCollider();
 }
}