Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UnitySendMessage not working from non-unity activity

I'm developing an android plugin which should start another activity (with UI and everything...). This activity (which is not inherits from UnityPlayerActivity of course) should send message to the Unity C# code. I'm trying to call UnityPlayer.UnitySendMessage, I see my log a moment before sending the message but the C# side doesn't get it (no exception is raised).

This is the callback which is called from the other activity:

@Override
public void generatePayload() {
   try {
      Log.v(TAG, "generatePayload was triggered");
      UnityPlayer.UnitySendMessage("AndroidObject", "generatePayloadMessage", "");
   } catch (Exception ex) {
      Log.e(TAG, "failed to send message to unity");
   }
}
  • I've tried to call this method from the unity primary activity and the message was received successfully in the unity side.
  • I've tried also to send the message from the other activity (as I should) but in main thread and it didn't work too...

Any suggestions? Can't I send message to unity while UnityActivity isn't in foreground? If this is the situation - what can I do?

like image 645
Tal Sh Avatar asked Nov 10 '22 11:11

Tal Sh


1 Answers

there is no message/string sent in your code above only a target object and method, you are sending an empty string to generatePayLoadMessage([nothing being sent])

try

UnityPlayer.UnitySendMessage("AndroidObject", "generatePayloadMessage", "Hello world");

also please state what you have set up on the Unity side to handle the message.

like image 133
urfx Avatar answered Nov 14 '22 21:11

urfx