In the first case, if the BPI is passing references of type ‘actor’ then that sounds ok. If it’s passing specific types, then there’s no point in using a BPI ![]()
If an array arrives from the BPI, it’s fine to copy it into a local array, of course. In fact a local copy is automatically made as part of the call, so you don’t have to explicitly do it. The different BPI calls will not get muddled up.
Transmitting a level name is fine also.