Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Application.ExternalCall

static function ExternalCall(functionName: string, params args: object[]): void;
static void ExternalCall(string functionName, params object[] args);
static def ExternalCall(functionName as string, *args as object[]) as void

Description

Calls a function in the containing web page (Web Player only).

This will call JavaScript function functionName in the web page that contains the web player, passing given arguments to it. Supported argument types are the primitive types (string, int, float, char) and arrays of them. Any other objects are converted to string (using ToString method) and passed as strings.

The function is called non-blocking, i.e. ExternalCall immediately returns without waiting for the function that was called to complete.

The number of passed arguments can be varying:

	// Calls MyFunction1 in web page with no arguments
	Application.ExternalCall ("MyFunction1");

// Calls MyFunction2 in web page with a string Application.ExternalCall ("MyFunction2", "Hello from Unity!");

// Calls MyFunction3 in web page with several arguments of different types Application.ExternalCall ("MyFunction3", "one", 2, 3.0);

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        Application.ExternalCall("MyFunction1");
        Application.ExternalCall("MyFunction2", "Hello from Unity!");
        Application.ExternalCall("MyFunction3", "one", 2, 3.0F);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Example() as void:
		Application.ExternalCall('MyFunction1')
		Application.ExternalCall('MyFunction2', 'Hello from Unity!')
		Application.ExternalCall('MyFunction3', 'one', 2, 3.0F)

The functions to be called are just declared in the HTML page using standard syntax, for example:

	// This should be contained in the host page in the appropriate <script> element.
	// Using the above call from Unity, this will receive
	// "Hello from Unity!" as the argument.
	function MyFunction2( arg )
	{
		alert( arg );
	}