I’m making an FPS. ShooterGame is the obvious reference to look at.
It is very helpful, but I’m noticing some stuff that is incomplete, for example:
class AShooterCharacter {
///...
TArray<TSubclassOf<class AShooterWeapon> > DefaultInventoryClasses;
///...
}
DefaultInventoryClasses is never inintialized, but it is used in the function: void AShooterCharacter::SpawnDefaultInventory()
If I debug that function, I find that code is run and uses the (uninitialized) value to construct a NewWeapon.
There is a comment nearby saying this is part of a hack to give only 1 weapon, but the code creating NewWeapon is still expecting AShooterCharacter::DefaultInventoryClasses to be initialized when it is not. That should have been hacked out along with that hack?
A nice complete base FPS game to build on would save development time.
As an example it would be invaluable, and would probably save a time answering questions (like this one).
Establishing “the right way” with an example will also be very beneficial long term, e.g. to developers joining other teams, sharing/reusing code, etc.
It would suck to see many projects each doing things their own way, and choosing to do something silly.
Thanks