> For the complete documentation index, see [llms.txt](https://docs.arcware.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.arcware.cloud/unreal-engine-setup/using-the-arcware-pixel-streaming-template-project/getting-started/arcware-blueprints/arcware-player-controller/creating-and-testing-your-own-events.md).

# Creating and Testing Your Own Events

The existing Blueprint nodes in the Player Controller already allow you to Intercept some common Json messages, such as triggering Console Commands or changing camera views. It also provides example events that you can modify to create your own logic, as well as keyboard bindings for simulating custom Json messages being received.&#x20;

<figure><img src="/files/2PtIbxJVS7oPq5eHHjJ8" alt=""><figcaption><p>Event Overview</p></figcaption></figure>

**1)** Console Command Event\
**Use:** Logic for triggering Console Commands (typically you will always want the Console Command logics in your project as they are needed for features such as 'Dynamic Resolution Change' to work) \
\
**Keyboard Shortcut:** 1 \
\
**Json String:**

```
{ "console": "r.setres 1920x1080w" }
```

**2)** Change Camera View Event\
**Use:** Triggers an event inside the 'BP\_Arcware\_Pawn' that changes the players camera view \
\
**Keyboard Shortcut:** 2\
\
**Json String:**

```
{ "camera_view": "cam_01" }
```

**3)** Example Event - two events being triggered from a single Json Message \
**Use:** An example to show how a Json message with a single 'Key' but two embedded 'Values' can be utilised. Triggers two events that both print a string to the log. \
\
**Keyboard Shortcut:** 3\
\
**Json String:**

```
{ "trigger_events": { "event_01": "example_value_01", "event_02": "example_value_02" }}
```

**4)** Example Event - all events triggered from a group of Json Messages embedded in one object \
**Use:** An example to show how you could send all Json messages to Unreal Engine in one Json object string. This could be useful if you want to send a whole configuration list at once.  \
\
**Keyboard Shortcut:** 4\
\
**Json String:**

{% code overflow="wrap" %}

```
{ "console": "r.setres 1920x1080w", "camera_view": "cam_01", "trigger_events": { "event_01": "example_value_01", "event_02": "example_value_02" }}
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.arcware.cloud/unreal-engine-setup/using-the-arcware-pixel-streaming-template-project/getting-started/arcware-blueprints/arcware-player-controller/creating-and-testing-your-own-events.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
