3 full days wasted trying to simply use IAssetTool

This isn’t rocket science and I’m not trying to get a monkey to the moon…

Why can’t I simply add “AssetTools” module dependecy to my private dependency list in Build.cs and include ModuleInterface.h, ModuleManager.h, and IAssetTools.h and have it compile with this line:

IAssetTool& assetTools = FModuleManager::LoadModuleChecked<FAssetToolsModule>(“AssetTools”).Get();

it continually says IAssetTool undeclared identifier.

I’ve tried adding a ton of other modules that it may need, as well as headers, as well as moving them from private to public dependencies, nothing makes it recognize it. I look at the source code of Paper2D plugin module and it’s exactly how I’m doing it. I don’t understand…

It’s obviously a module dependency issue, but there’s absolutely no information anywhere online that I could find about fixing this. There is a few very basic guides on adding an asset action, but they are extremely limited, and not even Epic provides any information. It’s really unprofessional to have a library this big and complex, with half-*** documentation. I’ve seen worse documented libraries, but this one is right up there.

Sorry for the frustration. I’m tired of having an amazing and great engine, with absolutely no information on how to use or take advantage of it all. You might as well not have the amazing and great engine if you can’t use it.

I agree, the documentation could be improved. I do know that Epic has a dedicated person assigned to documentation…you might consider heading over to the feedback forum (documentation sub-forum) and provide examples of what you like. I personally like how MS does their C# documentation…


I didn’t test whether loading the module like that makes sense, but it’s fairly easy to get it to compile.

  1. The class is called IAssetTools, not IAssetTool. The type for your reference is undefined because you have a typo :smiley:
  2. You need an additional include for AssetToolsModule.h

This is why I use the “auto” keyword :slight_smile:

Wow… I guess I forgot the ‘s’ in IAssetTools.

This has happened before and will probably happen again, but each time I still feel like a **** fool. I wish my intellisense worked better and I wasn’t so stupid. Long days of programming… I should have knew it was something like spelling when there was absolutely no reason why it wouldn’t compile.

Thank you guys for helping me realize how stupid I am. I can continue some experimentation with this great engine.

I can recommend using VS 2017 (much faster intellisense) and Resharper C++ (much better intellisense results and other goodies). It works pretty great.

I like Visual Assist X personally, but VAX and Resharper do a big poop on default Intellisense. Impossible to work without it I’ve found.

Visual Assist X is worth every penny.

Installing 2017 has been on my list for a few weeks now. It would be awesome if they had Intellisense working better. :x

I use Resharper because I got it free as a student, no idea about Visual Assist :smiley:

VAX is way too good, I can’t work without it anymore…

^ This.

Have to try VS2017 Soon ™.
@Messiah_of_Savants - Any luck with the IAssetTools since?

Trying out the Visual Assist… first thing I noticed is this thing’s way faster than Resharper :smiley: