Chaos Vehicles throttle and steering input

Does anyone have experience with creating AI for Chaos Wheeled Vehicles?

My implementation seems pretty simplistic - I have the AI determine whether it should add throttle/steering input to stay on top of a spline (these can be both manually placed, or produced dynamically utilizing the navmesh).

However, I’ve noticed that when I (as the player) am not looking at the vehicles, they seem to function sporadically and often times not even run their functions. They generally don’t move at all until I look at them, then they begin moving along their splines.

An easy way to replicate this is adding throttle input to a Chaos vehicle, then alt+tab (I use the windows key) to cause the PIE to not be the active application and the vehicle stops and doesn’t really move at all. Comparing this to a character with the character movement component, they proceed to move as expected.

It seems like Chaos Vehicles weren’t really designed to be implemented with AI or at least the vehicle movement component (perhaps the throttle/steering component) isn’t updated the same as the character movement components when not rendered or something.

Any help to understand these pieces is appreciated… AI vehicles are pretty much at a stand still in my early access game, because I can’t include them in scenarios that require them to be active away from the player’s view. Appreciate the help!

So, I changed the setting in the editor to not limit CPU usage when the editor isn’t the active application and that solved the alt+tab problem I had stated.

Perhaps this is related to CPU allocation for pawns or something?

For other’s reference, I found the reddit post below that seems to solve the issue I had.

Basically, the variable “VisibilityBasedAnimTickOption” in the pawn blueprint defaults was set to what it should be “Always Tick Pose and Refresh Bones,” but I guess the engine doesn’t care about that and would not function that way. The reddit post pointed out you need to reset that variable at begin play to have it function correctly.

It definitely is beyond me why this variable being set in the constructor just doesn’t work and requires it to be set at begin play, but at least it is working now.

https://www.reddit.com/r/unrealengine/comments/x1b84s/ue_chaos_vehicle_stops_moving_off_screen_c_dev/

1 Like