I am having an issue with attempting to reparent a blueprint. When I do so, all of the components of the original (now child) blueprint break. That is to say, they still exist, but meshes will not render, and collision objects won’t detect overlaps. It is as if they simply don’t exist.
I start with a blueprint that has a scene component as root, with a mesh and collision object. This works normally:
I create a new empty blueprint actor, and set a scene component as the root, with the same name:
Then I re-parent the original blueprint to point to the new actor and remove the old root component, resulting in a scene component hierarchy that is identical, just with an inherited root component:
At this point, the Button Mesh and Box Collision components both stop working. They can be referenced in the blueprint scripts as if they exist, but in-level they don’t exist and won’t render/collide/overlap in any way. Despite this, they still show up normally in the preview viewport in the blueprint editor.
If I attach a new mesh in the reparented child class, this works normally:
But if I move that new mesh to be a child of the original Button Mesh component, it now also doesn’t work:
When Button Mesh is a child of the New Mesh, the New Mesh renders normally, but Button Mesh still doesn’t work.
The original Button Mesh and New Mesh components are setup identically. The new root scene node in the new parent is also setup identically as from the original root in the reparented child blueprint.
Nothing I do makes Button Mesh or any of it’s children work again. I have spent hours messing about with this and can’t find an answer either by experimentation, or on the Unreal forums.
Does anyone have any idea how I can fix this?
Re-creating the Button Mesh isn’t really an option, as it is already referenced in various places in the blueprint script, as well as other child blueprints.