UE Game Framework
UObject
Parent class for all other classes in UE
Cannot be placed in the scene
Actor Class
Child of UObject
Can be spawned or placed in a level
Can be extended to any class that needs to be spawned or placed(eg : Pickups)
Pawn Class
Child of Actor
Can receive input from Input Sources
Has a basic pawn movement components class(not advanced like character class)
Used for very basic AI and Custom classes that require Input.
Character Class
Child of Pawn
Has an advanced Character Movement Component with functionality like movement speed, flying etc.
Actor Component Class
Child of UObject
Can be attached to any actor
Supports Replication
Ideal for encapsulating reusable logic in one place(like Inventory System or health component)
Game Mode Class
Child of Actor
Keeps track of current game/match state
Similar to Game Manager in Unity
Supports Replication
Player Controller Class
Child of Actor
Keeps tracks of player input
Supports Replication and helps identify the player in networked games
UPROPERTY() macro
UPROPERTY()Â is a macro that helps connects variables from C++ to Blueprint.
It ties variable or component with the Unreal Reflection System
Allows the variable to be garbage collected when Unreal's own garbage collection system runs.
EditAnywhere, EditDefaultsOnly, EditInstanceOnly
EditAnywhere: The property can be edited anywhere, including in the Blueprint’s default and instance properties.
EditDefaultsOnly: The property can only be edited in the Blueprint’s defaults details panel, not at runtime.
EditInstanceOnly: The property can only be edited when an instance of the Blueprint is placed in the level.
BlueprintReadWrite, BlueprintReadOnly
BlueprintReadWrite: The property is readable and writable in Blueprints, meaning you can get and set its value.
BlueprintReadOnly: The property is readable in Blueprints but cannot be modified.
VisibleAnywhere, VisibleDefaultsOnly, VisibleInstanceOnly
VisibleAnywhere: The property is visible in the editor but not editable.
VisibleDefaultsOnly: The property is visible in the Blueprint’s default properties but not editable in instances.
VisibleInstanceOnly: The property is only visible when the instance of the Blueprint is placed in the level.
UFUNCTION() macro
Macro that helps connect C++ to Blueprints
Allows and is required for functions to be bound existing delegate events in unreal.
BlueprintPure : Creates a blueprint node that doesn't require an input to run code and is implemented in C++(figure 1)
BlueprintCallable : Creates a blueprint node that require an input to run code and is implemented in C++(figure 2 : Red)
BlueprintImplementableEvent : Creates an event node that requires an input to run and code is implemented in blueprints(Figure 3 : Blue)
Comments