-
Various helper modules for RobCoG.
-
Supported engine version: UE 4.25
-
Add the plugin to your project (e.g
MyProject/Plugins/UUtils) -
Add the module dependency to your module (Project, Plugin); In the
MyModule.Build.csfile:PublicDependencyModuleNames.AddRange( new string[] { ... "UMyUtilsModule", // UIds, UTags etc. ... } ); -
Include
MyUtilsModule.hwhere you plan to use the related functions.
Using the built in Tag functionalities of Actors and Components to store data in a key-value pair form. The plugin has various functions to ease the access for such data.
Example of storing key-value pairs:
[TagType;Key1,Value1;Key2,Value2;Key3,Value3;]
- first word always represents the
TagType, this is followed by asemicolon - separate the
[Key]from the[Value]using acomma: , - separate the
[Key,Value]-pairs using asemicolon: ; - always end the tag description with a
semicolon: ; - do NOT use white spaces in the tag descriptions
How to add tags to an actor:
How to add tags to a component:
Tag:
[SemLog;Runtime,Static;Id,3rFg;Class,Sink;]
Generating new Ids for all the actors with the TagType SemLog:
static FReply GenerateNewIds()
{
for (TActorIterator<AActor> ActItr(GEditor->GetEditorWorldContext().World()); ActItr; ++ActItr)
{
int32 TagIndex = FTagStatics::GetTagTypeIndex(*ActItr, "SemLog");
if (TagIndex != INDEX_NONE)
{
FTagStatics::AddKeyValuePair(
ActItr->Tags[TagIndex], "Id", FSLStatics::GenerateRandomFString(4));
}
}
return FReply::Handled();
}Get a map of actors or components to their tag properties giving the world as an input
// Get the map of actors to their tag properties
const TMap<AActor*, TMap<FString, FString>> ActorToTagProperties =
FTagStatics::GetActorsToKeyValuePairs(World, "SemLog");
// Get the map of components to their tag properties
const TMap<UActorComponent*, TMap<FString, FString>> ComponentToTagProperties =
FTagStatics::GetComponentsToKeyValuePairs(World, "SemLog");
// Get all objects with TF tags
auto ObjToTagData = FTagStatics::GetObjectsToKeyValuePairs(GetWorld(), TEXT("TF"));Helper functions for generating and converting universal unique identifiers (FGuid) to Base64 and back.
Units and coordinate systems conversions from and to Unreal Engine.