I can see that a lot of work has gone into the WheeledVehicleMovementComponent since the 4.1 release, so perhaps this is already fixed, but I figured it was better to err on the side of caution.
Branch Binary
Build Version 4.1.0-2053869
Description
I have a WheeledVehicle blueprint. I also have a VehicleWheel blueprint using the engine’s DefaultTireType. I’ve been messing with the WheelSetups and VehicleWheel settings a bit; I’m happy to post those if that’s useful.
Something that’s worth mentioning is the way I’ve setup my Vehicle blueprint’s mesh in order to make it behave in a destructible manner when overlapped with an enemy projectile. The root mesh is hidden by default; instead, there is a visible child mesh component. Physics are simulated on the root mesh until the actor is overlapped, at which point the root mesh’s physics simulation is disabled, and the visible, child mesh’s physics asset is swapped out for a very fragile variant (so that it immediately breaks into pieces), and physics are simulated. This child mesh component approach is only necessary at this point because 4.1’s WheeledVehicleMovementComponent doesn’t support multi-body setups. I see that’s already changed in master, so when that’s released I’ll be able to just hot-swap the physics asset on the root mesh, assuming that’s not a generally bad idea.
In any case, after adding replication to the destructible vehicle pawn I started receiving this crash. It’s difficult for me to pinpoint which changes actually caused the crash to start occurring since it occurs inconsistently. It occurs when a networked game begins, when a pawn respawns, and in a single player game (although that was just a single client / no dedicated server setup, so I think that was probably a listen server game with no clients).
For a while I thought it had to do with the height of the PlayerStart instances, but by now I’ve moved those up and down enough that it seems to be unrelated. I think I’m just noticing it more now that the pawns can destroy eachother and respawn, so there’s more opportunity for vehicle instantiation.
System
OS X 10.9.2
Steps to Reproduce
- Import and setup my weird blueprint vehicle (if you want all of the necessary assets please let me know)
- Press play / respawn a couple of times
Logs
I can’t seem to find any relevant crash files. I’m running the editor from XCode, and what I typically see is a crash back to XCode with the following trace:
[2014.05.09-05.52.49:368][484]LogGameMode: RestartPlayer 259
[2014.05.09-05.52.49:369][484]LogNet: Join succeeded: 259
[2014.05.09-05.52.49:373][484]LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
[2014.05.09-05.52.49:373][484]LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
[2014.05.09-05.52.49:373][484]LogNet: BP_PlayerController_C_2 setplayer LocalPlayer_0
[2014.05.09-05.52.49:373][484]LogNet:Warning: ADDED unmapped property: Offset: 808, Guid: 4, Name: PlayerState
[2014.05.09-05.52.49:373][484]LogPlayerController: ClientRestart_Implementation None
[2014.05.09-05.52.49:377][484]LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
[2014.05.09-05.52.49:377][484]LogPlayerController:Warning: NULL GameState when trying to spawn spectator!
[2014.05.09-05.52.49:399][484]LogNet: BP_PlayerController_C_3 setplayer LocalPlayer_1
[2014.05.09-05.52.49:399][484]LogNet:Warning: ADDED unmapped property: Offset: 808, Guid: 12, Name: PlayerState
[2014.05.09-05.52.49:399][484]LogPlayerController: ClientRestart_Implementation None
[2014.05.09-05.52.49:418][485]LogNet:Warning: ADDED unmapped property: Offset: 824, Guid: 4, Name: PlayerState
[2014.05.09-05.52.49:418][485]LogNet:Warning: ADDED unmapped property: Offset: 152, Guid: 10, Name: Owner
[2014.05.09-05.52.49:423][485]LogNet:Warning: ADDED unmapped property: Offset: 824, Guid: 4, Name: PlayerState
[2014.05.09-05.52.49:424][485]LogNet:Warning: ADDED unmapped property: Offset: 152, Guid: 2, Name: Owner
[2014.05.09-05.52.49:942][497]LogPlayerController: ClientRetryClientRestart_Implementation BP_Trapezoid_Mobile_C_2, AcknowledgedPawn: None
[2014.05.09-05.52.49:942][497]LogPlayerController: ClientRestart_Implementation BP_Trapezoid_Mobile_C_2
[2014.05.09-05.52.49:947][497]LogPlayerController: ClientRetryClientRestart_Implementation BP_Trapezoid_Mobile_C_5, AcknowledgedPawn: None
[2014.05.09-05.52.49:947][497]LogPlayerController: ClientRestart_Implementation BP_Trapezoid_Mobile_C_5
[2014.05.09-05.52.49:975][498]LogPlayerController: ServerAcknowledgePossession_Implementation BP_Trapezoid_Mobile_C_0
[2014.05.09-05.52.49:975][498]LogPlayerController: ServerAcknowledgePossession_Implementation BP_Trapezoid_Mobile_C_1
[2014.05.09-05.54.01:860][252]LogPlayerController: ClientRestart_Implementation None
[2014.05.09-05.54.01:914][253]LogPlayerController: ClientRetryClientRestart_Implementation BP_Trapezoid_Mobile_C_7, AcknowledgedPawn: None
[2014.05.09-05.54.01:914][253]LogPlayerController: ClientRestart_Implementation BP_Trapezoid_Mobile_C_7
[2014.05.09-05.54.01:944][254]LogPlayerController: ServerAcknowledgePossession_Implementation BP_Trapezoid_Mobile_C_6
**/Users/build/BuildFarm/build_++depot+UE4-Releases+4.1/Engine/Source/Runtime/Engine/Private/Vehicles/WheeledVehicleMovementComponent.cpp(448): Ensure condition failed: Output.WheelTorque == Output.WheelTorque
Output.WheelTorque is bad: nan**
Please let me know if you need more information. Thanks!