SkeletalMeshComponent C++

There was a significant change from 4.15 to 4.16 and it’s described here https://docs.unrealengine.com/latest/INT/Programming/UnrealBuildSystem/IWYUReferenceGuide/
Also see this question: https://answers.unrealengine.com/questions/617467/alternative-to-including-engineh.html

Hi,

I’m trying to create a weapon class based on the Actor. I’ve created a USkeletalMeshComponent* and a USceneComponent* to get the forward direction for projectiles to be spawned.

When i try to access the methods of USkeletalMeshComponent in my .cpp, intellisence reports ‘No members available’

This is something that worked but is for some reason just not working today.
My .h

class ZOMBIETDTP_API AGun : public AActor
{
	GENERATED_BODY()
	

	UPROPERTY(VisibleDefaultsOnly, Category = "Mesh")
	class USkeletalMeshComponent* GunMesh;

	UPROPERTY(VisibleDefaultsOnly, Category = "Mesh")
	class USceneComponent* MuzzleLocation;

My .cpp

GunMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("GunMesh"));
//GunMesh-> No members Available message on this

This has worked before, without any includes, apart from the .h for method declarations!!

Any help appreciated.

Thanks,

Looked for the SkeletalMeshComponent.h in the Engine API

Including the following at the top of .cpp made it work

#include "components/SkeletalMeshComponent.h"

Only, i didnt have to have this include in 4.15 and it just worked? Maybe somethings changed in 4.16!?
Not sure if something else is wrong here, or is this the way forward?

Thanks, the links are very helpful.