I made some games in unity but I am new to UE4 but i know about c++. why we can't write the functionality in Tick and BeginPlay functions like we do in unity's start and update without overriding? these functions calling behaviour is controlled by ue4's behaviour tree so why we need to call base class function (Super::Tick) in overridden tick function?
BeginPlay and Tick are inherited methods. Override is a C++ directive that asks the compiler to make sure your method signature matches the inherited signature. Super just refers to the inherited class. When you call Super::Tick, you're saying you want your override method to do the same thing that the inherited method does, and afterwards, you want to do whatever additional functionality you added.
You can call these functions without invoking the Super class, but then you won't have any of the base functionality.