SetCarryableMaterial no longer works in 41.20 (FORT-1113712 regression)

Summary

carryable_spawner_device.SetCarryableMaterial does not appear to work in v41.20 in every variation we tested. FORT-1113712 was closed as “Fixed” for this release. Our published island, which shipped with the known scene-reference workaround, rendered correctly on 41.10 and broke this morning when 41.20 went live, with no change to the island on our side.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Devices

Steps to Reproduce

  1. Place a Carryable Item Spawner; assign a Custom Mesh with multiple material slots.
  2. Create a Material Instance named MI_Test that looks clearly different from the mesh’s default slot materials.
  3. In Verse, when handing the item to a player:
Spawner.SetCarryableMaterial(MI_Test{}, ?Index := 0)
Spawner.Spawn()
Spawner.ForcePlayerToCarry(Player)
  1. Observe the carried item.

Expected Result

Slot 0 of the carried item renders MI_Test.

Observed Result

The carried item renders the mesh’s default slot materials. The calls execute without errors and have no visible effect. We tested and confirmed the same result with: the call before Spawn(), after Spawn(), after ForcePlayerToCarry (plus a frame), re-set at every one of those stages in one flow, a one-time set at device OnBegin, Material Instance assets with no Verse-set parameters, Verse-parameterized instances, and the previously working workaround of assigning the exact instance to a Scene Graph mesh_component slot before passing it. Assigning the same material instances to Scene Graph mesh_component slots still renders correctly. Only this API is affected.

Platform(s)

All

Island Code

6221-3321-9153

Video

FORT-1126616’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.