What Build CS For SkeletalMeshTools.h

Dear Friends at Epic,

What Builds CS do I need so I can use

#include "Developer/MeshUtilities/Private/SkeletalMeshTools.h"  

I prefer SkeletalMeshTools to

#include "Developer/MeshUtilities/Public/MeshUtilities.h"

EDIT : I think MeshUtilities works actually, but has more in it than I need, any chance of getting access to SkeletalMeshTools ?

I’ve tried including the above in .h and .cpp with no luck so far,

#Getting linker error

error LNK2019: unresolved external symbol "void __cdecl SkeletalMeshTools::CalcBoneVertInfos(class USkeletalMesh *,class TArray<struct FBoneVertInfo,class FDefaultAllocator> &,bool)" (?CalcBoneVertInfos@SkeletalMeshTools@@YAXPEAVUSkeletalMesh@@AEAV?$TArray@UFBoneVertInfo@@VFDefaultAllocator@@@@_N@Z) referenced in function "public: void __cdecl AVictoryPlayerCharacterBase::DrawAnimatedVertexLocations(float const &,bool)" (?DrawAnimatedVertexLocations@AVictoryPlayerCharacterBase@@QEAAXAEBM_N@Z)

#For What Function?

//	Get the Verticies For Each Bone, Most Influenced by That Bone!
	//					Vertices are in Bone space.
	AV_BoneVertexInfos.Empty();
	SkeletalMeshTools::CalcBoneVertInfos(Mesh->SkeletalMesh,AV_BoneVertexInfos,true); //true = only dominant influence

#Beta

In the Beta it was

FSkeletalMeshTools::

and had no trouble accessing it

#Thanks!

Rama

IMeshUtilities::CalcBoneVertInfos is the function you want, as that’s in the public interface of the MeshUtilities module.

IMeshUtilities& MeshUtilities = FModuleManager::Get().LoadModuleChecked<IMeshUtilities>("MeshUtilities");
MeshUtilities.CalcBoneVertInfos(...);

You’ll also need to add MeshUtilities to your public or private module include paths (depending on whether you’re accessing it in a public or private header in your module; I’m guessing private) as well as adding it as a dynamic dependency.

PrivateIncludePathModuleNames.AddRange(new string[] { "MeshUtilities" } );
DynamicallyLoadedModuleNames.AddRange(new string[] { "MeshUtilities" } );

Also you shouldn’t include anything from the Private folder of a module; things in there are not designed for consumption outside of the module they’re in.

With “MeshUtilities” on your include paths list, your include should just be:
#include “MeshUtilities.h”

#Thank You Jamie!

Thank you very much Jamie, that did it!

I am now just using simply:

#include "MeshUtilities.h"

Thanks again!

Rama