Hi! I was wondering if it’s possible to allow users to create & execute scripts? They would be made in the level, and then saved as part of the level’s XML file, and executed (for example, the user could call a function when an object is touched, then make the object change colour to a random colour)
If this is possible, where can I find some resources to help me out with this task?
Theoretically it is possible. You can call any function exposed to the UE4 reflection system (and blueprint) by using UObject::CallFunction method. Also you can figure out what fields any object contains by using TFieldIterator. To create a simple script engine you have to be able create and manage variables (see blueprint struct usage), call functions bounded to the object (see CallFunction) and create correct stack frame for them (also blueprint). To parse XML there is existing an XML parser (FXmlFile and related classes).