Constant rotatorrotation

Constant RotatorRotation

Rotate to different end position based on initial rotation

Lerp back out in a different way

​ -Different curve

​ -Different cw rotation direction

Debug Level

Add Custom World Settings

//TODO: ikrimae: Check to make sure that we have the necessary components in our level

// -GameMode is ABBGameModeBase

// -LevelScripts are ABBLevelScript

// -ArenaLevels have all their objects set to static mobility

// -StadiumLevels have all their objects set to movable mobility

// -We have placed instances for all of our manager classes in the level (e.g. ABBStateMachineManager)

//Make sure mapcheck checks against all visible levels

===========================================

void UBlueprint::GetAllGraphs(TArray<UEdGraph*>> Graphs) const

/** Set of pages that combine into a single uber-graph */

​ UPROPERTY()

​ TArray<class UEdGraph*> UbergraphPages;

​ /** Set of functions implemented for this class graphically */

​ UPROPERTY()

​ TArray<class UEdGraph*> FunctionGraphs;

​ /** Graphs of signatures for delegates */

​ UPROPERTY()

​ TArray<class UEdGraph*> DelegateSignatureGraphs;

​ /** Set of macros implemented for this class */

​ UPROPERTY()

​ TArray<class UEdGraph*> MacroGraphs;

for (UEdGraph* CurrentGraph : Blueprint->FunctionGraphs)

​ {

​ if( CurrentGraph->GetFName() == Schema->FN_UserConstructionScript )

​ {

​ return CurrentGraph;

​ }

​ }

=========

Find references function/find function

GetFindReferenceSearchString

FindInBlueprints.h:

SFindInBlueprints::MakeSearchQuery() - to comprehensively search blueprint nodes (e.g. parameters, comments, etc)

TSharedPtr< FImaginaryBlueprint> ImaginaryBlueprint(new FImaginaryBlueprint(Blueprint->GetName(), Blueprint->GetPathName(), ParentClass, Interfaces, FFindInBlueprintSearchManager::Get().QuerySingleBlueprint(Blueprint)));

​ TSharedPtr< FFiBSearchInstance > SearchInstance(new FFiBSearchInstance);

​ FSearchResult SearchResult = RootSearchResult = SearchInstance->StartSearchQuery(SearchValue, ImaginaryBlueprint);

========

//Show what objects points to this, using the assetregistry

ObjectTools::ShowReferencers()

​ RetrieveReferencers( TArray<FReferencerInformation>* OutInternalReferencers, TArray<FReferencerInformation>* OutExternalReferencers);

//Show objects this points to

ObjectTools::ShowReferencedObjs(GetBlueprintObj());

​ //To differentiate between what the default class points to vs. the instance

​ ObjectTools::ShowReferencedObjs(GetBlueprintObj()->GeneratedClass);

/** Gather all bps that Blueprint depends on */

static void GatherDependencies(const UBlueprint* Blueprint, TSet<TWeakObjectPtr<UBlueprint>>& OutDependencies, TSet<TWeakObjectPtr<UStruct>>& OutUDSDependencies);

/** Returns a list of loaded Blueprints that are dependent on the given Blueprint. */

static void GetDependentBlueprints(UBlueprint* Blueprint, TArray<UBlueprint*>& DependentBlueprints, bool bRemoveSelf = true);

=========

Search Asset Registry

FAssetRegistryModule* AssetRegistryModule = &FModuleManager::LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry"));

TArray<FAssetData> AssetData;

FARFilter Filter;

Filter.ClassNames.Add( UBlueprint::StaticClass()->GetFName() ); //get blueprints

Filter.PackagePaths.Add("/Game/Blueprints/RoomModel"); //from location

AssetRegistryModule->Get().GetAssets(Filter, AssetData);

//AssetRegistryModule->Get().GetAssetsByClass(Class->GetFName(), AssetData);

for (TArray<FAssetData>::TConstIterator PkgIter = AssetData.CreateConstIterator(); PkgIter; ++PkgIter)

{

FAssetData Asset = *PkgIter;

UBlueprint* BlueAsset = Cast<UBlueprint>(Asset.GetAsset());

if (BlueAsset->ParentClass == ARoomConnection::StaticClass()){

GEngine->AddOnScreenDebugMessage(-1, 10.f, FColor::Red, Asset.AssetName.GetPlainNameString());

}

}

================================

Check if Actor is a BP

UBlueprint::GetBlueprintFromClass(const UClass* InClass);

BlueprintClass->HasAnyClassFlags(CLASS_CompiledFromBlueprint)

UObject->IsA(UBlueprintGeneratedClass::StaticClass())

UClass->IsChildOf(UBlueprintGeneratedClass::StaticClass())

Find all nodes of type

TArray<UK2Node_CustomEvent*> BpCustomEvents;

FBlueprintEditorUtils::GetAllNodesOfClass<UK2Node_CustomEvent>(FuncBlueprint, BpCustomEvents);

static bool GetBlueprintHierarchyFromClass(const UClass* InClass, TArray<UBlueprint*>& OutBlueprintParents);

===============

For finding shit that exists in bad folders:

TFindObjectReferencers

ShowReferencedObjs

UObject::OutputReferencers()/RetrieveReferencers()