This is why I said ReceiveMessage clearly needs to be in the interface; removing it makes Actor::Create unable to create the actor, which leads to "WARNING: Can't add a null element to the world". I don't know why this happens; I can't find any real reason for it, though I haven't scrutinized the code excessively.

However, since it does, the simplest fix is to simply include ReceiveMessage whenever it is overridden.

You can test this yourself, if you like; just build without ReceiveMessage in Actor.i