Everything for your project is contained within the project directory. You can create as many projects as you would like, but each one is self-contained. Using Unreal Engine's Project Browserto create new projects will set up the necessary project framework such as the directory structure and
the Unreal Project File (
[ProjectName].uproject) that you can open in Unreal Editor.
Your project contains assets, stored as
.uasset files in the Content folder. These assets can include Materials, Static and Skeletal Meshes, Blueprints, Sound Cues, and Textures, and are reusable reference materials
and templates that can be called upon by objects in your project.
Projects also contain levels. Levels are also often referred to as maps, and are stored as
.umap files within the Content folder. Within Unreal Editor, you work on one level at a time, and the level is
displayed in the Viewport.
At the most fundamental level, an Actor is a gameplay entity that (usually) contains one or more components, can be placed in a Level or Spawned in during gameplay, and support network replication for multiplayer games. In the above level, the ground platform, the blocks in the center of the level, and the PlayerStart visible at the bottom of the image are all Actors. All Actors extend from the AActor class, which is the base class of spawnable gameplay Objects.
Actors can be thought of, in one sense, as containers that hold special types of Objects called Components. For instance, a CameraActor contains a CameraComponent.
The functionality of a camera, like the field of view, is all contained within the CameraComponent. That means that the CameraComponent can be included in other Actors, like a Character,
to give the same camera functionality to those Objects.
Different types of components can be used to control how Actors move, how they are rendered, and many other parts of their functionality. All Objects, including Components, extend from the
UObject class, which is the base class of all gameplay Objects. This means they cannot be directly instanced into the world; they must belong to an Actor.
Each Actor or Object is a single instance of a class. The class sets up the template for the Actor or Object. It defines the variables that can be set for that Actor or Object, and the functions that
can be carried out within that Actor or Object. You can create new classes, or types of Objects and Actors, with C++ code. Blueprint Classes primarily allow you to create classes that set up new Actors,
although you can extend a few Objects with Blueprint Classes as well. You can also combine the two, by creating a new C++ class and then making a Blueprint Class derived from that C++ class. To learn more about
creating classes so you can make new kinds of Actors and Objects, see the Class Creation Basics page.