Hey there!
I’ve been having a blast using Rider in a C++ project, but noticed that it’s somehow not indexing BlueprintFunctionLibraries methods you can definitely use in code – is that a desired behavior?
If not, how can I get it to work?
Example:
I’m working a lot with the PCG plugin and am doing custom blueprint elements (UPCGBlueprintElement
).
To deal with custom attributes In the editor, you can access methods from a blueprint function library which uses template implementation (located in Plugins/PCG/…/Metadata/Accessors/PCGAttributeAccessorHelpers), but the actual implementation (exposed BP nodes) are in PCGMetadataAccessor
(located in Plugins/PCG/…/Metadata/PCGMetadataAccessor)
Somehow Rider fails to index any static method from these files (there’s a bunch of very handful typed Setter/Getter), and I ended up loosing hours to find the right .h to include in order to be able to have access to these functions – just to get UPCGMetadataAccessorHelpers::GetFloatAttribute()
but needed to include Metadata/PCGMetadataAccessor.h for it; this feels highly unusual and confusing on top of everything else.
At the end of the day I find myself searching for BP node in the editor, check where that node implementation is, and finally I’m able to know what I need to to include in my cpp files. It feels super backward.
Anyone has any workarounds or tips/tricks to share to make it more efficient to work with undocumented features/plugins?