Both the AddLinkedStateTreeOverrides and the SetLinkedStateTreeOverrides methods attempt to validate the schema of the linked state trees, but the logic for doing so seems to be missing a boolean NOT:
if (ItemStateTree->GetSchema() == nullptr
|| ItemStateTree->GetSchema()->GetClass()->IsChildOf(UStateTreeComponentSchema::StaticClass()))
{
STATETREE_LOG(Warning, TEXT("%hs: Trying to set the linked overrides with the wrong schema. %s."), __FUNCTION__, *ItemStateTree->GetFullName());
return;
}
That warning will fire anytime the Schema DOES match and the actual assignment will be skipped by the short-circuit return.
This is from the Add version but the Set version has the same check with the same issue.