Best Practice for Adding Features?

Hi

I want to add functionality to my game that is not always required. A few relatable examples in real-world games are:

• The Wall Tool in The Sims Franchise (Which is only available when you’re in build mode and click on the Wall Tool)

• The Path Manager in Planet Zoo/Coaster (You can only manipulate paths when you select the path tool)

What is the best practice to build functionality like this?

I’m presuming these features aren’t running at all times and just waiting to be activated by the end-user?

Therefore, is it best practice to create an actor with all the mechanics in there, that you can spawn/instantiate when you wish to access it?

I’m not sure what the specific name is for these kinds of features. Most of the tutorials I’ve come across online for replication of tools mentioned above were created in the Player Controller, whereas I’d presume these would be better placed in their own blueprints entirely?

Thanks

The best thing is to have a go.

There is no such thing as best practice when making games, but there definitely is something along the lines of ‘sensible practice’.

Obviously, you don’t want anything loaded which isn’t being used, regardless of what it’s used for.

You can code things any way you want, but if you code them incorrectly, this will quite soon become apparent, because of a number of things, such as:

  1. The game runs slowly

  2. You find that you keep coding the same thing in different places

  3. You find it difficult to implement systems

You might get an opinion about how to code this kind of thing here, but that will just be someone’s opinion ( like this ), there is no standard.

Game programming is much more to do with bringing unusual thinking to the table, both in terms of design and implementation.