Works in Unreal Engine 5. Tested on UE 5.8. Updated October 2026.
Quick answer: a Child Actor Component lets one actor contain a whole other actor. Add it to your Blueprint, set Child Actor Class, and Unreal spawns that actor and attaches it for you.
To use the child in your graph: Get Child Actor → Cast To your class (in BeginPlay or later).
Good for reusing an existing actor Blueprint inside another, for example a turret on a vehicle. For parts you create during gameplay, Spawn Actor + Attach Actor To Component is easier to control.
Add a Child Actor Component in Blueprint
- Open the parent Blueprint and click Add in the Components panel, then choose Child Actor.
- In the Details panel, set Child Actor Class to the actor you want inside.
- Expand Child Actor Template to change that actor’s settings for this parent.
- Move, rotate or scale the component. The child follows it.
Get the child actor
In the Event Graph, drag in the component, call Get Child Actor, and connect it to a Cast To node for your class. Do this in BeginPlay or later. Before that, the child may not exist yet.
Set Child Actor Class swaps the child for a different class during gameplay.
Child Actor Component in C++
// Header
UPROPERTY(VisibleAnywhere)
TObjectPtr TurretChildActor;
// Constructor
TurretChildActor = CreateDefaultSubobject(TEXT("TurretChildActor"));
TurretChildActor->SetupAttachment(RootComponent);
TurretChildActor->SetChildActorClass(ATurretActor::StaticClass());
Then, in BeginPlay:
ATurretActor* Turret = Cast(TurretChildActor->GetChildActor());
if (Turret)
{
Turret->ApplyLoadout(StartingTurretAmmo);
}
Include Components/ChildActorComponent.h.
Common problems
| Problem | Fix |
|---|---|
| Get Child Actor returns nothing | Call it in BeginPlay or later, and check Child Actor Class is set |
| Changes on the child disappear after compiling or moving the actor | The child is respawned from the template. Put the values on the Child Actor Template or in variables on the parent |
| The child’s BeginPlay sees default values | The child starts before the parent. Pass values to the child after the parent’s BeginPlay |
| Can’t edit the child per placed instance | Add Instance Editable variables on the parent and pass them to the child in BeginPlay |
| Server RPCs on the child do nothing | The child has no owner. Call Set Owner on it |
Child Actor Component or Spawn Actor?
- Child Actor Component: the child is part of the actor’s design and always there. You see it in the Blueprint viewport.
- Spawn Actor + Attach: the child is created and removed during gameplay, or you need full control over when it spawns and how it replicates.
Many developers prefer Spawn Actor for anything complex, because the Child Actor Component respawns its child whenever the construction script runs again.
FAQ
Does the Child Actor Component work in multiplayer?
Yes, if the child actor class replicates. On clients the child may arrive a moment later, so check it before using it.
Why can’t I click the child actor in the level?
Clicking it selects the parent. Edit the child through the parent Blueprint.
Can I nest child actors?
Yes. A child can have its own Child Actor Components.