# 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>());
```


---

# Agent Instructions: 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:

```
GET https://akequ.gitbook.io/scp-classified-site-plugin-api/docs/replacing-game-logic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
