Child Actor setting "replicated" doesn't save or cook

Whenever I open project, I always have to switch “replicated” on certain child actors on, because for some reason it does not use parent’s setting.

Furthermore, this setting does not save. Every time I open editor, I have to do this again.

Further furthermore, when I cook game and try to play it as a stand alone game, settings are apparently not saved for cooked version as well. Meaning no matter what I do in editor, cooked game ignores these changes.

Hi Blue669,

Which version of engine does this occur in? Does it happen in a new project, or only your current project? Is project you’re seeing this in upgraded from an earlier engine version?

You mention it happens on certain child actors. Does it happen with any actor that’s a child of a custom BP? Anything else in common between actors with which this occurs?

Thanks!

I’m using 4.7.1
I haven’t tried it in a new project - my current project is upgraded from 4.6.1

It only happens on certain child actors from parent.

When I open editor, parent replication is ON, which is fine. One of children has setting overwritten with OFF. Now I activate it on child, save editor and reopen project. settings on child are back to OFF.

Other child actors do not behave like this.

I tried setting this up in a new project in 4.6.1 and converting project to 4.7.1 and couldn’t reproduce it. I created a new Actor Blueprint, left Net Load on Client enabled, and enabled both Replicates and Replicates Movement. I then created a child of that Blueprint and disabled all three of those defaults. I saved all, then opened a copy in 4.7.1. I then re-enabled all of those defaults on child, saved, closed and reopened editor. Everything was back on as expected.

Am I missing any steps here?

No, that’s exactly what I’m doing as well, but it doesn’t save or cook any changes I make to child actor in defaults. Other changes are saved correctly.

Maybe this step is important:
Create parent and child actor in version 4.6.1 and leave all settings OFF. Now convert it to 4.7.1 and change replication, save and reload project. See if child actor gets same settings or if this gets same result. I did replication changes after converting to 4.7 maybe that’s reason.

Yep, tried it that way as well, still can’t reproduce. Does it only happen with this one parent/child actor combination for you? If you try something similar in a new project, does same thing happen?

Yea, redirectors can be tricky. You can usually eliminate them painlessly through editor, though. In Content Browser, right-click folder asset was in and select Fix Up Redirectors in Folder, and that should make it so you don’t have to go digging for it in windows directory or close/reopen editor. Try that and let me know if you still have problems with a duplicated BP. My guess is that you will, and it might be worth copy/pasting nodes from it into a brand new BP.

I’m currently trying to duplicate it and delete old one. Turns out when I try to delete child, in references it shows some hidden “redirector” object. Maybe this can cause this strange behaviour? Even deleting and renaming duplicate still creates same thing that it doesn’t save my settings - but only for “replicated” - net owner relevancy is saved correctly.

Whenever I have a duplicate with same name in content folder, this error does not go away.
I fixed it finally by duplicating actor under a different name, deleting old one, then reopening editor and duplicating duplicate and rename it back to it’s original name.
There has to be some kind of cross-reference blocking this setting for some strange reason.
Even deleting this “redirector” object, which was hidden in content folder in editor and I could only delete it by browsing to location in Windows. But even that didn’t help.

But now I have same problem in reverse - a parent (which is also a child from another object) doesn’t save the “replicated” position. I can’t duplicate this, because it has several children on it’s own…
Any idea?

When I rename uasset file in Windows to something else and launch editor, it shows an error for a second, but then rediscovers asset without this issue.
As soon as I rename it back to it’s original, issue is back.

I would love to keep it with renamed file, but now I see an error every time I launch editor…

Did you try cleaning up redirectors, yet? Do it on entire content folder inside editor, then reopen project.

I did that and after deleting 55 assets, it crashed.
Also when I try to duplicate object and delete it with changing references to duplicate, it also crashes and keeps crashing until I delete asset and copy one from backup folder.

Another weird thing is that as soon as I open these “faulty” assets, editor shows a * on asset, meaning it has recently been changed.
Maybe that can narrow it down?

OK now here is another step for your reproduction chain.

I’ve duplicated object that was having issue (removing references in other objects) and restarted editor. Changed duplicate and renamed it back to it’s original.
When I restarted editor - everything worked fine.

But as soon as I recreated reference from other object (a variable that uses class of that object) issue is BACK!

Aaaaahhh!!

Would you mind getting me a link to download project, so I can take a look at it here? You can send me a private message on forums, if you’d like.

Forum PM has been sent with link and instructions how to repro.

Hey Blue669,

Thanks for test project! I am seeing same behavior with child blueprint you’re having trouble with, but I haven’t been able to determine cause. I have created a bug report and linked developers to project so they can have a look (UE-11289), and I’ll email them to ask if they can think of a workaround for now. I’ll let you know as soon as I see any update or get a response.

Thank you so much, hopefully this can be adressed.

I may have a work around for you. I was having same issue in my project. My fix was I added a C++ class of same class type as parent class of parent blueprint (I had to read that several times, pretty sure I wrote it right). In constructor of C++ file add bReplicates = true, save and compile code. Go to your parent blueprint and reparent it to your new C++ class. Make sure to open bad child blueprints and reset replicates check box, save and compile. I also hit compile code button in editor to be sure editor had everything, not sure if it mattered. I then closed editor and opened it back up and my settings were saved. This also worked on some variables defaults in child blueprints that were not being saved, I added those to C++ file to and they are now saving in blueprint properly. I couldnt figure out what was causing issue but this worked in my project hopefully it will work for you to, until Epic team figures out what is up.