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.
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. |