After editing, child actor components defective in existing actors in world

Pics or it never happened, video is even better

scenario:
blueprint class C used as child component in blueprint class A (both parent classes actor).

blueprint class A already existing in world (A1, A2, …).

now I do some significant changes in class C.

then sometimes it happens, that the child component C in A1, A2, … doesn’t work any more correctly, especially doesn’t initialize any more.

If I then place an additional, new actor Ax into the scene, it works as expected.

A1, A2, … aren’t any different from Ax, all settings are the same,
the structure is still identical, etc…, still same class, no difference at all.

If I dupllicate one of the defective ones, the duplicate is also defective.

to get it working again, I currently have to delete all previously existing actors A, and put them into the scene again

which of course requires to enter all settings again.

This happens only sometimes, happens to different classes/actors, happened in all UE releases.

Am I doing something wrong?

is this a known bug?

is there a trick to replace them without having to enter all settings again?

current example:
four drawers with cards.

pic 1: Blueprint, front cards slightly rotated inside BP for demonstration

pic 2: drawers in scene: two drawers on left are ‘old’ and ‘defective’, first cards are rotated towards bottom (0/0/0°).

Before the edit of the card’s BP, all three cards on ‘old’ drawers behaved correctly. After the edit, the front cards of the already existing drawers behaved incorrectly.

Two drawers on right inserted into scene later after changes to the card’s BP, the cards at front are behaving and are rotated as in BP as expected.

There are no public parameters for the drawers.
All parameters for rotation of cards are inside the drawer BP.
So I expect all drawers in the scene to be the same as in viewport of BP.
Any change in BP should be visible on all actors in scene.
This works for the second and third cards in the left drawers, but not for the first cards.

It appears as if the punchcard_block_grab_BPC1 child actor component of the ‘older’ drawers has lost connection to the parent.

1 Like

I met this sometimes usually when I play with the parent-child hierarchy it can fix this removing the arrow or something like that, but not guaranteed. The easy fix to the actors should be replacing them with the same actor (right-click on them and you see), quite an annoying bug usually happens only if you play with the hierarchy so don’t do it too much.

Two years later, Unreal 5 and I have the same problem as you @rolffson.

I am trying to construct a Building from child actors. It’s important for me to have separate walls in blueprints as they have it’s own logic. Also double wall makes it easier to build. I am planning to just place the Building on the scene and modify it’s blueprint if need to.

Blueprints:

  • Building (has multiple DoubleWall child actors)
  • DoubleWall (has 2x Wall child actors - one is inner and one outer)
  • Wall

Legend

  1. Initial Building.
  2. Building put on the scene after modifications.
  3. DoubleWall just to show you how the separate element looks.
  • White cubes above the walls - for demonstration of how random it is at times.

Actions

  1. I placed the Buidling on the scene. It was all good.
  2. Then I changed the DoubleWall blueprint and moved the single Wall around. I just made location and rotation modifications. Final result was reflected in my Building object on the scene. It was all good at that time. (ignore white cubes, at that time they weren’t added).
  3. However I decided to change the Walls in the DoubleWall blueprint back to the proper locations and expected it to change on the scene. It didn’t happen. The Building just stayed as it is in the point 1 on the screenshot.
  4. I copied the Building (point 2 on the screenshot) and the Building is correct. Also the fresh blueprint dragged from the Content Browser is correct.
  5. Ok, so I thought, lets add something visual (white cube above each DoubleWall). Surprisingly this change is reflected on the scene! But the previous change in the DoubleWall with location of the single walls not! This is very random behaviour.

It might sound like not a big issue because just replacing an actor on the scene may fix everything. However when project starts getting more complicated it might become a significant problem. Anyone found the solution to this issue?

Individual actors:


image
image

2 Likes

old thread, I know, but yadayada …

many times (but not always) I was able to ‘repair’ the objects by creating a new level and temporarily moving the defective actors to this level, and then back to the original level (persistent_level).

If using references in other objects to these actors, check them afterwards as they sometimes get lost.

image

1 Like