Tester et déboguer
Valider registre, connexion, schéma, actions et variables avec une méthode reproductible.
Objectif
Isoler rapidement un problème Unity, réseau, protocole ou contrat.
1. Valider sans réseau
Ouvrez Pulse > Pulse Manager, onglet Bindings. Vérifiez :
- que chaque classe attendue apparaît ;
- que les IDs ne sont ni vides ni dupliqués ;
- que les bornes des variables sont correctes ;
- que la Console Unity ne contient aucune exception de getter.
Vous pouvez aussi inspecter le registre dans un test ou un outil interne :
using PulseSDK.Binding;
using UnityEngine;
public static class PulseRegistryDiagnostics
{
public static void Dump()
{
foreach (var id in PulseRegistry.Actions.Keys)
Debug.Log($"Pulse action: {id}");
foreach (var id in PulseRegistry.Variables.Keys)
Debug.Log($"Pulse variable: {id}");
}
}2. Valider le transport
- Confirmez l'URL configurée.
- Depuis le PC, testez l'accessibilité de l'IP et du port du casque.
- Lancez le broker avant le Play Mode.
- Observez
OnConnectedetOnDisconnected. - Coupez brièvement le réseau et vérifiez le backoff de reconnexion.
Si le build Android refuse ws:// alors que l'Editor fonctionne, vérifiez les règles de trafic en clair du manifeste ou de la Network Security Configuration de votre projet. Le package n'ajoute pas lui-même un manifeste Android.
3. Valider le schéma
Dans le testeur :
- identifiez le SDK avec
Application.identifier; - demandez
SYNC; - contrôlez les IDs, types, paramètres, valeurs d'enum, bornes et bloc
ui; - vérifiez que les variables portent leur valeur initiale.
Une action absente indique généralement un composant désactivé, un base.OnEnable() oublié, un ID dupliqué ou un schéma construit avant l'activation de l'objet.
4. Valider CMD et SET
Testez chaque action avec : arguments valides, argument manquant, mauvais type et ID inconnu. Testez chaque variable avec : valeur normale, valeur hors bornes, mauvais type, lecture seule et ID inconnu.
| Résultat | Diagnostic |
|---|---|
| Aucun ACK | transport, room ou client non abonné |
UNKNOWN_ACTION / UNKNOWN_VAR | registre ou ID |
BAD_ARGS | signature, type JSON ou setter |
READ_ONLY | propriété sans setter |
INTERNAL | exception de la méthode appelée |
5. Tester les scènes
Chargez chaque transition représentative, puis demandez SYNC. Assurez-vous que les bindings disparus ne sont plus présents et que les nouveaux apparaissent. Testez aussi désactivation/réactivation d'un objet et reconnexion du broker.
Checklist de non-régression
- Installation propre du package sur une branche fraîche.
- Connexion locale sur casque et connexion Editor vers casque.
- Schéma complet au démarrage et après
SYNC. - Une commande par forme de signature utilisée par le projet.
- Une variable par type utilisé, avec clamp et lecture seule.
- Changement de scène, perte réseau et reconnexion.
- Build réel, pas seulement Play Mode.
Ce que vous devez avoir à la fin
- Vous savez attribuer chaque panne à Unity, au réseau, au schéma ou à l'invocation.
- Tous les ACK d'erreur importants ont été provoqués volontairement.
- Le parcours critique passe dans le testeur après une reconnexion et un
SYNC.
Étape suivante : préparer le build et le déploiement.
Cette page vous a-t-elle aidé ?
Dernière mise à jour le