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

Calling Blueprint-defined interface functions from C++


While the previous recipes have focused on C++ being usable in Blueprint, such as being able to call functions from C++ in Blueprint, and override C++ functions with Blueprint, this recipe shows you the reverse: calling a Blueprint-defined interface function from C++.

How to do it...

  1. Create a new UInterface called UTalker/ITalker.

  2. Add the following UFUNCTION implementation:

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Talk)
    void StartTalking();
  3. Provide a default empty implementation inside the .cpp file:

    void ITalker::StartTalking_Implementation()
    {
    
    }
  4. Create a new class based on StaticMeshActor.

  5. Add #include and modify the class declaration to include the talker interface:

    #include "Talker.h"
    class UE4COOKBOOK_API ATalkingMesh : public AStaticMeshActor, public ITalker
  6. Also, add the following function to the class declaration:

    void StartTalking_Implementation();
  7. Within the implementation, add the following to the constructor:

    ATalkingMesh...