I dont want to use/inherit AGameMode, what should i do?

I dont need any function from AGameMode, at all. I want to create my own game behavior, what should i do?

Without knowing what you want to achieve, its pretty hard to answer. But in general, i would say just use the AGameMode Class (even if you dont need any of the functions).

You need some entry point in your game logic anyway. And AGameMode or perhaps UGameInstance are good points to start.

Just tell us what you want to do and we can possibly help.

AGameMode uses Matches, StartMatch, EndMatch, but my game doesnt have Matches, it has only Game.

You don’t need to worry about StartMatch, EndMatch if your game doesn’t use it. I am making an open world RPG and am using AGameMode. Haven’t even touched StartMatch, EndMatch or any of those.

Ok, as i understand, i should continue using AGameMode, i should just ignore/disable/override any unwanted functionality.

I would suggest to override StartPlay() in your AGameMode, and use this as your starting point. It is called right after your map is loaded, or you pressed Play in Editor. There you can set all stuff you need to initialize.
(Dont forget to call Super::StartPlay() somewhere in there)

Then you can override the Tick function and do all your Gameplay Stuff inthere.
(Again, dont forget Super::Tick())