Schematics
Schematics are Coffee Stain Studios' answer to a research system. Schematics hold information about requirements, visuals, and rewards of research milestones.
Everything that is technical progress ingame is a schematic. From the analyzing stuff in the M.A.M, to the HUB Upgrades, to a AWESOME Shop purchases, to the Tier stages of the Space Elevator, everything is a Schematic.
The requirements (item costs, prerequisites, time) of a schematic are directly set in the schematic, but the rewards are defined by so called "unlocks". These unlocks can be anything from new recipes over new buildings to now inventory slots.
If you want to implement custom milestones or M.A.M researches in your mod, you’ll need to make schematics.
FGUnlock (UFGUnlock
)
This is the class describing a reward you get when a schematic gets unlocked. It can be anything from recipes or other schematics to inventory slots.
CSS already provides a couple of these as native classes but also Blueprint wrapper classes allowing for a even easier and better usage in the schematics so you don’t need to create many custom unlocks derived from the CSS ones to set the default values. Instead the BP wrappers allow you to define these default values in the schematic directly.
Below is a list of available unlocks you can use and their BP wrappers:
BP Wrapper | Description of Function |
---|---|
UnlockArmEquipmentSlot |
Gives the player additional arm equipment slots. Having more than 6 causes the inventory screen to look weird, but they still work. |
UnlockBuildEfficiency |
Allows the player to see the calculated values in machine UIs regarding how many items are being produced/consumed per second. The base game already does this in one of the early tiers. |
UnlockBuildOverclock |
Allows the player to access machine overclock/underclock settings. The base game already does this with power shard research. |
UnlockGiveItem |
Gives the player an item when the schematic is unlocked. |
UnlockInventorySlot |
Gives the player additional inventory slots. |
UnlockMap |
Allows the player to access the ingame minimap screen. The base game already does this with the map research. |
UnlockRecipe |
Unlocks crafting or building recipes for use by the player. |
UnlockScannableResource |
Adds a resource to the resource scanner. |
UnlockSchematic |
Unlocks another FGSchematic when this one is completed. |
UnlockSubsystem |
FGSchematic (UFGSchematic
)
The FGSchematic class holds the general information about a research milestone. These research milestones can be anything from a M.A.M research node, to a HUB Upgrade, to a Space Elevator Tier.
-
- M Type
-
The type of the schematic, which determines if it’s part of the tutorial system, M.A.M, AWESOME Shop, a Milestone, etc.
-
- M Display Name
-
The in-game name of our schematic exactly as it is displayed to the player.
-
- M Schematic Category
-
Defines the category in which this schematic gets grouped into.
-
- M Sub Categories
-
Array, defines in which sub groups the schematic should get categorized into.
-
- M Tech Tier
-
Determines in which Tier the schematic will appear under in the HUB. 0 is during the 'tutorial' and displays the Upgrade HUB button instead of the launch button.
-
- M Time to Complete
-
This defines the time (in seconds) the space ship will be away after purchase of the schematic, or how long it takes the M.A.M to process the research node.
-
- M Schematic Icon
-
The icon displayed on the schematic in the HUB or M.A.M.
-
- M Cost
-
An array of item amounts which are required to purchase the schematic.
-
- M Unlocks
-
This array contains the rewards the player will get when unlocking this schematic. It is a array of FGUnlocks.
-
- M Schematic Dependencies
-
This array allows for a schematic’s to be hidden until either other schematics are purchased (
BPSchematicPurchasedDependency
) or a specific item is picked up (BPItemPickedUpDependency
).All items of the array must be satisfied for the schematic to be visible.
Both allow you to select multiple schematics/items. If you enable Require All, all of the Schematics/Items in that group must be purchased/found for the schematic to be visible. If Require All is not checked, only one is required. Note that items that you use as a Item Pickup dependency must have the `HasPickedUpItem` flag set on their item descriptors for their pickup to be tracked and this requirement to work. * {blank}
- M Include In Builds
-
This defines in which builds the schematic should be able to get loaded/cooked. Presumably, this is what Coffee Stain uses to keep their developer milestones made for testing from being shipped with the main game. Its recommended to set this to
PublicBuilds
, otherwise players probably won’t be able to use your mod.