Creating next gen visual effects that think for themselves with Niagara | Unreal Engine 5