# Default PlayerController using the ue4 C++ Templates

**URL:** <https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487>\
**Category:** Character & Animation\
**Tags:** playercontroller, General, unreal-engine, CPP, question\
**Created:** [August 20, 2014, 8:36am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487 "2014-08-20T08:36:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sleicreider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sleicreider](https://forums.unrealengine.com/u/Sleicreider)\
**Post date:** [August 20, 2014, 8:36am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/1 "2014-08-20T08:36:11Z")

</div>

Hey,

I’ve created my project with the 3rd Person C++ Template, where some classes are already available.  
The default BPCharacter is perfect for testing & stuff, since I don’t have my own animated characters.  
It’s also great , that the Template creates at least a public and private folder, to have a bit seperation inside my src files.  
(Still found no workaround for solution folders in VS Expres2013)

But my main question is:

Is it recommended to write my own PlayerController?.  
The existing one has about 500-1000 lines, actually I’m not even sure what it does.  
Is it generally a bad idea to start from a C++ Template for big projects?

---

<div class="post-metadata">

**Author:** ![Duncan\_Dam](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Duncan\_Dam](https://forums.unrealengine.com/u/Duncan_Dam)\
**Post date:** [August 20, 2014, 8:51am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/2 "2014-08-20T08:51:46Z")

</div>

Yes, it’s give you more control if you write your own PlayerController.

Because every interact or input from player is through PlayerController before it go to your Controlled Pawn.

And if your Pawn die or destroy, PlayerController still gonna be there, then when you want to respawn, you just need to spawn new Pawn and tell Controller to Posses that Pawn.

I thinks the template pretty solid you can start anything project from there, i start mine from 1 of template too, and i have no problem at all.

---

<div class="post-metadata">

**Author:** ![Sleicreider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sleicreider](https://forums.unrealengine.com/u/Sleicreider)\
**Post date:** [August 20, 2014, 9:05am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/3 "2014-08-20T09:05:25Z")

</div>

so I can delete the defaul PlayerController i think? :\>  
Are there any other default Classes that comes from a Template, which should be rewritten?  
In some project I’ve seen people are overriding the Engine

```
    class MyEngine : public UGameEngine
    {
    	GENERATED_UCLASS_BODY()
    public:
    	virtual void Init(IEngineLoop* InEngineLoop) override;
};

void MyEngine::Init(IEngineLoop* InEngineLoop)
{
	Super::Init(InEngineLoop);
.
.
}

```

When and why should this actually be done?

---

<div class="post-metadata">

**Author:** ![Duncan\_Dam](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Duncan\_Dam](https://forums.unrealengine.com/u/Duncan_Dam)\
**Post date:** [August 20, 2014, 9:23am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/4 "2014-08-20T09:23:05Z")

</div>

For now, i only make my own basic thing like GameMode, GameState, PlayerController, HUD, never try this before ^^

---

<div class="post-metadata">

**Author:** ![Sleicreider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sleicreider](https://forums.unrealengine.com/u/Sleicreider)\
**Post date:** [August 20, 2014, 9:31am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/5 "2014-08-20T09:31:59Z")

</div>

ok 🙂  
thanks for answer !

---

<div class="post-metadata">

**Author:** ![Sleicreider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sleicreider](https://forums.unrealengine.com/u/Sleicreider)\
**Post date:** [August 20, 2014, 9:35am UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/6 "2014-08-20T09:35:08Z")

</div>

btw: found the Engine answer myself:

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — ue4community.wiki! You will be able to find content from the official...

---

<div class="post-metadata">

**Author:** ![Sleicreider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Sleicreider](https://forums.unrealengine.com/u/Sleicreider)\
**Post date:** [August 20, 2014, 6:53pm UTC](https://forums.unrealengine.com/t/default-playercontroller-using-the-ue4-c-templates/291487/7 "2014-08-20T18:53:15Z")

</div>

how can I use my new Controller inside my Engie?
