I’m following the tutorial except my project name is MobileFPS and it is in a custom directory. I try to build code to create the ABaseCharacter class but get 2 errors.
OtherCompilationError (5)
1>------ Build started: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>------ Build started: Project: MobileFPS, Configuration: Development_Editor x64 ------
2> Creating makefile for hot reloading MobileFPSEditor (game project files are newer)
2> Compiling game modules for hot reload
2> Parsing headers for MobileFPSEditor
2> Running UnrealHeaderTool "C:\Users\Zachary\SkyDrive\Documents\Sunpeece Studios\Games\Mobile-FPS\MobileFPS\MobileFPS.uproject" "C:\Users\Zachary\SkyDrive\Documents\Sunpeece Studios\Games\Mobile-FPS\MobileFPS\Intermediate\Build\Win64\MobileFPSEditor\Development\MobileFPSEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed
2> C:/Users/Zachary/SkyDrive/Documents/Sunpeece Studios/Games/Mobile-FPS/MobileFPS/Source/MobileFPS/BaseCharacter.h(26) : Function return type: Missing variable type
2>Error : Failed to generate code for MobileFPSEditor - error code: OtherCompilationError (5)
2> UnrealHeaderTool failed for target 'MobileFPSEditor' (platform: Win64, module info: C:\Users\Zachary\SkyDrive\Documents\Sunpeece Studios\Games\Mobile-FPS\MobileFPS\Intermediate\Build\Win64\MobileFPSEditor\Development\MobileFPSEditor.uhtmanifest).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(37,5): error MSB3075: The command ""C:\Program Files (x86)\Epic Games\4.12\Engine\Build\BatchFiles\Build.bat" MobileFPSEditor Win64 Development "C:\Users\Zachary\SkyDrive\Documents\Sunpeece Studios\Games\Mobile-FPS\MobileFPS\MobileFPS.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "GameFramework/Character.h"
#include "BaseCharacter.generated.h"
UCLASS(Blueprintable)
class MOBILEFPS_API ABaseCharacter : public ACharacter
{
GENERATED_BODY()
public:
//Make a health property
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Base Character")
float Health = 100;
//Make an isDead property
UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Category = "Base Character")
bool isDead = false;
//Calculate death function (helper)
virtual void CalculateDead();
//Calculate health function
UFUNCTION(BlueprintCallable, Category = "Base Character");
virtual void CalculateHealth(float delta);
#if WITH_EDITOR
//Editor-centric code for changing properties
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
#endif
//
public:
// Sets default values for this character's properties
ABaseCharacter();
// Called when the game starts or when spawned
virtual void BeginPlay() override;
// Called every frame
virtual void Tick( float DeltaSeconds ) override;
// Called to bind functionality to input
virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
};
Line 26: UFUNCTION(BlueprintCallable, Category = "Base Character");
You have a semicolon following the UFUNCTION decorator, removing it will solve the issue.
That’s a nonsensical error, I’m going to make a suggestion that they allow you to add a semicolon following the decorator (and for UPROPERTY and GENERATED_BODY) because it would also fix the indentation issues, or at least for them to provide a proper error when you do it.