Ok, so looking at ClutchStrength, that is a public property of the FVehicleTransmissionData struct, and the UWheeledVehicleMovementComponent4W has a FVehicleTransmissionData public property called TransmissionSetup. It is marked as EditAnywhere, but it isn’t exposed to blueprints – you’re looking for it to either be marked as BlueprintReadWrite or have a function that is BlueprintCallable that gets you at the data you’re after. So the answer is, yes. You should be able to expose this to BPs by inheriting from the UWheeledVehicleComponent4W and creating functions for access. Something like:
In .h
class NAMEOFMY_API UMyVersionOfTheComponent : public UWheeledVehicleMovementComponent4W
{
GENERATED_UCLASS_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "MyComponentFunctions")
float GetClutchStrength();
UFUNCTION(BlueprintCallable, Category = "MyComponentFunctions")
void SetClutchStrength(float Value);
}
in .cpp
float UMyVersionOfTheComponent::GetClutchStrength()
{
return TransmissionSetup.ClutchStrength;
}
void UMyVersionOfTheComponent::SetClutchStrength(float Value)
{
TransmissionSetup.ClutchStrength = Value;
}
That should get you what you’re after. If you’d like access to the TransmissionSetup as a whole so you can set values in it directly, you could always do something like:
.h
UFUNCTION(BlueprintCallable, Category="MyComponentFunctions")
FVehicleTransmissionData* GetTransmissionSetup()
.ccp
FVehicleTransmissionData* UMyVersionOfTheComponent::GetTransmissionSetup()
{
return &TransmissionSetup;
}
Then you should be able to set whatever values in that struct you want through that pointer. Lemme know if that works for you. If it doesn’t I may have overlooked something. Best of luck.