AutoSincronizar
Sincronización automática de campos y propiedades de Unity mediante reflexión.
AutoSincronizar
AutoSincronizar sincroniza automáticamente una lista de campos o propiedades de un componente asociado a un Objeto.
Es una herramienta de conveniencia y prototipado, no un sustituto universal de una arquitectura de sincronización específica.
Configuración
Cada entrada contiene:
Component target
string propertyNameEl componente localiza el campo o propiedad mediante reflexión al iniciar.
updatesPerSecond = 10f;
isSavedOnServer = true;
isImportant = true;
onlyOwnerCanSync = true;Modelo de actualización
Campo/propiedad Unity
↓
comparar con último valor
↓
¿cambió?
├── no → no enviar
└── sí → sincronizarEl sistema no envía actualizaciones cuando los valores no han cambiado.
Frecuencia
updatesPerSecond limita la frecuencia de comprobación.
Con 0, el bucle periódico no envía actualizaciones; los valores se pueden entregar a jugadores nuevos mediante el mecanismo específico de entrada.
Fiabilidad
isImportant determina el camino de transporte utilizado:
Importante → Send
No importante → SendQuicklyUsa el segundo caso para datos frecuentes donde perder valores intermedios sea aceptable.
Autoridad
onlyOwnerCanSync limita el envío al propietario del objeto.
onlyOwnerCanSync = true;Es una buena configuración por defecto para evitar que varios clientes intenten publicar el mismo estado.
Persistencia
isSavedOnServer determina si la actualización se guarda como estado del servidor. Si está desactivado, el componente registra un callback de entrada y envía el estado al jugador nuevo directamente.
Rendimiento
AutoSincronizar usa reflexión para leer y escribir las propiedades. Para unidades con actualización frecuente, define una sincronización especializada en lugar de aumentar indiscriminadamente updatesPerSecond.
Fuente
AutoSincronizar.cs
Implementación actual.
Sincronización
Modelo de sincronización de estado de Eco.
