How To Change UE4 Class Templates

I'm going to show you something cool.

// Guide / Unreal Engine // Published on Feb. 10, 2021, 8 a.m.

Difficulty

Beginner Intermediate Advanced
 

So have you created a C++ class in UE4 and it creates the class like this? Do you just hate the extra comments or spacing that the template has? Same. 🙁

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"

UCLASS()
class THINGGAME_API AMyActor : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	AMyActor();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

};

Well don't worry, you're in the right place to get it looking better.

Head over to your engine install and edit the appropriate file in D:\Program Files\Epic Games\UE_4.26\Engine\Content\Editor. I only edited Actor, ActorComponent, Character, Interface, and Pawn. Unfortunately, you can't do this for classes like PlayerState or GameMode as they're hardcoded in the GameProjectUtils.cpp(496). So instead you can just edit the UObjectClass.h.template and UObjectClass.cpp.template files. I wish the generation method was via file name instead of actual class type so we could just make a file called PlayerStateClass.h.template and PlayerStateClass.cpp.template and then it just generates the PlayerState based on it. 🤷‍♂️

My result is this.

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"

#include "MyActor.generated.h"

/**
 *
 */
UCLASS()
class THINGGAME_API AMyActor : public AActor
{
	GENERATED_BODY()

public:
	AMyActor();

protected:
	virtual void BeginPlay() override;
	virtual void Tick(float DeltaTime) override;

	virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;

private:
};

 

Download my template files here.

 

until next time