So unlike my previous suggestion posts which were mostly focused on Unturned II, I decided to focus on additions I feel would be welcome for Unturned 3.0 in the future, mainly because the development of Unturned II has been put on hiatus and because development on Unturned 3.0 is pursued.
This post will focus on some of the functionalities I feel would be welcome and will try to explain how they could be used in modding. I am not aware of the limits in modding those so take this list with a grain of salt, as I currently have only modded basic content.
GENERAL ADDITIONS
[Universal]
On_Hotkey_Switch
Until now, there have been attempts to create dual-barrel weapons (think XM-29), and items which could change functionality in-game, but, for example, switching between an underbarrel grenade launcher and the normal rifle required the player to put the gun in his inventory and craft it into the other variant before reequiping it. This suggestion would be a shortcut that would change the item into another (of the corresponding id) even if at hand, without deequiping the item.
[Status effects]
This part is related to the potential of adding new “status effects” that could be used in a myriad of ways such as modding diseases (which deplete of health until healed with a specific item or disappear after a while), a performance enhancer (that increase the stamina regen rate for a while and possibly the stamina cap) or a tranquilizer dart or tear gas (both of which would instantly deplete the player of all his stamina and put the cap at zero for a few minutes). Similar abilities are already possible with custom weathers, but allowing projectiles or consumables to do the same really expand the realm of possibilities for us modders. This would potentially require creating “status” with their own IDs to ensure custom effects can be applied, as well as an ability to add custom icons to the effect, a name and perhaps a description.
On_Hit_Give_Status
Used for projectiles, guns and melee, and automatically apply a status effect to the entity hit.
Give_Status_On_Consumption
Apply a status effect to the player when consumed
Remove_Status_On_Consumption
Remove a status effect to the player when consumed
Status_duration
How long the status effect will last, in seconds
Stats_Evolution
The rate at which health, food, water, radiation, stamina or oxygen is gained or lost each seconds
Stats_Cap_Change
The new cap of stats (health, food, water radiation, stamina or oxygen) as long as the status effect is active, can increase or decrease the cap.
Give_Status_Immunity
Clothing items with this attribute will protect the player from some status effects. For example, a gas mask or an NBRC suit may protect against toxic wastes, some diseases and so on.
BARRICADES
[Universal]
On_Damage_Effect
Like with how vehicles that are damaged can emit smoke or fire, a sufficiently damaged barricade could start showing a specific effect to make the damage apparent, like a water container that is damaged could start a leaking animation
On_Damage_Model
Idk if feasible, but essentially, a damaged barricade or structure would have a different model after a certain threshold, like a modded tent could have holes in it after a certain damage output
On_Weather_Damage
For both structures and barricades, deals damage when a certain weather is active, could be used for very-cheap construct like thatch shelters.
[Fluid containers]
On_Damage_Leak_Rate
After a certain damage, fluid containers (water and fuel) could be modded to lose a quantity per second.
On_Damage_Leak_Threshold
The number of hp below which the container starts leaking
Purify_Water
Allow to create water containers that automatically purify the water, or perhaps others that degrade it?
[Growable]
Require_Item_Growth
Allow to mod growable objects that need to be given an item like how you give fertiliser before they can start a growth cycle. For example, it could allow “animals” crops to require feeding before they can grow (a nice stop-gap option until proper livestock is added)
Grow_In_Water
Using True or False, it either restrict a plant from growing in the water (like corn or wheat for example) or makes it a prerequisite (like rice or algae). This could allow to add a wider variety of crops and perhaps be used to make hydroponics or algoculture a thing.
Restart_Cycle_On_Salvage
Crops with this turned on would not be removed once salvaged but instead would restart their growth cycle. Allow for new types of crops which would still exist even after use, like apple trees or if combined with the “Require_Item_Growth” industrial machinery (like imagine you could “feed” a crop with some items and get a resulting item only using said machinery, it allow to create some kind of crafting benches and GREATLY expands the possibilities).
Allow_Full_Harvest
Another option for growable items which can have the “restart cycle on salvage” option enabled that allow those to be fully salvaged when the interact cursor is held for longer. For example, an apple tree can be salvaged for apples or fully salvaged to obtain logs and sticks
Two_Stage_Growth
Once again a suggestion mainly for trees, so that we can split the growth of the tree itself and that of its fruits / corns / whatever. This is suggested so that trees do not become sapling when harvested to fully grow again and instead still stays the same visually.
[Sleeping]
Allow_Multiple_Claims
Essentially a new ability so that more players can claim a same bed (bunk bed or double bed for example).
[Energy]
So, in Unturned, the quantity of fuel a generator can carry can be coded in the .dat file, but right now, it only support fuel. What if we allowed more options to gain energy from, like Sun or Wind but also new kind of “energy” production barricades that required items?
Require_Sun
Produces energy when it is day
Require_Wind
Would probably require a wind update before being added but essentially, it allows to make wind turbines or windmills.
Whitelist_Consumables
Now the interesting part, with such an update, you could code a barricade so as it does not accept gas tanks or industrial gas tanks but instead has to be given a specific consumable item to refuel. It allows for nuclear reactor refueled with uranium rods, for campfires that decay and need to be refueled with logs and sticks or allow to create a biofuel generator that needs to be fed organic food. Options are unlimited. This is intended to work in tandem with the “Has_Energy_Value” option
ITEMS
[Weapons]
Charge_Before_Use
Essentially, require the player to hold the “fire button” until the shot goes, could allow to create stuff like old firearms or heavy melee weapon (think battering ram) or a railgun that require a short time to charge before firing. Afaik, something similar is possible and you can delay the firing time but you don’t need to hold to do so.
Lose_Stats_On_Aim
This suggestion would be intended for weapons like the bow and could be used so that when a player aims with a specific weapon, he’ll lose stats (food, water, health, radiation or stamina) for as long as he aims, like with Oxygen when you must reduce scope sway. The bow example could mimic the way a player gets tired when he pulls the string for too long.
[Consumable]
Has_Energy_Value
Allow to refill a fuel tank with a consumable, can be used to choose how much energy is given by an item. When used in tandem with “Whitelist_Consumables” option, an uranium bar control rod only compatible with a nuclear reactor could hold 90000 energy value while a birch log could hold 400 energy value and only be used on campfires or torches.
Has_Water_Value
Allow to refill a water tank with a consumable and allow to set a value, for example, a small water bottle may have 200 of value while a large water pack may have 1000 of value.
VEHICLES
[Universal]
Vehicle_Salvage
Allow to put in an inventory a vehicle when looking at it and using the interact key for some time. Can be used with items like Canoe, Bicycle, Skis or even (let’s be original) a whole car or tank (if codded for that purpose) to carry those in inventory and spawn those at any time. Greatly encourage the player to rely on alternative locomotion, especially when those can rely on Stamina.
Whitelist_Consumables
A similar suggestion to the one above for barricades which restrict refuelling of the vehicles to the fore mentioned whitelisted items. Allow modders to create vehicles that require specific consumables to refuel…
Speed_on_wind
Also assume a wind update eventually comes eventually, and specify the gain of speed of a vehicle depending on the wind speed, allow for vehicles such as sailboats but with no wind direction as to not make it over complicated. Essentially, if there is wind, your vehicle speed cap is increased, that’s all.
WEATHER
On_Weather_Generate_Volume
This functionality provide the player with the ability to add “permanent” volumes or “weather-dependent” volumes. For the later, this means that they will only “exist” when a specific weather is active, allowing for example to increase the water level during a rainstorm and add new particle effects to make it as if there was a flash flood. Combined with a Stats_Damage_Volume (repetitive damage effect, see below) volume, this ability could make it as if swimming in a flooded area with the water carrying lot of debris would damage the player, deplete his stamina faster or be used to give a persistant status.
On_Weather_Damage
Same as for barricades and structures, an object or a resource that has this in its code has a chance to be damaged during a specific weather. For example, during an heavy rainstorm, perhaps small trees, bushes or power lines could be damaged or destroyed, as if it was a storm, they would then respawn after some time as if the player had destroyed those. It may also be used for vehicles (for example, an heavy-rainstorm could damage a canoe).
RESOURCES
Status_Effect_When_Nearby
Resources with this attribute will apply a status effect to the player if he is nearby. It can be used to create poisonous plants or toxic minerals for example, and may require special items to render immune.
On_Contact_Damage
Resources with this attribute will damage the player or animals.
MAP EDITOR
[Volumes]
Stats_Damage_Volume
Either inflict a single-time damage effect or a repetitive one. For example, you may lose 20 health but not lose any until you exit and reenter the volume or you may lose 5 health every 20 seconds as long as you stay inside. Could be expanded with other stats like stamina, food, water, oxygen or radiation. Alternatively, you could also gain health or any of those stats like with an MRI that heals of your radiation (ok, I know it does not work like that irl, but in-game, it would be one of the many uses of this thing).
Status_Volume
Whenever the player enter this volume, they will be given a status or an existing status will be removed.
OTHERS
[Guided Projectiles]
This part assumes Guided Projectiles are possible in Unturned (which they are with extensive modding, but supporting it officially would help, also, afaik, other unity games allow for guided projectiles) and is my most far-fetched suggestion of all. It just tries to give some ideas of how I could see those. But really, it’s mostly wishful thinking for this part.
Lock-Range
Used for Fire-and-Forget and sets the maximum distance the launcher can lock an object.
Fire_And_Forget
Set to TRUE or FALSE, tells that once the projectile is fired, it will automatically go toward its target.
Guided
Set to TRUE or FALSE, tells that once the projectile is fired, the player needs to guide it until it hits the target.
I hope this list of ideas was not too long to read, I really put a while to find some that I deemed possible in game with the existing limitations. The idea behind was really to allow for much more customisation in modding, and are mostly focused on barricades with which I have experimented a lot lately.