Attaching StaticMeshComponent to another Component - Mesh not visible?

I have a component which is dynamically spawned during the game and attached to a pawn (UMiningComponent). That part works fine. However what i’m trying to do is to then add an another component with a mesh to it (Component B). Unfortunately when I do this the mesh isn’t visible. Can someone see what I’m doing wrong?


class SPACECOOP_API UMiningComponent : public UStaticMeshComponent

	UMiningComponent(const FObjectInitializer& ObjectInitializer);

	/** Static Mesh*/
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Custom)
	UStaticMeshComponent* MiningActiveMesh;



UMiningComponent::UMiningComponent(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)

	MiningActiveMesh = ObjectInitializer.CreateDefaultSubobject<UStaticMeshComponent>(this, TEXT("MiningMesh"));
	MiningActiveMesh->bVisible = true;


Hello, UStaticMeshComp don’t have a mesh by default, so you need to set one : MiningActiveMesh->SetStaticMesh(UStaticMesh*); Or you can set it inside the editor since you set it to be visible for the editor.

Hi Raikoh,

I’ve set up a blueprint and assigned a mesh to it there. If I manually attach the component then I can see that it has the StaticMeshComponent present, and that there is a mesh assigned to it. However the mesh isn’t visible in the editor or game.

Well i don’t know but it might be that you don’t set the root component : RootComponent = MiningActiveMesh; use this instead of attachto(this).