# JavaScript에서 Unity C# 스트립트 함수 호출

> Call functions from your Unity project in your JavaScript plug-in or browser.

JavaScript 플러그인 또는 브라우저 코드에서 일부 Unity 코드를 호출할 수 있습니다. 예를 들어 Unity 동작을 트리거하고 해당 메서드에 액세스해야 하는 JavaScript UI 요소가 필요할 수 있습니다.

브라우저의 JavaScript에서 Unity C# 스크립트에 데이터 또는 알림을 보내는 권장 방법은 `SendMessage` 함수를 사용하여 Unity 프로젝트의 게임 오브젝트에서 메서드를 호출하는 것입니다.

## SendMessage 헬퍼 함수 사용##use-the-sendmessage-helper-function

JavaScript 코드에서 Unity 스크립팅 API의 Unity 메서드를 호출하려면 `SendMessage`를 사용합니다.

전달할 수 있는 메서드의 종류에는 몇 가지 제한이 있습니다. 게임 오브젝트의 메서드만 호출할 수 있으며, 다른 오브젝트에 연결된 일반적인 C# 메서드는 호출할 수 없습니다. 또한 다음 중 하나가 true인 경우에만 `SendMessage`를 사용하여 메서드를 호출합니다.

* 메서드가 파라미터를 받지 않습니다.
* 메서드에 하나의 파라미터가 있으며 해당 파라미터는 문자열 하나입니다.
* 메서드에 하나의 파라미터가 있으며 해당 파라미터는 숫자 하나입니다.

두 개 이상의 파라미터 또는 다른 유형의 파라미터가 있는 메서드는 `SendMessage`를 사용하여 호출할 수 없습니다.

## SendMessage 코드 예시##example-sendmessage-code

프로젝트에 내장된 JavaScript 플러그인에서 호출하려면 다음 코드를 사용하십시오.

```js
MyGameInstance.SendMessage(objectName, methodName, value);
```

* `objectName`은 씬에 있는 오브젝트의 이름입니다.
* `methodName`은 현재 해당 오브젝트에 연결된 스크립트의 메서드 이름입니다.
* `value`는 문자열이나 숫자일 수도 있고 비어 있을 수도 있습니다.

다음은 다양한 파라미터로 호출할 수 있는 각 메서드 유형을 보여 주는 또 다른 예시 코드입니다.

```js
MyGameInstance.SendMessage('MyGameObject', 'MyFunction');
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 5);
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 'MyString');
```

임베딩 페이지의 전역 범위에서 호출하려면 [전역 범위에서 JavaScript 함수 호출](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting/web-interacting-browser-js-to-unity.md#global-scope)을 참조하십시오.

## 추가 리소스##additional-resources

* [브라우저 스크립팅과 상호 작용](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting.md)

* [JavaScript 플러그인 설정](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting/web-interacting-browser-js.md)

* [Unity C# 스트립트에서 JavaScript 함수 호출](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting/web-interacting-browser-js-to-unity.md)

* [Unity C# 스트립트에서 C/C++/C# 함수 호출](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting/web-interacting-browsers-c-to-unity.md)

* [Unity C#, JavaScript, C/C++/C# 코드 간 콜백 생성](/engine/6000.0/manual/platform-specific/webgl/develop/interactingwithbrowserscripting/web-interacting-browser-example.md)
