Get information about a computer.

I’m trying to get my asset to recognize the developers computer to run only a few programs that will not run on other gamer’s computers(level editor, developer tutorial, ect…).

I’d consider a few options. I’m sure there’s plenty more options available as well.

  1. Create special developer builds with extra scenes with the functionality you want
  • This will make it more difficult for regular players to get access to these kinds of features, because if your game becomes popular people will certainly try
  1. Place some special config file somewhere with some code inside which if your build sees it it enables this developer functionality
  • Probably the easiest thing for your players to eventually figure out, but also the easiest for your developers to use
  1. Check deviceUniqueIdentifier against a white list embedded in your build, or have your build check a central server for the white list
  • Having it embedded in your build will be annoying when you make changes to dev computers resulting in a different deviceUniqueIdentifier, because you’ll need to spin a new build each time this occurs. Having the white list on a central server will be easier to manage, but also makes it easier for your players to hack the feature.
    Unity - Scripting API: SystemInfo.deviceUniqueIdentifier

Personally I’d go with option 1, as not even including developer scenes in the build makes it incredibly difficult for players who shouldn’t get to them to be able to do so. It also makes it less likely that the build you eventually ship will have bugs when these developer features are disabled, as when tested it will not even include these developer only features (it is a very bad idea to test any software with a setting enabled not available to actual customers, as it can obscure bugs when the setting is disabled, but settings that are a convenience for dev/qa often are enabled during testing even against instructions, because they are convenient).

1 Like