This is the class that contains all the programs, directories, files etc and in-turn simulates the full Operating System.
Creating a new OS
To create a new Operating System, right click in Content Browser and select Blueprint Class. From the resulting window, search for Operating System and you can select between OperatingSystemUnix or OperatingSystemNonUnix.
For this tutorial however, let's stick with Operating System Non Unix so select it and name it BP_Tut_OS.
The primary reason to separate them was to simulate an environment as the name implies.
|Operating System Unix||Operating System Non-Unix|
|Simulates an environment similar to Unix based Operating systems like Linux, Mac OS etc.||Simulates an environment similar to Non-Unix based Operating System like Windows.|
Under the hood, implementation differences between these two types are as follows:
- Partitions are only supported in Non Unix.
- Disk letters (such as C:\, D:\ etc) are only supported in Non Unix.
- Paths are handled differently between the two types. Unix will be
/Users/Desktopand Non-Unix will be
- Root user and command only exist for Unix.
- Repository class only exist for Unix.
- Root directory only exist for Unix.
Some of the terminal commands bundled with the plugin only supports a certain Operating System type. For example, the terminal command
/OperatingSystemSimulator/OperatingSystemContent/Unix/Blueprints/Programs/Terminal/Commands/BP_CMD_AptGet only supports Unix based Operating System.
The limitations listed above are ONLY for this plugin and NOT for real world Operating Systems. Please do not get confused.
Modifying Operating System properties
Open our newly created BP_Tut_OS and let's set the following properties:
If you have not enabled plugin content, you can follow this guide to enable it first since we will be using some of the content bundled with the plugin.
- Name - Tutorial OS (or any name you like)
- Company - My Company (or any name you like)
- Icon - T_UI_OsLogo_Blue (or set according to your likeness)
- Must Have Programs - DA_NonUnix_ProgramsCollection
- Default Directories - DA_NonUnix_DefaultDirectories
If set everything as mentioned, you will end up with an Operating System Blueprint like below:
Now that our Operating System is created, lets assign it to our device that we previously created like in the following screenshot.
If you have placed the device actor in world, it's time to press play. You should now be greeted with the Operating System installation screen.
As with any systems, the visual elements are all driven by UMG so you can make your own widgets inherited from the respective classes and design according to your likeness.