This appears to happen when using materials that have parameters and instantiating them from verse and having the carryable as the only referencing object:
(rawdogging code below so might be syntactically wrong but you get the point)
This fails:
MFail := M_Mat{Param1:=1.0}
Carryable.SetCarryableMaterial(MFail)
This seems to work as workaround:
DummyEntity := entity{}
DummyMesh := some_mesh:
Entity := DummyEntity
Material1 := M_Mat{Param1:=1.0}
// add this entity to scene somewhere
Carryable.SetCarryableMaterial(DummyMesh.Material1)
Someone else can maybe test and confirm that this works before we declare this a workaround
I can also confirm this, I have the exact same issue with setting material instances with unique parameter values on carryables. The workaround seems to work but would be nice to have this fixed properly in an update.