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

Destroying an Actor using Destroy and a Timer


This recipe will reuse the GameMode from the previous recipe, so you should complete it first.

How to do it...

  1. Make the following changes to the GameMode declaration:

    UPROPERTY()
    AMyFirstActor* SpawnedActor;
    UFUNCTION()
    void DestroyActorFunction();
  2. Add #include "MyFirstActor.h" to the implementation file's includes.

  3. Assign the results of SpawnActor to the new SpawnedActor variable:

    SpawnedActor = GetWorld()->SpawnActor<AMyFirstActor> (AMyFirstActor::StaticClass(), SpawnLocation);
  4. Add the following to the end of the BeginPlay function:

    FTimerHandle Timer;
    GetWorldTimerManager().SetTimer(Timer, this, &AUE4CookbookGameMode::DestroyActorFunction, 10);
  5. Lastly, implement DestroyActorFunction:

    void AUE4CookbookGameMode::DestroyActorFunction()
    {
      if (SpawnedActor != nullptr)
      {
        SpawnedActor->Destroy();
      }
    }
  6. Load the level you created in the previous recipe, which had the game mode set to your custom class.

  7. Play your level, and use the Outliner...