Communication issue from Browser to Web Player

Hi all,

I'm currently trying to send information to a precompiled unity3d object from my html web page. What I did is the following.

I created a project with Unity3D and built it as a webplayer (not streamed). I tried to follow the tutorial on Unity page ( http://unity3d.com/support/documentation/Manual/Unity%20Web%20Player%20and%20browser%20communication.html ) but nothing happened with my GetUnity().SendMessage(...).

As debug-like solution, I tried to put document.write("...") around the SendMessage and I discovered that it cannot apply the SendMessage command (it only prints the "..." that is before the SendMessage call).

Do anyone have an idea on this issue? Notice that I can call an javascript alert from Unity object on the web page... But I cannot communicate in the other sense.

Cheers, -Patrick

I found another way to do it. in your unity3d script, make a function that call an external javascript that send data to unity3d.

so in unity3d.. on start() method

Application.ExternalCall("setUserID", 0);

on browser

function setUserID(Void)
{   
     GetUnity().SendMessage( "webConnect", "setSessionId", "<?php echo $session['session_id']; ?>" ); 
}

and then in unity3d, on the same script as the first call, create another function

void setSessionId(string sessionString)
{
    try
    {
        _user.setSessionId(sessionString);
        guitext.setSessionText();
    }
    catch { Debug.Log("null session"); } 
}

if you do this, the javascript call will only be called after the unity instance fully loaded

this is because the web player have not fully loaded, and yet you call the sendmessage function. there is some tutorial somewhere, i also am looking for it while i am writing this post.

i will post the link if i find it.