> For the complete documentation index, see [llms.txt](https://fullstackindie.gitbook.io/easy-code-for-vivox/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fullstackindie.gitbook.io/easy-code-for-vivox/dynamic-events/gotchas.md).

# Gotchas

### Dynamic Event Gotchas

* If invoked method is <mark style="color:blue;">async void</mark> or <mark style="color:blue;">async Task</mark> you will not get an exception in some cases, but the GameObject/UI element will be modified on a separate thread, and **you will not see the changes on the Gameobject or in the UI** because those **can only be modified from the main thread.**&#x20;
* If multiple async event invoked methods are attempting to modify the same Gameobject you may see the changes passed between the methods if the <mark style="color:blue;">**async Task/void**</mark> **are called on the same thread**, but the changes will never affect the main thread. Also, you may not see exceptions when using <mark style="color:blue;">async void</mark> because it is treated as "fire and forget" and a **Task** is never returned. \
  ***So, if you are accessing Game Objects or UI don't use async events!!!*****&#x20;You can still use Dynamic Events, just use the Synchronous version**
* As of right now using **DynamicEvents** will work on public, private, and static methods. **Gotcha -** <mark style="color:red;">If the method and class is static an exception may be thrown</mark>. I have yet to test this out but <mark style="color:red;">be warned</mark>.&#x20;
* Dynamic events dont work on internal classes (test it out)
* Dynamic events are invoked with the method you are calling. If you do&#x20;
