Map Library

The Map Library is split into two classes. UNihiloMapLibrary is a templated C++ library covering the full operation set. UNihiloMapLibrary_BP exposes a typed Blueprint subset for common key/value type combinations: String→String, String→Int, String→Float, String→Object, Int→String, Int→Int, Int→Float, Int→Object, Object→String, and Object→Object.
info
All functions are stateless and return new maps — none mutate the input. In C++, pass any key/value types via the templated versions. In Blueprint, use the typed suffix variants (e.g. Merge_StringInt).
Function Description
Query
ContainsValue Returns true if any entry in the map has the given Value. Blueprint typed variants available.
GetKeys Returns all keys as a TArray<K>. Blueprint typed variants available.
GetValues Returns all values as a TArray<V>. Blueprint typed variants available.
FindKeysForValue Returns all keys whose mapped value equals Value. Useful for reverse lookups without inverting the full map. Blueprint typed variants available.
Function Description
Transformation
Invert Returns a new map with keys and values swapped — a TMap<V, K>. Duplicate values in the original will overwrite earlier entries. Blueprint typed variants available.
Filter Returns a new map containing only entries where the predicate returns true. The predicate receives both the key and value. C++ only.
TransformValues Keeps all keys, applying a transformer function to produce new values of a different type. Returns a TMap<K, NewV>. C++ only.
TransformKeys Keeps all values, applying a transformer function to produce new keys of a different type. Returns a TMap<NewK, V>. C++ only.
Function Description
Merge
Merge Combines two maps into one. On key conflicts, the second map's value wins. Blueprint typed variants available.
MergeWith Combines two maps using a custom conflict resolver. When both maps contain the same key, the resolver receives both values and returns the one to keep. C++ only.
Function Description
Conversion
ToArray Converts the map to a TArray<TPair<K, V>>. In Blueprint, typed variants output parallel OutKeys and OutValues arrays instead.
FromArrays Builds a map from parallel Keys and Values arrays. Length is clamped to the shorter array. Blueprint typed variants available.
IndexBy Builds a map from an array by extracting each element's key via a selector function. bOverwriteDuplicates controls whether later entries replace earlier ones on key collisions. C++ only.
Function Description
Aggregate
CountWhere Returns the number of entries where the predicate returns true. The predicate receives both key and value. C++ only.
AnyMatch / AllMatch Predicate-based boolean checks across all entries. Both predicates receive the key and value. C++ only.