Aller au contenu principal

Creating Addons

---
slug: addons
title: Créer des Addons
description: Étendez la fonctionnalité de la tablette.
---
Pour créer vos propres modules, vous pouvez hériter de la classe **TabletModule**.
Pour de meilleurs résultats, n'appelez pas vos fonctions initiales dans `Start()`, utilisez plutôt `OnInitialize()`.

## Rendre les Addons Disponibles dans le Script Principal

Le script principal charge ses modules à partir de 2 ScriptableObjects, le **AvailableModules** contient les prefabs qui seront ajoutés, et le **AvailableCategories** contient des catégories configurables utilisant ModuleNames.

:::note
Il n'est pas nécessaire d'ajouter votre module à AvailableCategories, il apparaîtra sous Uncategorized si aucune n'est trouvée.
:::

## Exemples

### Vérification d'Initialisation Simple

```c#
public SomeFunction(){
if (!Initialized)
{
tablet.notificationSystem.CustomLog("MyModule >> Module not initialized yet!");
return;
}
// reste du code...
}
```

:::tip
Nous utilisons `tablet.notificationSystem.CustomLog` au lieu de `Debug.Log` pour ajouter le support de VUdonLogger et respecter la configuration de débogage de l'utilisateur.
:::

### Vérification de Permissions Simple

```c#
[SerializeField]
string[] permissionTags;

public SomeFunction(){
if(!tablet.CheckAccess(permissionTags)) return;
// reste du code...
}
```

:::note
La tablette gère le message d'erreur des permissions manquantes.
:::