Book Image

Mastering Unreal Engine 4.X

By : Muhammad A.Moniem
Book Image

Mastering Unreal Engine 4.X

By: Muhammad A.Moniem

Overview of this book

Unreal Engine 4 has garnered a lot of attention in the gaming world because of its new and improved graphics and rendering engine, the physics simulator, particle generator, and more. This book is the ideal guide to help you leverage all these features to create state-of-the-art games that capture the eye of your audience. Inside we’ll explain advanced shaders and effects techniques and how you can implement them in your games. You’ll create custom lighting effects, use the physics simulator to add that extra edge to your games, and create customized game environments that look visually stunning using the rendering technique. You’ll find out how to use the new rendering engine efficiently, add amazing post-processing effects, and use data tables to create data-driven gameplay that is engaging and exciting. By the end of this book, you will be able to create professional games with stunning graphics using Unreal Engine 4!
Table of Contents (22 chapters)
Mastering Unreal Engine 4.X
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Index

EnemyAIController


I want the main job of this class to set the values for the Blackboard asset, adjust the rotation of the enemy, and use the navigation mesh.

EnemyAIController.h

Just like all the other header files, we have to start with the includes. There is nothing fancy to include here, except the header file of the base class:

#include "AIController.h"
#include "EnemyAIController.generated.h"

Also, define the class name, the inheritance, and the constructor. The three of them are made by default while creating the class, and probably, you don't have to change any of them:

UCLASS()
class BELLZ_APIAEnemyAIController : publicAAIController
{
  GENERATED_BODY()
  
public:
  AEnemyAIController();

As we discussed earlier, the Blackboard asset is like a data holder asset and the AIController will be setting its data; it is essential to create a blackboard component in order to use it as a reference for the required blackboard.

In the same way, will be creating a behavior tree component. Later, inside...