Big dho moment for me ... async message handlers run on background threads. I had several API I could never get to work- ShowEntity, Teleport, ShowGameMessage, MoveEntity Any ModAPI call that touches a live Unity object — LocalPlayer, entity positions, GUI methods, playfield mutations- all return null or throw when run from a background thread. Wrapping these calls in the mod's main thread dispatcher resolves it. Probably obvious to Unity developers; worth a note for those of us coming from other backgrounds. If the devs could add something to this effect to the ModAPI docs it could really help anybody who hasn't worked with Unity before.