Vehicle and dynamic change of tire FrictionScale

Hi

I’m making (arcade) racing game and need to change UTireType at runtime, to be honest I really need to call UTireType::SetFrictionScale from time to time
when my car hit’s some powerup (powerup increases or decreases FrictionScale).
Basically when there is only one vehicle on the map, this is not a problem as I could call:

UWheeledVehicleMovementComponent4W *Vehicle4W = Cast<UWheeledVehicleMovementComponent4W>(GetVehicleMovement());
Vehicle4W->Wheels[0]->TireType->SetFrictionScale(…)

but this will change FrictionScale in ALL wheels in the world that use specific UTireType
(say I have my car consist of ArcadeFrontWheel and ArcadeRearWheel, and they have respectivelly ArcadeFrontTireType and ArcadeBackTireType assigned as tire data).

Now when I have say 8 vehicles on the map … I’ll need to have 8 ArcadeFrontWheel and ArcadeRearWheel CLASSES, and 8 ArcadeFrontTireType[1…8], and ArcadeBackTireType[1…8] … does not sound
lika a fun to manage this, also I have different car models, they have different properties and sizes of their wheels, and … and they are spawned from runtime rather than placed in level … so this
approach is impossible to manage …

Any other ideas on how to approach this (maybe other parameters that will give similar behaviour (lowered or raised friction for SPECIFIC car on the track))
(my idea was to play with physical materials on the track, but this also fails as the other cars will be affected to)

I’m trying to avoid engine code modifications as I need this project for many platforms (Android, iOS, MacOS, Linux, Windows) and modifying engine code and rebuilding engine for all those
platforms to be able to package game is a hell lot of work :confused:

ive set a new tire blueprint and rebuild it its maybe not directly it should work with your issue mainly only as a workaround tho Change Tire on Runtime (BP/with a tiny bit of C++) - Blueprint Visual Scripting - Unreal Engine Forums