using UnityEngine; namespace Unity.Physics.Authoring { [CreateAssetMenu(menuName = "Unity Physics/Physics Material Template", fileName = "Physics Material Template", order = 508)] public sealed class PhysicsMaterialTemplate : ScriptableObject, IPhysicsMaterialProperties { PhysicsMaterialTemplate() {} public CollisionResponsePolicy CollisionResponse { get => m_Value.CollisionResponse; set => m_Value.CollisionResponse = value; } public PhysicsMaterialCoefficient Friction { get => m_Value.Friction; set => m_Value.Friction = value; } public PhysicsMaterialCoefficient Restitution { get => m_Value.Restitution; set => m_Value.Restitution = value; } public PhysicsCategoryTags BelongsTo { get => m_Value.BelongsTo; set => m_Value.BelongsTo = value; } public PhysicsCategoryTags CollidesWith { get => m_Value.CollidesWith; set => m_Value.CollidesWith = value; } public CustomPhysicsMaterialTags CustomTags { get => m_Value.CustomTags; set => m_Value.CustomTags = value; } [SerializeField] PhysicsMaterialProperties m_Value = new PhysicsMaterialProperties(false); void Reset() => OnValidate(); void OnValidate() => PhysicsMaterialProperties.OnValidate(ref m_Value, false); } }