Configuración
C++
Para escribir código C++ en Unreal Engine (UE), descarga Visual Studio en Windows, o instala Xcode en macOS. La primera vez que crees un proyecto de C++, UE creará automáticamente los archivos del proyecto de Visual Studio.
Hay dos formas de acceder a Visual Studio desde tu proyecto de UE:
Desde el explorador de contenido, haz doble clic en una clase de C++ para que se abra en Visual Studio.
Desde el menú principal, ve a Herramientas > Abrir Visual Studio. Esta opción solo se muestra si tu proyecto contiene, al menos, una clase C++.
Una diferencia fundamental de UE es que, a veces, tendrás que actualizar manualmente los archivos de proyecto de Visual Studio (por ejemplo, tras descargar una nueva versión de UE, o al realizar manualmente cambios en las ubicaciones de los archivos de origen en el disco). Puedes hacer esto de dos formas:
En el menú principal de Unreal Engine, ve a Herramientas > Actualizar proyecto de Visual Studio.
Haz clic derecho en el archivo .uproject del directorio del proyecto y selecciona Generar archivos de proyecto de Visual Studio.
Consulta Configuración de desarrollo para obtener información detallada.
Blueprint
Solo necesitas UE para utilizar la secuenciación de comandos de Blueprint. Todas las funciones que necesitarás están integradas en Unreal Editor.
Escritura de funciones de eventos
Si ya has trabajado con MonoBehaviors, seguramente conozcas los métodos Start, Update y OnDestroy. A continuación encontrarás una comparativa entre un comportamiento de Unity y su equivalente para los actores y componentes de UE.
Con Unity se puede obtener un componente sencillo que tenga este aspecto:
public class MyComponent : MonoBehaviour
{
void Start() {}
void OnDestroy() {}
void Update() {}
}AActor
Con UE, en lugar de solo codificar nuevos tipos de componentes, puedes escribir código en el propio actor.
Además, los actores tienen métodos similares a los métodos Start, OnDestroy y Update 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 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 llamar explícitamente al método del padre dentro del método del hijo. Por ejemplo, en C# de Unity esto sería
base.Update(), pero en C++ de UE verásSuper::Tick()para los actores oSuper::TickComponent()para los componentes.En C++ de UE, las clases usan varios prefijos, como
Upara las subclases deUObjectyApara las subclases de actor. Para obtener más información, consulta Normas de programación.Para ver ejemplos de código de jugabilidad, consulta Cómo crear jugabilidad en Unreal Engine.