> For the complete documentation index, see [llms.txt](https://wiki.mmorealms.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.mmorealms.gg/pixelmon-wiki/general-guides/a-complete-guide-to-tms.md).

# A Complete Guide to TMs

This guide will go over everything you need to know about TMs on Cobblemon on MMO Realms.

**Contents**

1. [What are TMs?](#what-are-tms)
2. [Obtaining TMs](#obtaining-tms)
   1. [Battling](#battling)
3. [Generational Differences](#generational-differences)
   1. [What are TRs?](#what-are-trs)
4. [Using TMs](#using-tms)
5. [FAQ](#faq)

***

## What are TMs?

**TMs** stand for **technical machines**, which are a set of tools used within Pokemon to teach specific moves to a given Pokemon that they otherwise do not learn naturally via level up. In doing so, you gain access to a whole new range of ways to battle with your chosen partner, whether that be gaining access to a strong attack, getting type coverage sorted, or even some sneaky status moves.

<div><figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FymLff0IHCHoQl9ErCLga%2Fimage.png?alt=media&amp;token=a868b7b3-d988-4b11-b1ff-2dd098960240" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FnsPfto2x3mTOpXH0AzMH%2Fimage.png?alt=media&amp;token=e0e69009-108e-494d-9dfb-bbe062b55464" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FJOGU0EwU523uSdc40jMo%2Fimage.png?alt=media&amp;token=4d6e83b9-2ea7-49ff-ae2f-539f7d80d1d5" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F6J8MaWL3hV6EnNncvkk7%2Fimage.png?alt=media&amp;token=fb28f7f6-d333-45d4-900e-8ae3fb7be71b" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F4StxjhJww2CclRgQi3Q4%2Fimage.png?alt=media&amp;token=dda5e981-c646-40e3-9fb8-4e28099557ab" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FRg0ObghxYiakwW2sUnvK%2Fimage.png?alt=media&amp;token=828fd715-0172-4780-b89d-f86975655620" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FV4U0RgIOvu1Ao9BsVTTK%2Fimage.png?alt=media&amp;token=2b074d2b-73b3-4f12-a2ba-3ab62bd800fc" alt=""><figcaption></figcaption></figure></div>

<div><figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FrFDWQcgHreLhGfvEoXBl%2Fimage.png?alt=media&amp;token=feeb5c95-08fa-4ff4-a484-7201ad61ad47" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F2hlgaMoELEPwcJqpzTyy%2Fimage.png?alt=media&amp;token=1f3490e1-312c-4b64-bc8e-dacf2cdd06ae" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FyvAfvOQ7EExXSY3j82j2%2Fimage.png?alt=media&amp;token=bdadb4d6-429f-42a2-84db-a5f940b14ab1" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F82bO3X5KhvRK0ef0tqli%2Fimage.png?alt=media&amp;token=823a74bf-a504-45f6-82aa-a223f3ccbf9a" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FzmLycLuo5uDn0cSiyeeV%2Fimage.png?alt=media&amp;token=22103519-17b1-40d5-93b9-6c084fb0a51d" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FEI6XP6IHI50eDTG2s6rx%2Fimage.png?alt=media&amp;token=d28420b6-37e0-4f51-8469-d0aeefe7aa9b" alt=""><figcaption></figcaption></figure></div>

<div><figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2Fjf0U1KqvteGiP1lUS61b%2Fimage.png?alt=media&amp;token=a47de970-326b-4ab7-9cb4-58d3e48cfcbe" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F7eELokYsCPvoGuQkpVaS%2Fimage.png?alt=media&amp;token=6c1b7752-96e4-4913-a106-f35b8d4761cf" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2F2iHyvmf8g1pvB85DHcZC%2Fimage.png?alt=media&amp;token=d77ca45e-4610-4bf2-bc15-5417232be965" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FXoCEsMXZ23sPwA6L1Zcv%2Fimage.png?alt=media&amp;token=5c25fbd4-a91f-43d1-8bb5-493e64e2338f" alt=""><figcaption></figcaption></figure> <figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FDgxDc94okivHqKb3eaDX%2Fimage.png?alt=media&amp;token=33a51f47-78fd-4e8b-ac80-0a7803203a00" alt=""><figcaption></figcaption></figure></div>

## Obtaining TMs

There is one primary way for a player to get new **TMs**, however it requires some level of work from the player to get a hold of exactly what they are looking for.

### Battling

**TMs** are obtained by imprinting moves onto **blank TMs**, which makes the first logical step being obtaining a blank TM for yourself to use. These are obtained as rare drops from Pokeloots and Bosses, so keeping picking up and battling any you see, and you're sure to come across some.

Now you have all the materials, imprinting onto a **TM** is as simple as placing the blank TM into your Pokemons held item slot, and then having them use the move you'd like to imprint in battle 100 times. Once complete, your blank TM will change into a fully functional **TM** of the desired move.

<figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FMoHwcm1xYFuQTp7rKaOS%2Fimage.png?alt=media&amp;token=c6aa9fc5-a107-4b86-a07f-3ad1a94f66eb" alt=""><figcaption><p>TM Imprinting Progress</p></figcaption></figure>

## Generational Differences

It's important to specify that Pixelmon remains faithful to the Pokemon games, ensuring that a Pokemon can learn moves from **TMs** that appeared in its learnset from any past generation. However, in order to do so you must ensure you have the right generation of **TM**. Only select generations of **blank TMs** are available to players.

| Generation    | Obtainability                                                                                                 |
| ------------- | ------------------------------------------------------------------------------------------------------------- |
| Kanto \[ 1 ]  | Unobtainable                                                                                                  |
| Johto \[ 2 ]  | Unobtainable                                                                                                  |
| Hoenn \[ 3 ]  | Unobtainable                                                                                                  |
| Sinnoh \[ 4 ] | Unobtainable                                                                                                  |
| Unova \[ 5 ]  | Unobtainable                                                                                                  |
| Kalos \[ 6 ]  | Unobtainable                                                                                                  |
| Alola \[ 7 ]  | <ul><li>Tier 4 (Ultrabeast) Pokeloots</li></ul>                                                               |
| Galar \[ 8 ]  | <ul><li>Tier 1 (Poke) and Tier 2 (Great) Pokeloots</li><li>Common, Uncommon, Rare and Spooky Bosses</li></ul> |
| Paldea \[ 9 ] | Unobtainable                                                                                                  |

### What are TRs?

**TRs** stand for **technical records**, which function almost identically to **TMs** and are strictly a Galarian (Generation 8) feature only. The key difference between the pair is that **TMs** can be used an unlimited number of times, whereas **TRs** can only be used once, and are consumable items.

<figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FD5gSzgNg8eUEi2OIEgq3%2Fimage.png?alt=media&amp;token=af9cac66-9ebc-42f5-89a0-f852c6024a30" alt=""><figcaption><p>TM (left) and TR (right)</p></figcaption></figure>

Additionally, because **TRs** do not last as long as **TMs**, they are typically easier to obtain, only requiring that the user imprint them with a move 25 times, instead of the usual 100.

## Using TMs

Much like any other consumable item, all you need to do is right click your chosen Pokemon with the **TM** to unlock it within their remembered moves, allowing you to add it to their moveset at any time from the summary menu.

{% hint style="info" %}
Pokemon typically cannot learn every TM (with the exception of Mew). As a result you can only teach a Pokemon a move it is compatible with from its TM learnset. You can use the `/tms {species}` command to preview what moves a given Pokemon may learn.
{% endhint %}

<figure><img src="https://1136757732-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaGML4Zd5tMQdGofzRFUX%2Fuploads%2FD3xCJqD48FVaiyA5Ndeo%2Fimage.png?alt=media&amp;token=013b3de0-d1b7-4c01-9ed9-cdd4266d31df" alt="" width="563"><figcaption></figcaption></figure>

## FAQ

<details>

<summary><strong>Q: Why isn't my Pokemon learning the move from my TM?</strong></summary>

A: Make sure the Pokemon you are trying to teach the move to is compatible with it. Certain Pokemon only learn moves in select methods, whether that be level up, evolution, egg moves, or even not at all. Additionally make sure you are attempting to teach the Pokemon the move from the correct generation of TM.

</details>

<details>

<summary><strong>Q: Can I teach multiple Pokemon the same move from one TMs and TRs?</strong></summary>

A: It depends. Yes with TMs, as they are **not** consumable items, meaning you are able to use them indefinitely. No with TRs, as they are single use consumable items, meaning upon usage with one Pokemon you will lose the item.

</details>


---

# 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://wiki.mmorealms.gg/pixelmon-wiki/general-guides/a-complete-guide-to-tms.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.
