Unity wraps on top of the Emscripten mechanisms to interact with C# scripts
and JavaScript. See here for instructions:
http://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html.
Do the methods outlined there work for you?

If you are writing a Unity C/C++ plugin and want to call that from JS side,
then you will likely need to use the EMSCRIPTEN_KEEPALIVE method that Alon
mentions, if the function is not otherwise pinned down by any other
function calls.

2016-03-24 20:22 GMT+02:00 Alon Zakai <[email protected]>:

> Can't you add EMSCRIPTEN_KEEPALIVE in the C++ source where you wrote that
> int_sqrt function? See examples in the link from before.
>
> On Thu, Mar 24, 2016 at 10:56 AM, Dan Savage <
> [email protected]> wrote:
>
>> So in this case unity3d is doing the compilations so I have no control
>> over that. Unity has their own method for calling functions which works so
>> the function must exist somewhere but maybe it's renamed or hidden.  I was
>> hoping there might be a way to interact directly with the function.
>>
>>
>>
>> On Thursday, March 24, 2016 at 10:30:55 AM UTC-7, Alon Zakai wrote:
>>>
>>> The int_sqrt function also needs to be exported, using the
>>> EXPORTED_FUNCTIONS option on the commandline, or the EMSCRIPTEN_KEEPALIVE
>>> macro in the source. Otherwise, the compiler removes code it thinks is not
>>> needed.
>>>
>>> On Thu, Mar 24, 2016 at 10:28 AM, Dan Savage <
>>> [email protected]> wrote:
>>>
>>>> Unity3d uses emscripten to run unity in javascript for webgl.  I'm
>>>> trying to access functions that I wrote in unity from javascript but I get
>>>> errors that it cannot find the functions.
>>>>
>>>> I'm using the documentation examples of communicating found here
>>>>
>>>> https://kripken.github.io/emscripte...l#interacting-with-code-direct-function-calls
>>>>
>>>> I've tried the example of putting int_sqrt  into the code and then
>>>> using _ underscore for direct call to the function. I also tried the ccall
>>>> and cwrap.  The functions are not found using either of these methods.
>>>>
>>>> Assertion failed: Cannot call unknown function int_sqrt (perhaps LLVM
>>>> optimizations or closure removed it?)
>>>>
>>>> The function is there because I can call it using a unity specific
>>>> SendMessage command that unity included.
>>>> Why can't I see it using the underscore or cwrap commands?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "emscripten-discuss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to