logo
Ejemplos

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 propertyName

El 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í → sincronizar

El 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  → SendQuickly

Usa 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.

On this page