Instalar los SDKs multimedia de VisioForge en Unity¶
Media Blocks SDK .Net Media Player SDK .Net Video Capture SDK .Net Video Edit SDK .Net
Esta guía explica cómo instalar los SDKs multimedia de VisioForge en Unity 6. Un único .unitypackage autónomo integra cuatro productos en Unity a la vez — el pipeline del Media Blocks SDK .NET así como los motores de alto nivel Media Player SDK .NET (MediaPlayerCoreX), Video Capture SDK .NET (VideoCaptureCoreX) y Video Edit SDK .NET (VideoEditCoreX). El paquete agrupa cada runtime nativo soportado en un solo archivo — Windows x64, Android, macOS Standalone e iOS Standalone — permitiendo que Unity seleccione el adecuado según la plataforma de destino (Build Target) al compilar. No compilas nada desde el código fuente, no necesitas NuGet y no hay dependencias externas que instalar.
El paquete apunta a ensamblados gestionados netstandard2.1. Para proyectos limitados a la versión más antigua de Mono en Unity LTS, todavía se publica una versión heredada (legacy) net48 exclusiva para Windows — consulta el spoiler al final de esta página.
Para ver qué incluye y cómo usarlo, consulta Usar VisioForge en Unity — la visión general con el catálogo completo de productos y ejemplos. Para el atajo de cinco pasos, consulta la Guía rápida.
Requisitos¶
| Unity | 6 (6000.x) — verificado en 6000.4.6f1 |
| Targets de build distribuidos | Windows x64, Android arm64, macOS Universal arm64+x86_64, iOS dispositivo arm64 |
| TFM gestionado | netstandard2.1 |
| Ajustes obligatorios del Editor | Api Compatibility Level = .NET Standard 2.1 y Disable Domain Reload |
Usa una ruta corta en NTFS — no un volumen Dev Drive / ReFS
Importar el paquete escribe miles de pequeños archivos nativos, y la importación/compilación de Unity implica una intensa E/S de archivos pequeños. En un Dev Drive (ReFS) eso es drásticamente más lento (una importación en frío puede tardar varios minutos en lugar de segundos) y es más propenso a la condición de carrera EPERM rename. Mantén el proyecto en una unidad NTFS simple con una ruta raíz corta, p. ej. C:\unity\MyApp. La caché de paquetes de Unity también genera rutas profundas que pueden superar el límite de 260 caracteres MAX_PATH de Windows.
Descarga¶
Descarga el paquete acumulativo más reciente — Windows + Android + macOS + iOS en un solo archivo:
VisioForge.MediaBlocks.Unity.unitypackage
https://files.visioforge.com/unity/VisioForge.MediaBlocks.Unity.unitypackage
Paso 1 — Crear o abrir un proyecto de Unity¶
Usa un proyecto de Unity 6 existente o crea uno nuevo (cualquier plantilla). Mantén la raíz del proyecto en una ruta NTFS corta (consulta la advertencia anterior).

Paso 2 — Importar el paquete¶
En el Editor: Assets → Import Package → Custom Package…, selecciona el .unitypackage descargado y haz clic en Import (deja todos los elementos marcados).

El paquete agrega:
| Contenido | Ubicación | Propósito |
|---|---|---|
SDK gestionado (netstandard2.1) + dependencias | Assets/Plugins/ (+ subcarpetas Android/, macOS/, iOS/Managed/) | los ensamblados del Media Blocks SDK .NET, por plataforma |
| Runtime nativo de Windows | Assets/StreamingAssets/VisioForge/x64/ | libs y plugins de GStreamer para Windows |
| Runtime nativo de Android | Assets/Plugins/Android/libs/arm64-v8a/ | libgstreamer_android.so monolítico + AAR Java |
| Runtime nativo de macOS | Assets/Plugins/macOS/ | dylibs universales (arm64+x86_64) |
| Runtime nativo de iOS | Assets/Plugins/iOS/GStreamerX.framework/ | framework embebido (dispositivo arm64) |
| Preservación IL2CPP | Assets/VisioForge/link.xml | preservación de tipos / miembros para Android e iOS |
| Scripts reutilizables | Assets/Scripts/ | los asistentes VisioForgeEnvironment y VisioForgeVideoView más los seis scripts de ejemplo |
| Seis escenas de ejemplo | Assets/Scenes/ | SimplePlayer, RTSPViewer, MediaPlayerX, IPCameraX, VideoCaptureX, VideoEditX — consulta la visión general de ejemplos |
| Asistente de configuración inicial | Assets/VisioForge/Editor/ | aplica los dos ajustes de proyecto requeridos |
Los metadatos PluginImporter por flavor en cada archivo nativo le dicen a Unity a qué Build Target pertenece cada binario — cambiar el Build Target en Build Profiles elige automáticamente el slot correcto en tiempo de build.
Paso 3 — Aplicar los ajustes de proyecto requeridos¶
En la primera importación, el asistente de configuración muestra un cuadro de diálogo que pide aplicar dos ajustes de proyecto requeridos. Haz clic en Apply — ambos ajustes se configuran por ti.

Estos dos ajustes son obligatorios — el SDK no funcionará sin ellos:
- Api Compatibility Level = .NET Standard 2.1 — el SDK se distribuye como ensamblados
netstandard2.1; el ajuste legacy.NET Frameworkno puede cargarlos. - Disable Domain Reload — el SDK se inicializa una vez por proceso y se reutiliza entre sesiones de Play/Stop; con Domain Reload activado, el Editor puede colgarse al salir del modo Play.
Para targets móviles, también cambia Scripting Backend a IL2CPP — Mono no está soportado en Android o iOS por el propio Unity. Consulta Compilar para Android y Compilar para iOS para las listas de comprobación por target.
Paso 4 — Configurar los ajustes manualmente (solo si hiciste clic en Skip)¶
Si hiciste clic en Skip, configura ambos a mano:
- Api Compatibility Level = .NET Standard 2.1 Edit → Project Settings → Player → Other Settings → Configuration → Api Compatibility Level.

- Disable Domain Reload Edit → Project Settings → Editor → Enter Play Mode Settings → establece When entering Play Mode en una opción que no recargue el dominio — ya sea Reload Scene only (coincide con lo que hace Apply) o Do not reload Domain or Scene.

Paso 5 — Ejecutar una escena de ejemplo¶
En la ventana Project abre Assets/Scenes/SimplePlayer.unity (haz doble clic en ella — no te quedes en la escena predeterminada vacía), selecciona el GameObject RawImage, establece su File Path en el Inspector y pulsa ▶ Play. El video se renderiza en la vista Game y el audio se reproduce a través del dispositivo predeterminado del sistema.

El RawImage se ve vacío hasta que pulsas Play
La textura de video se crea en tiempo de ejecución, por lo que el RawImage está en blanco (blanco) en el modo de edición.
A continuación, lee las guías de uso:
- Guía rápida — el camino en cinco pasos desde la importación hasta la reproducción.
- Usar VisioForge en Unity — la visión general con el catálogo completo de productos y ejemplos: reproducción de archivos, RTSP / cámara IP, captura de webcam y edición de línea de tiempo.
Compila para una plataforma destino¶
El .unitypackage acumulativo contiene cada plataforma soportada, pero cada Build Target tiene sus propios ajustes y trampas. Lee la página correspondiente:
- Compilar para Windows — x86_64 Editor + Standalone Player.
- Compilar para Android — IL2CPP arm64, permisos AndroidManifest.
- Compilar para macOS — Universal arm64+x86_64, firma de código.
- Compilar para iOS — flujo de exportación a Xcode, permisos Info.plist.
Desinstalar o actualizar el paquete¶
Un .unitypackage no tiene desinstalador: elimina los archivos manualmente.
- Cierra primero el Editor de Unity — bloquea las DLL nativas y la caché
Library/. - Elimina el contenido de VisioForge de
Assets/: Assets/StreamingAssets/VisioForge/— el runtime nativo de Windows.Assets/Plugins/Android/libs/arm64-v8a/libgstreamer_android.so,libVisioForge_Core.soyAssets/Plugins/Android/visioforge-gstreamer.aar— el runtime de Android.Assets/Plugins/macOS/*.dylibyAssets/Plugins/macOS/ca-certificates.crt— el runtime de macOS.Assets/Plugins/iOS/GStreamerX.framework/yAssets/Plugins/iOS/libVisioForge_Core.a— el runtime de iOS.Assets/Plugins/(con subcarpetasAndroid/,macOS/,iOS/Managed/) — los ensamblados gestionados, por plataforma.Assets/VisioForge/— el asistente de configuración inicial ylink.xml.- Los scripts de
Assets/Scripts/: los asistentesVisioForgeEnvironment.csyVisioForgeVideoView.csmás los seis scripts de ejemplo —MediaBlocksPlayer.cs,RTSPViewerPlayer.cs,MediaPlayerXPlayer.cs,IPCameraXViewer.cs,VideoCaptureXRecorder.cs,VideoEditXRenderer.cs(junto con sus.meta) — conserva cualquier script propio que esté en la misma carpeta. - Las escenas de ejemplo de
Assets/Scenes/:SimplePlayer.unity,RTSPViewer.unity,MediaPlayerX.unity,IPCameraX.unity,VideoCaptureX.unity,VideoEditX.unity. - Elimina la carpeta
Library/del proyecto (junto aAssets/) para limpiar el estado de importación en caché. Unity la regenera en la siguiente apertura (el primer arranque es más lento).
Actualización: importa el nuevo .unitypackage sobre el anterior — los GUID de los plugins gestionados son deterministas, por lo que Unity sobrescribe los activos existentes en su sitio y se conservan las referencias. Si vienes de un paquete mucho más antiguo o ves DLL duplicadas en Assets/Plugins/, haz primero una eliminación limpia (pasos anteriores) y luego importa el paquete nuevo.
Solución de problemas¶
| Síntoma | Causa | Solución |
|---|---|---|
TypeLoadException al ejecutar | Api Compatibility Level es .NET Framework, no .NET Standard 2.1 | Establécelo en .NET Standard 2.1, o reimporta y haz clic en Apply |
| El Editor se cuelga en "Reloading domain" al hacer Play/Stop | Domain Reload está activado | Mantén Disable Domain Reload activado |
| El Editor se bloquea en el 2.º Play | El SDK se cerró en Stop y se reinicializó | No cierres el SDK en Stop; mantén Disable Domain Reload activado |
| No se encuentra el runtime nativo | Paquete importado parcialmente o el flavor del Build Target correcto falta del paquete | Reimporta el paquete con todos los elementos marcados; confirma que el paquete contiene la plataforma a la que apuntaste |
| Sin video, errores en la Consola tras importar | El Editor necesita una recarga limpia después de preparar el runtime | Reinicia el Editor |
DllNotFoundException en Android | El Scripting Backend es Mono | Cambia a IL2CPP |
Para la referencia completa por síntoma, consulta Solución de problemas.
Flavor legacy net48 solo-Windows¶
Tengo un Unity LTS más antiguo fijado a Mono — ¿qué pasa con el build net48?
El build original solo-Windows del paquete apunta a ensamblados gestionados .NET Framework 4.8 y se sigue produciendo para proyectos que no pueden migrar a .NET Standard 2.1 (por ejemplo, Unity 2019.4 LTS sin la opción moderna de Api Compatibility). Se distribuye como un .unitypackage separado con NET48 en el nombre del archivo, contiene solo el runtime nativo Windows-x64 y usa .NET Framework como Api Compatibility Level. Los proyectos nuevos deben usar el paquete netstandard2.1 descrito arriba — cubre el mismo caso Windows-x64 más todas las demás plataformas, y Unity 6 lo usa por defecto. Si tienes un requisito estricto del build net48, contacta con soporte para el enlace de descarga más reciente.
Preguntas frecuentes¶
¿Puedo instalar el SDK en Unity mediante NuGet?¶
No. Unity no ejecuta la restauración de NuGet, y el SDK incluye cientos de archivos nativos que NuGet no dispondría para Unity. El .unitypackage agrupa todo — ensamblados gestionados, runtime nativo de cada plataforma, scripts y escenas — por lo que importas un único archivo en su lugar.
¿Necesito instalar GStreamer o alguna otra dependencia del sistema?¶
No. El paquete es totalmente autónomo; todo lo que el SDK necesita está dentro de él. No se requiere una instalación de GStreamer en tu máquina y el runtime incluido no la utiliza — al contrario, VisioForgeEnvironment.Configure() elimina activamente cualquier GStreamer del sistema de la ruta de búsqueda del proceso para evitar una doble inicialización.
¿Qué SDKs de VisioForge están incluidos?¶
El paquete incluye cuatro productos desde una única superficie gestionada netstandard2.1: el pipeline del Media Blocks SDK .NET y los motores de alto nivel Media Player SDK .NET (MediaPlayerCoreX), Video Capture SDK .NET (VideoCaptureCoreX) y Video Edit SDK .NET (VideoEditCoreX). Cada uno incluye una o más escenas de ejemplo listas — consulta la visión general de ejemplos.
¿Funciona el mismo paquete en Windows ARM64?¶
El runtime nativo Windows del paquete es solo x86_64 — no hay un build nativo ARM64 hoy. Ejecutarlo vía emulación x64 solo bajo tu propio riesgo; el uso en producción en Windows 11 ARM64 no está ejercitado.
¿Puedo abrir el mismo paquete en el Editor host Mac?¶
Sí — si el paquete se construyó con -IncludeMacOS. La variante acumulativa publicada en files.visioforge.com/unity/ siempre contiene el flavor macOS. Un paquete solo-Windows abierto en un Editor Mac muestra un mensaje claro [VisioForge] Native runtime folder not found at '…' for runtime platform OSXEditor; consulta Bootstrap y ciclo de vida.
Véase también¶
- Usar VisioForge en Unity — visión general de cómo funciona la integración
- Guía rápida — camino en cinco pasos hasta un video reproduciéndose
- Bootstrap y ciclo de vida — qué hacen
Configure()eInitializeSdk() - Reproducir un archivo multimedia en Unity — el ejemplo de reproducción de archivos
- Ver una cámara RTSP en Unity — el ejemplo RTSP
- Capturar una webcam · Editar y renderizar — los ejemplos de los motores CoreX
- Matriz de plataformas — soporte de funciones por plataforma Unity
- Visión general del Media Blocks SDK .NET — el catálogo completo de bloques
- Guía de instalación — instala el SDK en otros tipos de proyecto .NET