Vehicle Blueprint instances stop working after restart

Hey there,

I’ve encountered a weird behavior while working with blueprints and was wondering if anyone else had seen this or even has a solution to this.

What I have done so far: Created a first person shooter and advanced vehicle template and then merged them into one. You can run around and enter and leave vehicles like in other games. So far so good.

Then I’ve created a base vehicle blueprint that has most setups I want. From this one I created two children vehicles that will have different properties later but still use the same basic vehicle scripting. After setting them up, all is good, they drive and you can enter and leave them. Still good up to this point.

Now when I leave the editor and restart it, the instances are broken. The base blueprint however is still working. To specify the “not working” - they’re not driving. You can enter them and steer but they won’t move forward on their own. I can push them with other vehicles though and use the handbrake. I can tell that the steering and accelerating inputs are being fired into the correct nodes, so I am assuming that something underneath the vehicle blueprint broke.

Any ideas?

I guess I should resolve this after almost two years now… :smiley:

Anyway, the issue that caused this was me not understanding the event system I duplicated the events to deal with the inputs elsewhere, for other things than acceleration and steering. led to the original events not working anymore, leaving the car idle.

Hi
What did you do to repair it?

Oof. 6 year old post necroed :smiley:

Anyway. If I remember correctly, back then I had a vehicle base class in code (?) or a base blueprint and the vehicles as children of the base class. I had the input events defined in said base class and for some reason ended up duplicating these events in a child class and add some additional functionality in there.

Issue with that is, the events get consumed and not passed through usually, unless you do a call to the parent function when an event occurs in the child class.

Basically: The input events were captured in the child class (When they didn’t need to be) and not passed through to the parent class which killed the movement.