Characters won`t move in packaged game in 4.12 (upgrade from 4.10)

Hi

Our upgraded character child classes fail to make movements ( in 4.12.2 and 4.12.3 in packaged game win 32 and 64).
They are working correctly in PIE and standalone but In cooked game animation is played but actor stays in place.
When I make fresh class derived from parent class everything is working fine. So it is not problem of root motion extraction.

It similar to Character Class Inheritance causes child to be invisible - Character & Animation - Unreal Engine Forums
As suggested I have removed skel mesh from parent and removed all references to derived class from parent class - but without success.

It seems that old derived classes gets corrupted during cooking or loading into cooked game (but is ok during PIE and standalone).

I have debugged cooked game and found that CharacterMovement component (and updatedcomponent) has PawnOwner and OwnerPrivate set to parent class and not to derived class instance (as in case when it is working).

In other words:
A is old parent → B is old child
OwnerPrivate in movement and update component is = “Default__A_C” (should be “B” instance )
The freshly derived class ha it set to “B”

Seems like sth but I am not sure if this is real culprit.

Any ideas how to fix such corruption without need to rebuild our heavy derived classes by hand? They were working perfectly with 4.10.

Is there any possibility to internally force complete rebuild of class (like making new child blueprint but with old variables, events and functions) ?

Thanks

Hey Dreedoo,

I’d recommend making a copy of the project before we start troubleshooting, just so we can ensure that nothing further gets messed with.

As far as your question, if there is a way to force a complete rebuild of a class, I will look into this and let you know.

Have you tried just making a new child blueprint from the child that contains all of the variables, events, and functions you need and then reparenting it?

Old A → Old B - fails after cook

Old A → new B1 - works after cook but lacks B events and variables

Old B → new C and then re-parent new C to Old A does`t copy any events and variables from Old B to new C.

We are reverting to 4.10

Complete rebuild of class would be perhaps rescue for us.

Have you been able to reproduce this issue in a clean project? If so, could you please provide repro steps? We’ve been looking into this and have been unable to reproduce it on our end as of yet.

Unfortunately I was unable to get clean repro for this.

We got it after straightforward upgrade of project from 4.10 to 4.12.

Extracting by trail and error what is wrong by removing variables/events/etc from our system is too time consuming.

I can only tell that classes work in editor but not in cooked game and it seems that OwnerPrivate of movement component are pointing to parent class default object and not to not instanced class as it should. So it doesn`t update and even sets physics to falling instead of walking.

I can`t send migrated asset (with 1,5 gb of bleprints references) because of legal issues.

So rebuilding of class from scratch or coping (exporting/reimporting from xml etc) of variables, functions and events of one blueprint to clean one could help.
Anyway it is progress because we have tried to upgrade to 4.11 and compiling of blueprints crashed editor.

So hopefully it will get fixed someday. :slight_smile:

Hey Dreedoo,

I’m marking this topic as resolved for tracking purposes, as we have not been able to reproduce this issue in a clean project on our end, and from what you’re saying you haven’t had any luck either.

If the issue persists and you discover a repro case or are able to provide a test project, feel free to reopen this thread and we’ll continue to investigate the issue.

In the meantime, I think rebuilding the class from scratch is a good method to try and workaround the issue you’re seeing in your project.

Let me know if you have any other questions regarding this issue.

Have a great day