Page MenuHomeFeedback Tracker

"Material Override" - BaseLoadoutClothComp not working well.
Awaiting internal Testing, NormalPublic

Description

Hello guys, we have already discussed this in detail in the Discord and there seems to be a problem with the "Material Override" of BaseLoadoutClothComponent. You have already mentioned in the wiki that this function is not as secure as the prefab variant.

The problem: Unfortunately, “Material Override” doesn’t work as it should for clothing. If you place a prefab in a storage or place the prefab directly in the world, the "Material Override" function works without any problems and the new material is displayed accordingly.

However, if you assign this prefab, for example a shirt directly to a character: "Character_US_AMG.et" - "BaseLoadoutManagerComponent" then the override is completely ignored and the unit always spawns with the material that is assigned to the model. This is the case if you spawn the character as an AI group member.

There is now the option to use the Prefab variant instead of the "Material Override" function. However, 3 prefabs must be created for each color variant of the shirt.

1x Main Prefab with InventoryComponent
1x prefab for the item variant of the model
1x prefab for the worn variant of the model.

So if you now have a shirt in 5 different colors, 15 prefabs have to be created for it. This is very disruptive and time consuming.

Please check the "Material Override" function of "BaseLoadoutClothComponent" so that it also works reliably for characters with BaseLoadoutManagerComponent.

If you have any questions, you can contact me or bacon in the Discord.

Details

Severity
Tweak
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
General
Steps To Reproduce

1: Create a prefab of a piece of clothing, for example a shirt
2: Use "Material Override" in BaseLoadoutClothComp. for the item and worn version
3: Create a Character and use "BaseLoadoutManagerComp." where you now save the created shirt as a prefab.

You'll notice that "Material Override" doesn't work.

Event Timeline

R34P3R created this task.Mar 10 2024, 8:07 PM

R34P3R
Hi, sorry, but its also not working well with the civillian stuff in 1.1. For example: https://enfusionengine.com/api/redirect?to=enfusion://ResourceManager/~ArmaReforger:Prefabs/Characters/Uniforms/Pants_Trousers_01/Pants_Trousers_01_base.et This is available in 4 different Variants. If i now equip one of this prefab to a group member with BaseLoadoutManagerComp, the charcater will also spawn with the base material which is assigned to the XOB/Mesh itself. So, also here the Material Override is not working.

reyhard
Alright, please report it then. I have few days off right now so I might forget about it once I'm back to work

Geez changed the task status from New to Awaiting internal Testing.Mar 12 2024, 11:46 AM

@R34P3R - I cannot reproduce it on my end - could you perhaps share an addon where it is happening?

@reyhard - Hi, please see: https://www.youtube.com/watch?v=4FVcheNLL50

and here is the character Prefab:

SCR_ChimeraCharacter : "{836E7E39AAC5888B}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_Base.et" {
 ID "520EC961A090BBD5"
 components {
  SCR_CharacterInventoryStorageComponent "{520EA1D2DB118DAC}" {
   components {
    SCR_EquipmentStorageComponent "{56B49DA9722B635D}" {
     InitialStorageSlots {
      SCR_EquipmentStorageSlot BinocularSlot {
      }
      SCR_EquipmentStorageSlot WristwatchSlot {
       Prefab "{78ED4FEF62BBA728}Prefabs/Items/Equipment/Watches/Watch_SandY184A.et"
      }
     }
    }
   }
   Attributes ItemAttributeCollection "{52BAC70D641B89B1}" {
    CustomAttributes {
     SCR_CharacterInventoryPreviewAttributes "{5A5E681387647A43}" {
     }
    }
   }
  }
  FactionAffiliationComponent "{520EC961FB0A2E90}" {
   "faction affiliation" "OPFOR"
  }
  CharacterWeaponSlotComponent "{520EA1D2F659CFAB}" {
   AttachType InventoryStorageSlot "{0C3DA650B52E120B}" {
   }
   WeaponTemplate "{4890F64F4A4D567E}Prefabs/Weapons/Rifles/AK12/AK12_base.et"
  }
  CharacterWeaponSlotComponent "{520EA1D2F659CFDC}" {
   WeaponTemplate "{C0F7DD85A86B2900}Prefabs/Weapons/Handguns/PM/Handgun_PM.et"
  }
  SCR_CharacterIdentityComponent "{5584CBC63E092DBC}" {
   Identity Identity "{5584CBC6363C648B}" {
    VisualIdentity VisualIdentity "{56E6D9456009D1C4}" {
     Head "{0F6C19B0574DCBCA}Prefabs/Characters/Heads/Head_White_03.et"
     Body "{0023F898C0FF18AA}Prefabs/Characters/Basebody/CharacterBasebody.et"
    }
    SoundIdentity SoundIdentity "{56E6D945D8F79290}" {
     VoiceID 100
    }
   }
  }
  BaseLoadoutManagerComponent "{520EA1D2DB11821E}" {
   Slots {
    LoadoutSlotInfo Hat {
     Enabled 0
    }
    LoadoutSlotInfo Jacket {
     Prefab "{3BAF8F5CB8E2A381}Prefabs/Character/mil_shirt_light/mil_shirt_light_OD_dirty.et"
     Name "Shirt"
    }
    LoadoutSlotInfo ArmoredVest {
    }
    LoadoutSlotInfo Pants {
     Prefab "{ABEA0C26148C15E1}Prefabs/Character/CargoPants/cargo_pants_OD.et"
    }
    LoadoutSlotInfo Boots {
     Prefab "{217AC8E63E01908D}Prefabs/Character/Boots/hitops_worn_BK.et"
    }
    LoadoutSlotInfo Back {
     Prefab ""
    }
    LoadoutSlotInfo Vest {
     Prefab "{9713FE6DDCC9510D}Prefabs/Characters/Vests/Vest_Lifchik/Vest_Lifchik.et"
    }
    LoadoutSlotInfo REAPER_NVG {
     Enabled 0
    }
    LoadoutSlotInfo REAPER_HelmetLight {
     Enabled 0
    }
    LoadoutSlotInfo REAPER_Goggles {
     Enabled 0
    }
    LoadoutSlotInfo REAPER_Gloves {
     Enabled 0
    }
   }
  }
  SCR_InventoryStorageManagerComponent "{520EA1D2DB118DE5}" {
   InitialInventoryItems {
    ItemsInitConfigurationItem "{606E7A4C6A269151}" {
     TargetStorage "Prefabs/Characters/Vests/Vest_Lifchik/Vest_Lifchik.et"
     PrefabsToSpawn {
      "{73950FBA2D7DB5C5}Prefabs/Items/Equipment/Radios/Radio_ANPRC68.et" "{61D4F80E49BF9B12}Prefabs/Items/Equipment/Compass/Compass_SY183.et" "{13772C903CB5E4F7}Prefabs/Items/Equipment/Maps/PaperMap_01_folded.et" "{A81F501D3EF6F38E}Prefabs/Items/Medicine/FieldDressing_US_01.et" "{A81F501D3EF6F38E}Prefabs/Items/Medicine/FieldDressing_US_01.et" "{D70216B1B2889129}Prefabs/Items/Medicine/Tourniquet_01/Tourniquet_US_01.et" "{0D9A5DCF89AE7AA9}Prefabs/Items/Medicine/MorphineInjection_01/MorphineInjection_01.et" "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et" "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et" "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et" "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et"
     }
    }
    ItemsInitConfigurationItem "{606E7A4C6A26915F}" {
     TargetStorage "Prefabs/Character/mil_shirt_light/mil_shirt_light_OD_dirty.et"
     PrefabsToSpawn {
      "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et" "{0A84AA5A3884176F}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Last_5Tracer.et"
     }
    }
   }
  }
 }
}
reyhard added a comment.EditedMar 14 2024, 11:41 AM

Is that character working fine for you in Play Mode? I cannot use your prefab since it using almost entirely custom content

Edit: It seems it is happening in Prefab Edit Mode mainly from what I'm see - in regular World Editor it somehow works

R34P3R added a comment.EditedMar 14 2024, 12:14 PM

@reyhard - Hey, the Character works well. I use them as Group Member of AiGroup. But it always spawns with the wrong Color Variant. So, the Shirt, Pants always using the Materials from the Model and not from the Override. i also tryed with a default Character by just changing the Cloth. Also here the Override is not working. If you like i can make a Video.

@reyhard - Here is a test with a base Character - https://www.youtube.com/watch?v=e8cvbG0HQ-0

You can see: The green fisherman pants are equipped, but its spawn wit thr yellow one.

@reyhard Any news on this? Ty

@reyhard

Hi, i still have this issue with 2 Models. I solved this by adding 3 enties to the Material override! But the model does only have 2 Materials (2 UV). Now i set the first Material in Slot0 then i leave Slot1 empty and the second one i put into Slot3. Now its working. But why i need to add 3 Materials to override if there are only 2 Materials in the base model?