Interacting with unreal from scripts often happens through function libraries. These are exposed to script as namespaces containing a set of related functions.
For example, to set a timer you can call
Clicking the library will bring you to the API documentation for them, listing the available functions:
- Math:: - All standard math functionality
- Gameplay:: - Game functionality such as streaming, damage, player handling
- System:: - Engine functionality such as timers, traces, debug rendering
- Niagara:: - Spawning and controlling particle systems
- Widget:: - UMG widget functionality
The functions for function libraries in script are automatically taken from blueprint function library classes in C++.
Before binding, the angelscript plugin simplifies the name of the class to make a shorter namespace.
For example, the functions in the
System:: namespace are automatically sourced from the
UKismetSystemLibrary class in C++.
Common prefixes and suffix that get stripped automatically are:
For some examples of how namespaces are simplified:
Because blueprint and C++ have fairly different ways of doing math code, we have decided to keep the
Math:: namespace in script closer to the C++
FMath:: namespace in general.
Sticking closer to C++ math eases the transition for experienced programmers and lets code be ported between the two more easily.
This means that
UKismetMathLibrary gets ignored for automatic binding.