It sounds like our parser is confused by this code, and does not properly understand the type of the unique_ptr template instance. As a first test, can you please try adding the following simple test code to one of your files, and see if Alt-G works correctly on the unique_ptr function calls. Alt-G is working correctly for all of these for me:
#include <memory>
class FelineTestUniqueSquare
{
public:
void RenderFillShape() { }
std::string GetSquareName() { return "Yellow Square"; }
};
class FelineTestUniqueCircle
{
public:
void RenderFillShape() { }
std::string GetCircleName() { return "Blue Circle"; }
};
static void makingPointers()
{
std::unique_ptr<FelineTestUniqueSquare> uniqueSquarePtr;
std::unique_ptr<FelineTestUniqueCircle> uniqueCirclePtr;
uniqueSquarePtr->RenderFillShape();
uniqueSquarePtr->GetSquareName();
uniqueCirclePtr->RenderFillShape();
uniqueCirclePtr->GetCircleName();
}
this will tell us if VA is handling unique_ptr correctly in your solution, since if it isn't then that could well explain all of the problems you are seeing.
If this sample code does work correctly, what happens when you use Alt-G on the pointer object, rather than the function call? If VA doesn't understand the pointer then this could also cause this problem.