# Roadmap

#### <mark style="color:green;">This is Roadmap is subject to change and I can always add</mark> <mark style="color:green;"></mark>*<mark style="color:green;">priorities</mark>* <mark style="color:green;"></mark><mark style="color:green;">to certain features based on community input or demand.</mark> &#x20;

### Features I plan on Adding in no particular order but lower on the list is least priority

* [ ] Create access tokens using **Unity cloud code to get Access Token**) \*\*<mark style="color:red;">Cloud code uses JavaScript, Although I know JavaScript's basics most Unity C# Devs probably won't so this most likely won't be implemented but rather taught in a tutorial</mark>\*\*
* [ ] Add support for Vivox Spoken Langauges option
* [ ] Create In-Depth ***offline*** documentation on how to use EasyCodeForVivox
* [ ] Create In-Depth ***online*** documentation on how to use EasyCodeForVivox
* [ ] Add **Unity Authentication** support as well
* [ ] Add support for **Audio injection** (Not working for me, currently opened up a [bug/discussion here](https://forum.unity.com/threads/how-to-properly-inject-audio-in-vivox-unity.1347467/))
* [ ] Add Code Analysis to throw errors when method parameter doesn't match Dynamic event
* [ ] Add Mono.Cecil for IL Weaving for faster Dynamic Events
* [x] Add support for **Audio Device switching**
* [x] Add **3d Demo scene** for testing 3d positional voice
* [ ] Create In-Depth ***online*** documentation on how to use **Vivox** even without **EasyCodeForVivox**
* [ ] Create In-Depth ***offline*** documentation on how to use **Vivox** even without **EasyCodeForVivox**
* [ ] Add **Server-to-Server** **API** support&#x20;
* [ ] Add Playmaker Visual Scripting integration&#x20;
* [ ] Add Bolt Visual Scripting integration (if possible, for custom add-ons)&#x20;

## Check out Progress - Work IN Progress

{% embed url="<https://sharing.clickup.com/20562778/l/h/6-240016482-1/899d9cabcd650c5>" %}

### **Features I Am Deciding Not to Add**

* Add **Remote Config** for APi Keys - Not Adding because of this response from Unity Dev <https://forum.unity.com/threads/remote-config-in-a-unity-asset.1349429/> . **Will Consider using cloud code instead**
* Vivox Presence Feature (refer to [this forum](https://forum.unity.com/threads/a-closer-look-at-multiplayer.1263110/#post-8022209) why)

### **Things to Consider**

* Add Generics to Vivox events (only support for 1 extra parameter max, <mark style="color:orange;">**not all Vivox events could support generic dynamic events so may never implement**</mark><mark style="color:red;">.</mark>&#x20;
* Create access tokens using **a custom hosted .Net API /Docker container(**&#x4F;nly because **cloud code** uses JavaScrip&#x74;**)**
* ~~*Add Dependency Injection*~~*&#x20;(Zenject and Extenject are not being actively maintained and there are issues when using IL2CPP in Unity ). Since **EasyCode** only supports Windows and Android it should not be an issue for most people using this asset*
