FGear Vehicle Physics (v1.4)

try temporarily increasing Wheel-Roll Moment Scale

1 Like

Hi,

have anyone any idea why is not fired event “on collision hit” from fgear custom collision, when colliding two cars or car and world, in UE 5.3? In example project it works ok but that is for UE 4 and I cannot make it work in 5.

BTW, when pawn collide with fgear custom collision, then is event fired successfully.
BTW2, in UE4 was everything ok.

example project can be easily converted to any unreal 5 version, right click the project file and select switch unreal version.

That will do this:
image

When I will press right mouse button and select “open by unreal engine” (version 5) then:
image
But I have it already installed…


Hi I’m a newbie and I’m trying to open the example project. I have the plugin installed in both 5.3 and 4.7. I can’t open it from there nor when I double click on the file. I’ve attached a video. Any ideas what I’m doing wrong?

zzz

and this is usually skipped: To use the example project with Unreal5 copy the FGearPlugin folder in Unreal5\Engine\Plugins to FGearExample\Plugins folder.

Just to be clear. I’m copying from inside the marketplace plugin folder to the marketplace’s parent Plugin folder?
Btw I did try using it with 4.72 as well. Thanks

for example:

copy “FGearPlugin” from : C:\Program Files\Epic Games\Unreal5.3\Engine\Plugins\Marketplace

paste in : C:\Projects\FGearExample\Plugins

create Plugins folder under FGearExample if not exists…

There wasn’t any folder called C:\Projects\FGearExample\Plugins or C:\Projects, so I made one. and pasted there and to my D: drive and to my Unreal projects folder on my D drive but still no joy

I didn’t even need to do that copy plugin part.

skipped some loading and rebuilding parts so be patient and wait until the editor opens up…


I’ve tried opening UE project files previously and never had any problems. Your setup is different to the others I’ve tried. I think I’m doing it as you say but it’s not working. Any suggestions?

I thought it might be because UE was open but I’ve tried it with ue open and closed.
Quick question when I hopefully finish my game, would my gamer’s have to go through this same process?

@lazybitgames is the enhanced input ( new input system) supported? If not can you update the plugin to support it since the old/traditional one is deprecated ? I tried to do it but got stuck, if you are going to do it here is what I have so far ( to help you save time) :

UENUM(BlueprintType)
enum class EInputSystemType : uint8
{
Traditional UMETA(DisplayName = “Traditional”),
Enhanced UMETA(DisplayName = “Enhanced Input”)
};

private:
/** New property to select the input system. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”)
EInputSystemType InputSystemType;
/
* If unchecked user inputs will not have any effect. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Enabled”)
bool mEnabled;
/
* This applies only to throttle, brake and steering controls. If you want to use a combined axis like Vertical Axis for throttle/brake controls and Horizontal Axis for steering then enable this. If you want to use seperate axis for those then uncheck this option and setup proper axis values. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Use Combined Axis”, meta = (EditCondition = “mEnabled”))
bool mCombinedAxis;
/
* Type of the controller : Keyboard, joystick or wheel. Most of the controls can work at the same time, for ex. even if you select keyboard you can play with joystick too. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Controller Type”, meta = (EditCondition = “mEnabled”))
FGearControllerType mControllerType;
/
* Type of the shifter : Auto, sequential or manual. If the AutoChange option of the transmission is checked this selection has no effect but if you want to manually change gears then you can choose a sequential mode or full manual mode. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shifter Type”, meta = (EditCondition = “mEnabled”))
FGearShifterType mShifterType;
/
* This is a combined axis for throttle and brakes and only available if you check UseCombinedAxis option. Range : [-1, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Vertical Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mVerticalAxis;
/
* This is the steering axis name and this is only available if you check UseCombinedAxis option. Range : [-1, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Horizontal Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mHorizontalAxis;
/
* If you uncheck UseCombinedAxis option you can assign an axis for throttle with this. Range : [0, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Throttle Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mThrottleAxis;
/
* If you uncheck UseCombinedAxis option you can assign an axis for braking with this. Range : [0, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Brake Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mBrakeAxis;
/
* If you uncheck UseCombinedAxis option you can assign an axis for left steering with this. Range : [0, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Left Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mLeftAxis;
/
* If you uncheck UseCombinedAxis option you can assign an axis for right steering with this. Range : [0, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Right Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mRightAxis;
/
* Clutch axis for manual transmission. Range : [-1, 1] but internally normalized to [0,1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Clutch Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mClutchAxis;
/
* Handbrake input axis. Range : [0, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Handbrake Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mHandbrakeAxis;
/
* This is a combined axis for gear up and gear down. Range : [-1, 1]. /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShiftAxis;
/
* Axis for first gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 1 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift1Axis;
/
* Axis for second gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 2 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift2Axis;
/
* Axis for third gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 3 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift3Axis;
/
* Axis for fourth gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 4 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift4Axis;
/
* Axis for fifth gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 5 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift5Axis;
/
* Axis for sixth gear. Range : [0, 1] /
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift 6 Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShift6Axis;
/
* Axis for reverse. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = “FGearStandardInput”, DisplayName = “Shift R Axis”, meta = (EditCondition = “mEnabled && InputSystemType == EInputSystemType::Traditional”))
FName mShiftRAxis;

// Enhanced Input System Properties for Action Mappings

/** This is a combined axis for throttle and brakes and only available if you check UseCombinedAxis option. Range : [-1, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Vertical Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mVerticalActionMapping;
/** This is the steering axis name and this is only available if you check UseCombinedAxis option. Range : [-1, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Horizontal Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mHorizontalActionMapping;
/** If you uncheck UseCombinedAxis option you can assign an axis for throttle with this. Range : [0, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Throttle Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mThrottleActionMapping;
/** If you uncheck UseCombinedAxis option you can assign an axis for braking with this. Range : [0, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Brake Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mBrakeActionMapping;
/** If you uncheck UseCombinedAxis option you can assign an axis for left steering with this. Range : [0, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Left Steering Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mLeftSteeringActionMapping;
/** If you uncheck UseCombinedAxis option you can assign an axis for right steering with this. Range : [0, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Right Steering Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mRightSteeringActionMapping;
/** Clutch axis for manual transmission. Range : [-1, 1] but internally normalized to [0,1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Clutch Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mClutchActionMapping;
/** Handbrake input axis. Range : [0, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Handbrake Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mHandbrakeActionMapping;
/** This is a combined axis for gear up and gear down. Range : [-1, 1]. */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShiftActionMapping;
/** Axis for first gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 1 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift1ActionMapping;
/** Axis for second gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 2 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift2ActionMapping;
/** Axis for third gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 3 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift3ActionMapping;
/** Axis for fourth gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 4 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift4ActionMapping;
/** Axis for fifth gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 5 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift5ActionMapping;
/** Axis for sixth gear. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift 6 Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShift6ActionMapping;
/** Axis for reverse. Range : [0, 1] */
UPROPERTY(EditAnywhere, Category = "FGearStandardInput", DisplayName = "Shift Reverse Action Mapping", meta = (EditCondition = "mEnabled && InputSystemType == EInputSystemType::Enhanced"))
FInputActionKeyMapping mShiftReverseActionMapping;

I did that already before that errors. Cannot make to work the example project in any way. Only in 4.27.

Can you confirm that on component hit works in 5.3 or it is bug?

Finally I make it work (the example project in 5.3) with some mystery.

But the “on component hit” on fgear custom collision is not fired even in example project. I checked “generate hit events” and nothing. In 4.27 it is ok.
I will choose first car and crashing to other cars and event will not fire.

did you try rebuilding with visual studio…

make sure both the custom collider component and your physics asset have “generate hit events” setting checked.

thanks for sharing, this is on our todo list.

That is! Thanks! (btw, can’t open example project again :frowning: )

What no, I’m a newbie no idea about visual studio or coding