Creating a Game From Scratch

So, I want to create a game from scratch creating all of my own assets and doing all of my own scripting. I opted to use blueprints to make my game. One thing I am having an issue with is getting started controlling my pawn. I am assuming I first have to make a PlayerController but I am unsure how to get started with that via blueprints. I’ve looked online for tutorials and looked through the documentation but there are no clear instructions on how to get started. I tried loading the templates but I can’t seem to locate a PlayerController in there nor can I find one in the sample games provided. I am a newbie when it comes to all of this stuff and am a bit embarrassed at my inexperience so I am pretty sure I am missing something or just being completely oblivious. Any help at this point would be much appreciated.

I’m not the best guide to this, but I believe your first step would be to create a new folder under Game in the content browser,

Then click on the Blueprints icon/button at the top of the editor and in the roll-out you can see Create New GameMode. The gamemode should be located in the folder Game/YourFolder

The gamemode contains paths to basic Pawn, HUD, Playercontroller and a few others. You can then start to extend those with your own versions and add your versions to your gamemode instead of the basic ones.

To add a new blueprint you just RMB in your folder so that it gets created there, then choose the type of blueprint from the pop up menu.

You might also want to set the Project Settings to use your Project, gamemode and level to open by default when loading. Saves time.

Just made the game mode. I figured I was missing something, lol.

Have you made a new game mode too? This will tie your pawn, HUD, controller etc together.

imho it is easier to start from a template & modify.

Thank you Tomofnz and Camoogoo, your suggestion about the game mode was exactly what I needed. I figured most of what I needed out and I think with some experimentation I should be able to solve the rest of my issue.