Can't spawn PlayerStart using ChildActorComponent using construction Blueprint

I have a Blueprint which contains multiple PlayerStart Actors which I spawn dynamically into the scene using the ChildActorComponent in the Blueprint. The Blueprint represents a team, which I then use to spawn players at the team’s location.

When I spawn the Blueprinted Actor in the world, the PlayerStart actors aren’t able to be spawned as I receive an error as listed below. The root and ChildActorComponent both have their mobility flags set to static. I can’t see any way to explicitly set the spawned child actor to be static, as it doesn’t appear to inherit the ChildActorComponent’s mobility settings.

Warning AttachTo: '/Game/Maps/UEDPIE_0_Oakleigh.Oakleigh:PersistentLevel.Team_Rookie_C_14.Spawn' is not static (in blueprint "Team_Rookie"), cannot attach '/Game/Maps/UEDPIE_0_Oakleigh.Oakleigh:PersistentLevel.PlayerStart_25.CollisionCapsule' which is static to it. Aborting.

Can i see a screenshot of your components and Blueprints?
I had similar errors when i tried to attach things. And i solved them by actually dragging them on top of the target in the component viewer by so making it a (Child) of that object.

I believe that the problem is that the PlayerStart’s (well technically it comes from ANavigationObjectBase, but that aside) CapsuleComponent is static, however, your ChildActorComponent is not static so when it goes to attach the PlayerStart component it fails.

Yeah, this is a problem. There doesn’t appear to be a blueprint-only solution for this (as of 4.2.1) if your ChildActorComponent is spawned from a blueprint “Add ChildActorComponent” node, since you can’t specify the ChildActorComponent’s mobility before it spawns the child actor. I’ve made a C++ change to ChildActorComponent.cpp which sets the ChildActorComponent’s mobility to be that of the spawned child actor’s root component (before it attaches the child actor), and this works around the issue for now. It’d be great if there was a fix for this in the next release.

If anyone’s interested, the change to ChildActorComponent.cpp:46 is:

			// If spawn was successful, 
			if(ChildActor != NULL)
			{
				if (ChildActor->GetRootComponent()) // added line
					SetMobility(ChildActor->GetRootComponent()->Mobility); // added line

Hi . I tried to add your solution to my project, but I seem to be doing something wrong, since it does not seem to work (I have never tried adding c++ to a project before now) :confused: May I request a step-tutorial? Would save my day.