Configuración
C++
Para escribir el código C++ en Unreal Engine (UE), descarga Visual Studio en Windows o instala Xcode en macOS. Al crear por primera vez un nuevo proyecto C++ en Unreal Engine (o añadir un código C++ a un proyecto existente), Unreal Engine creará automáticamente archivos de proyecto de Visual Studio para ti.
Hay dos maneras de acceder a Visual Studio desde el proyecto de UE:
En el explorador de contenido, haz doble clic en una clase de C++ para abrirla en Visual Studio.
Desde el menú principal, ve a Herramientas> Abrir Visual Studio. Esta opción solo aparece si tu proyecto contiene al menos una clase C++.
Una diferencia importante en UE: algunas veces deberás actualizar tus archivos de proyecto de Visual Studio manualmente (por ejemplo, luego de descargar una nueva versión de UE, o cuando realices cambios manuales en las ubicaciones de archivos fuente en el disco). Puedes hacer esto de dos maneras:
Desde el menú principal de UE, ve a Herramientas > Actualizar el proyecto de Visual Studio.
Haz doble clic en el archivo .uproject en tu proyecto y selecciona Generar archivos de proyecto de Visual Studio.
Para obtener más información detallada, consulta Development Setup (Configuración de desarrollo).
blueprint
Para usar las secuencias de comandos de Blueprint, solo necesitas UE. Todas las características que necesitas están integradas en Unreal Editor.
Cómo escribir funciones de evento
Si ya trabajaste previamente con MonoBehaviors, deberías conocer métodos como Iniciar, Actualizar y Al destruir. Debajo encontrarás una comparación entre el comportamiento de Unity y su equivalente para UE: componentes y actores.
En Unity, podrías tener un componente sencillo que se ve así:
public class MyComponent : MonoBehaviour
{
void Start() {}
void OnDestroy() {}
void Update() {}
}AActor
En UE, puedes escribir un código en el actor mismo en lugar de simplemente codificar nuevos tipos de componente.
Además, los actores tienen un conjunto de métodos similares para las funciones de Iniciar, Al destruir y Actualizar de Unity.
C++
UCLASS()
class AMyActor : public AActor
{
GENERATED_BODY()
// Called at start of game.
void BeginPlay();
// Called when destroyed.
void EndPlay(const EEndPlayReason::Type EndPlayReason);
blueprint
UActorComponent
Los componentes en UE son conceptualmente similares a los MonoBehaviors, pero contienen métodos diferentes.
C++
UCLASS()
class UMyComponent : public UActorComponent
{
GENERATED_BODY()
// Called after the owning Actor was created
void InitializeComponent();
// Called when the component or the owning Actor is being destroyed
void UninitializeComponent();
blueprint
Notas adicionales
En UE, debes explícitamente solicitar el método de base dentro de un método derivado. Por ejemplo, en Unity C# esto se llamaría
base.Update(), pero en UE C++ usarásSuper::Tick()para actores oSuper::TickComponent()para componentes.En UE C++, las clases usan varios prefijos, como una
Upara subclases deUObjectyApara subclases de actor. Para obtener más información detallada, consulta Coding Standard (Estándar de codificación).Para ejemplos de codificación de jugabilidad, consulta Cómo crear jugabilidad en Unreal Engine.