set_physical_material_properties
Set friction, restitution, density, and other surface properties on a UPhysicalMaterial asset in Unreal Engine. Updates only specified fields and verifies changes.
Instructions
Load a UPhysicalMaterial, set surface/object properties, save, and read back (read-modify-write; only provided fields change; idempotent set-to-fixed-value).
Returns: { physical_material_path: string, friction: number, static_friction: number, restitution: number, density: number, friction_combine_mode: string, override_friction_combine_mode: bool, restitution_combine_mode: string, override_restitution_combine_mode: bool, surface_type: string, raise_mass_to_power: number, sleep_linear_velocity_threshold: number, sleep_angular_velocity_threshold: number, friction_applied: bool, static_friction_applied: bool, restitution_applied: bool, density_applied: bool, friction_combine_mode_applied: bool, restitution_combine_mode_applied: bool, surface_type_applied: bool, raise_mass_to_power_applied: bool, sleep_linear_velocity_threshold_applied: bool, sleep_angular_velocity_threshold_applied: bool, updated: bool }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| density | No | Optional new Density value (g/cm^3, >= 0) | |
| friction | No | Optional new (kinetic) Friction value (>= 0) | |
| restitution | No | Optional new Restitution value (clamped to [0,1]) | |
| surface_type | No | Optional EPhysicalSurface by reflected name (e.g. 'SurfaceType_Default','SurfaceType1') or numeric value | |
| static_friction | No | Optional new StaticFriction value (>= 0) | |
| raise_mass_to_power | No | Optional RaiseMassToPower (clamped to [0.1,1]) | |
| friction_combine_mode | No | Optional Average|Min|Multiply|Max (sets bOverrideFrictionCombineMode true) | |
| physical_material_path | Yes | /Game path to the physical material asset. | |
| restitution_combine_mode | No | Optional Average|Min|Multiply|Max (sets bOverrideRestitutionCombineMode true) | |
| sleep_linear_velocity_threshold | No | Optional SleepLinearVelocityThreshold (>= 0) | |
| sleep_angular_velocity_threshold | No | Optional SleepAngularVelocityThreshold (>= 0) |