# Replacing Game Logic

{% hint style="warning" %}
You cant replace everything
{% endhint %}

Game dont support full replacement. Instead of this, you can replace Player Classes, Room Events.\
Or, you can remove in-game components and add your own components.

### Player Classes, Room Events

When Game assign player class, it checks if plugins contains same class, if exists, then apply plugin class. Example:\
When Player force to be **Spectator**, it checks if **Plugin.Classes.Spectator** exists, if exists, then it assign **Plugin.Classes.Spectator** class.\
Same for Room Events, Example:\
When Map Generator create **HC\_HID**, it checks if **Plugin.Rooms.HC\_HID** exists, if exists, then it assign **Plugin.Rooms.HC\_HID** class.

### Another type of replacement

If you want to remove round management, support teams management and etc., then you need to find this objects and destroy them.\
Example:

```
GameObject.Destroy(FindObjectOfType<RoundManager>());
```
