Los complementos de Online Services te ayudan a conectar varios servicios de backend en línea, como Epic, Steam, Xbox Live, PSN o NLPN, entre otros, a tu proyecto de Unreal Engine (UE). Esta guía te muestra cómo:
Configura los complementos de Online Services
Este tutorial usa la implementación de Online Services Null con fines ilustrativos. Esta implementación no se conecta a ningún servicio de backend en línea y se usa con fines de prueba. Es un buen punto de partida, ya que el complemento Online Services Null no requiere registro externo ni configuración para funcionar con Unreal Engine. Para obtener una lista completa de los servicios compatibles con el complemento de Online Services, consulta la documentación Introducción a Online Services.
Habilita los complementos de Online Services
Hay varios complementos de Online Services disponibles para usar en tu proyecto. El complemento básico de Online Services está activado por defecto.
Para habilitar la funcionalidad adicional necesaria, sigue estos pasos:
Crea o abre un proyecto de C++ de Unreal Engine.
En la barra de menús, ve a Editar > Complementos. Se abrirá una nueva ventana o pestaña llamada Complementos.
En esta nueva ventana, busca «Online Services» o selecciona la categoría Online Platform en la barra de navegación de la izquierda.
Deberían aparecer varios complementos. Uno de ellos debería llamarse Online Services Null. Activa el complemento Online Services Null marcando la casilla.
Si quieres usar Epic Online Services para tus servicios de backend en línea, elige Online Services EOS en lugar de Online Services Null. Es posible que tengas que registrar tu producto con Epic Online y configurar el backend adecuadamente para que el complemento de Online Services funcione de la manera esperada.
Aparece un mensaje que indica que debes reiniciar Unreal Editor para que los cambios surtan efecto. Reinicia Unreal Editor haciendo clic en Reiniciar ahora.
Ya has habilitado el complemento de Online Services Null en tu proyecto.
Añade los complementos de Online Services a las dependencias del proyecto
Para usar los complementos de Online Services en el código C++ de tu proyecto, debes añadir los complementos al módulo de tu proyecto como dependencias públicas.
Para añadir los complementos a las dependencias del módulo de tu proyecto, sigue estos pasos:
Abre tu proyecto C++ de Unreal Engine en Unreal Editor.
Abre Visual Studio seleccionando Herramientas > Open Visual Studio. Esto abre los archivos de código C++ de tu proyecto en Visual Studio.
Para usar el código C++ proporcionado por los complementos de Online Services, debes añadir el módulo
OnlineServicesInterfacecomo dependencias públicas al archivo .Build.cs de tu proyecto.Abre el archivo .Build.cs de tu proyecto desde el explorador de soluciones. Para ello, ve a Games > [TU_JUEGO] > Source > [TU_JUEGO] > [TU_JUEGO].Build.cs.
Añade
OnlineServicesInterfaceyCoreOnlinea las dependencias públicas de.Build.cs. Tu archivo.Build.csdebería tener el siguiente aspecto:C++// Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyProject : ModuleRules { public MyProject(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[] {Guarda los cambios en Visual Studio.
Cómo generar archivos de proyecto
Dado que has realizado un cambio en el archivo .Build.cs de tu proyecto, necesitas actualizar los archivos de proyecto de Visual Studio. Esto garantiza que los cambios que hiciste se reflejen en Visual Studio Intellisense y te permite usar la funcionalidad en los complementos que acabas de añadir.
Para generar archivos de proyecto, sigue estos pasos:
Cierra Visual Studio.
Vuelve a tu proyecto abierto en Unreal Editor.
Vuelve a generar tus archivos de proyecto de Visual Studio seleccionando Tools > Refresh Visual Studio Project.
Aparece una barra de progreso que muestra el estado de las actualizaciones de tu proyecto de código y desaparece cuando se completa el proceso.
Configura servicios de plataforma predeterminados
El último paso es especificar tus servicios de plataforma predeterminados para los complementos de Online Services. Los servicios de plataforma predeterminados especifican qué servicios de plataforma de backend devuelve una llamada a UE::Online::GetServices. En la página de documentación Descripción general de Online Services hay una lista de identificadores de plataforma disponibles.
Para especificar Online Services Null como los servicios de plataforma predeterminados, sigue estos pasos:
Abre tu proyecto en Visual Studio. Para ello, ve a Herramientas > Abrir Visual Studio desde Unreal Editor.
Abre el archivo DefaultEngine.ini de tu proyecto en el explorador de soluciones de Visual Studio. Para ello, ve a Games > [TU_JUEGO] > Config > DefaultEngine.ini.
Añade lo siguiente al archivo DefaultEngine.ini de tu proyecto:
C++[OnlineServices] DefaultServices=Null
Online Services Null es una implementación de servicios en línea que no usa ningún servicio de backend en línea. Se usa para probar y depurar la implementación de tus servicios en línea sin un servicio de backend. Si quieres usar un servicio en línea de backend diferente como los servicios en línea por defecto de tu proyecto, puedes elegir uno de la lista que aparece en la sección Configuración de Descripción general de Online Services.
Accede a Online Services en tu proyecto
Los complementos de Online Services ya están habilitados y configurados para su uso en tu proyecto. Para acceder al complemento de Online Services y a sus distintas interfaces, sigue estos pasos:
Añade
#include "Online/OnlineServices.h"al archivo donde quieras acceder al complemento de Online Services.Obtén un puntero a los servicios de plataforma predeterminados con
IOnlineServicesPtr OnlineServicesPtr = UE::Online::GetServices();.
Ahora ya puedes acceder a las distintas funciones de la interfaz del complemento de Online Services. Por ejemplo, para acceder a la interfaz de autenticación, sigue estos pasos:
Asegúrate de haber obtenido antes un puntero a los servicios de plataforma predeterminados.
Añade
#include "Online/Auth.h"al archivo donde quieras acceder a la interfaz de autenticación.Obtén un puntero a la interfaz de autenticación con
IAuthPtr AuthPtr = OnlineServicesPtr->GetAuthInterface();.
Ahora puedes acceder a las funciones de la interfaz de autenticación a través del puntero de la interfaz de autenticación. La misma lógica funciona para todas las demás interfaces de Online Services.