Book Image

Unreal Engine 4 Scripting with C++ Cookbook

By : William Sherif, Stephen Whittle
Book Image

Unreal Engine 4 Scripting with C++ Cookbook

By: William Sherif, Stephen Whittle

Overview of this book

Unreal Engine 4 (UE4) is a complete suite of game development tools made by game developers, for game developers. With more than 100 practical recipes, this book is a guide showcasing techniques to use the power of C++ scripting while developing games with UE4. It will start with adding and editing C++ classes from within the Unreal Editor. It will delve into one of Unreal's primary strengths, the ability for designers to customize programmer-developed actors and components. It will help you understand the benefits of when and how to use C++ as the scripting tool. With a blend of task-oriented recipes, this book will provide actionable information about scripting games with UE4, and manipulating the game and the development environment using C++. Towards the end of the book, you will be empowered to become a top-notch developer with Unreal Engine 4 using C++ as the scripting language.
Table of Contents (19 chapters)
Unreal Engine 4 Scripting with C++ Cookbook
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Creating a new Asset type


At some point in your project, you might need to create a new custom Asset class, for example, an Asset to store conversation data in an RPG.

In order to properly integrate these with Content Browser, you'll need to create a new Asset type.

How to do it…

  1. Create a custom Asset based on UObject:

    #pragma once
    
    #include "Object.h"
    #include "MyCustomAsset.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class UE4COOKBOOK_API UMyCustomAsset : public UObject
    {
      GENERATED_BODY()
      public:
      UPROPERTY(EditAnywhere, Category = "Custom Asset")
      FString Name;
    };
  2. Create a class called UCustomAssetFactory based on UFactory, overriding FactoryCreateNew:

    #pragma once
    
    #include "Factories/Factory.h"
    #include "CustomAssetFactory.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class UE4COOKBOOK_API UCustomAssetFactory : public UFactory
    {
      GENERATED_BODY()
    
      public:
      UCustomAssetFactory();
    
      virtual UObject* FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context...