File information
Last updated
Original upload
Created by
MikjawUploaded by
MikjawVirus scan
Some files not scanned
Tags for this mod
- Compilation
- Gameplay
- English
- French
- German
- Italian
- Japanese
- Polish
- Spanish
- Russian
- Sound FX
- Voice Acting
- Modder's Resource
- Non-Playable Resource
- Tutorials for Modders
- Tutorials for Players
- User Interface
- Utilities for Modders
- Utilities for Players
- Other languages
- Translation
- Czech
- Hungarian
- Dutch
- Mandarin
- Korean
- Turkish
- Portuguese
- Chinese
- Ukrainian
- Targets: Stable Branch
- Nautilus
Current section
About this mod
This library supports the creation of new vehicles.
- Requirements
-
Nexus requirements
Mod name Notes Configuration Manager for BepInEx OPTIONAL: allows configuration of VF and each VF vehicle Nautilus REQUIRED Tobey's BepInEx Pack for Subnautica REQUIRED Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 1.8.7
- Ensure stored creatures hatched from eggs (Sand shark, etc) that cannot normally be picked up, can be reloaded into VF storage safely.
- Fix: vehicle engines do not drain power unless they actually move the vehicle
- Revert: neuter cyclops dock rotation changes (bad math)
- Change: disable moonpool colliders while a VF vehicle undocks.
- New console command: "vfdestroy [vehicle]" destroys/deletes the nearest vehicle with the assigned name. Example: "vfdestroy exosuit" or "vfdestroy odyssey"
-
Version 1.8.6
- Improve availability of cyclops upgrade signals. Hopefully fix players needing to remove and reinsert VF Cyclops upgrades after loading the game.
- Experimental Developer Feature: allow VF vehicles to be rotated into Cyclops or Moonpool instead of always "facing forward"
- Compat Checker: improve main menu notifications about compatibility warnings
- Compat Checker: add checks for Vanilla Expanded
- Add compat for the Docked Vehicle Storage Access mod. Seamoth/Prawn storage can be accessed using that mod when docking in a VF docking bay.
-
Version 1.8.5
- Localize the drone station and VF fabricator texts
- fix load sometimes missing some objects that were saved
- fix magnet boots not working for drones
- add Fahrenheit option for temperature display in VF vehicles
- add ability for vehicle developers to declare volumes in which things cannot be built
-
Version 1.8.4
- Add BuildingTweaks warning
- Make JSONInterface more generic
- MagnetBoots no longer are detached after saving the game
- Better compatibility with modded SubRoot objects
- Standardize localization schema to JSON and language names
- Add many more phrases for localization
- Revert change from 1.8.3: use the generic "Enter/Exit" vehicle without the vehicle name (too difficult for localization)
- Allow vehicles to override their "Enter/Exit Vehicle" text (for vehicle-specific localization potential)
-
Version 1.8.3
- Update localization to use vehicle names instead of just the word "vehicle" as in "Enter Vehicle" and "Exit Vehicle"
- Fix an issue where the microsoft store version of the game was unable to save when a VF vehicle was in the world
- Fix an issue where modular storage containers were not truly size-configurable
- improve PowerRelayPatcher null handling
- Fix an issue where the construction ghost color (light blue) was not reset after a VF vehicle changed it for its own construction
- Setup better Build Bot paths so that they fly closer to the vehicle being constructed
- Disallow grappling exosuits from docking in a VF docking bay
-
Version 1.8.2
- Fix: spent material reactants were not saved
- Fix: improve save/load exception handling
- Fix: most autopilot voice lines were never spoken
- Feature: add "vfhelp" console command
-
Version 1.8.1
- Fix: drone station sometimes shows unavailable drones.
- Fix: some interior buildables cause Submarines to not move correctly.
-
Version 1.8.0
- BREAKING: refactored the DockingBay component for ease of use and to better work with ModVehicles. It's more customizable now too.
- BREAKING: ModVehicle.OnVehicleDocked and ModVehicle.OnPlayerDocked had a redundant argument removed.
- Improve counting of storage containers, especially for the Crush which has custom storage options.
- Fix Submarine upgrades being selected wrongly. If you had upgrades in slots 5-9, pressing those buttons while in a Submarine but not piloting it would trigger them. They should now only be triggered if you're actually piloting.
- Engine sounds no longer depend on the Voice Volume. See config manager for a volume slider.
- Add interface for custom subtitles. Vehicles can independently configure their subtitles, so they don't have to match the default voice lines.
- Don't show HUD pings for vehicles you're inside of. The Beluga is so large, for example, that you can be inside and yet far enough away from its center to see the HUD sprite.
- AutoPilot.autoLeveling.get is now public.
- Don't disallow Material Reactors with 0 capacity.
- DockingBay: allow possibly any vehicle to be docked
- DockingBay: allow per-vehicle undocking actions to be taken
- DockingBay: allow per-vehicle dock-positions to be used
- DockingBay: greatly improve handling for ModVehicles
- DockingBay: allow customizable dock-trigger range
- DockingBay: DockingBay is now an abstract class
-
Version 1.7.2
- Fix some error messages referring to the wrong method name.
- Relax some error messages that were previously (and unnecessarily) filling up the log.
- Add a url, so that Config Manager can take you directly to the VF nexus page (cool!).
- Material Reactor fix: save current power levels even when there's nothing inside the reactor.
- Material Reactor fix: always allow new items to be added when space is available.
- Audio fix: spread engine and autopilot sounds equally to both ears.
- Fix an issue with buildable objects sometimes becoming "un-anchored" inside submarines.
- Fix an issue where vehicle unlocks display multiple times.
- Ensure encyclopedia entries are unlocked if the vehicle is unlocked.
-
Version 1.7.1
- Improve logging
- Fix possible save-time issues
- Vehicle voice and engine sounds track sound settings
- VF Camera hint only shows on vehicles with cameras.
- Vehicle name stays consistent in all name-change cases.
-
Version 1.7.0.1
- Hotfix for 1.7.0
-
Version 1.7.0
- Fix: overhaul save/load mechanisms
- Fix: prevent entry into the Lava Castle moongate (the vertical forcefield that blocks Seamoth entry and behind which the Player can breathe and walk).
- Fix: storage counting issues: modular storage containers (especially Better Vehicle Storage upgrades) would be wrongly counted for the storage HUD element
- Fix: modular storage save/load issues. Previously, modular storage (especially Better Vehicle Storage upgrades) would not save and load correctly.
- Fix: VF upgrades unlock, by default, with the mobile vehicle bay instead of the modification station.
- Fix: on reload, upgrades would be "added twice," sometimes leading to bad counting
- Fix: can no longer enter scuttled submersible-type vehicles
- Fix: magnet boots no longer have save/load issues (but will detach when you save the game).
-
Version 1.6.2
- Feature: Configurable number of upgrades per-vehicle! (Check the configuration manager!)
- Fix: some material reactor issues
- Fix: some vehicle and upgrade developer issues
- Fix: some battery power reading issues
-
Version 1.6.1
- Feature: New "Material Reactor" component. It can be setup to take any inventory item and consume it for power, like a nuclear reactor or bioreactor. See the Abyss vehicle for an example of a bioreactor-style Material Reactor.
- Fix: VF Fabricator fixes: fix the collider, so it can't be placed out of bounds or overlap weirdly with other buildables. It can't be built on top of other buildables any more either.
- Fix: Seamoth toggle action fix: toggle upgrades for the seamoth didn't work correctly. They only activated once when toggled. Now they should activate regularly and consume power normally.
- Fix: config issue where autopilot voices were not ready when configs were being built.
- Feature: upgrade menu background is now no longer the Prawn image. All VF vehicles will get a "VF" background instead, but they can add a new image if they so choose.
- Feature: add new VF Fabricator localization files
- Dev Feature: add new JSON interface for saving ModVehicle data on a per-savefile basis. See Material Reactor for an example.
- Chores: clean up using directives and simplify some interfaces
-
Version 1.6.0
- VF no longer uses Nautilus for its configuration options. That means you won't find them in the "mod options menu" anymore (pause menu > options > mods).
- VF now uses Configuration Manager. So, you'll hit F5 at any time to configure its options.
- The primary reason for this change is that Configuration Manager allows me to add config options dynamically. That means I can offer per-vehicle configuration settings!
- Check out the menu now to see an option category for every vehicle you have installed. You can change the autopilot voice and engine sounds for each vehicle, and you can also configure the autopilot and engine volume for each vehicle!
- You can also check out the new Impulse Speed Booster update, which leverages the new Vehicle Framework API to add per-vehicle options. It allows you to configure how powerful is the boost for each vehicle!
- VF no longer puts its upgrades into the modification station.
- Instead, the upgrades are built from a custom fabricator.
- The fabricator is unlocked when you unlock the Mobile Vehicle Bay.
- The primary reason for this change is to avoid the crafting menu garbling that was introduced in Nautilus-pre33. That issue caused crafting nodes to sometimes be visually hidden and unreachable because they were covered up by another crafting node. The unspoken assumption at the heart of this issue is that "green nodes and blue nodes should never be side-by-side." Nautilus introduced this assumption without also introducing guards or notifications.
- The VF Fabricator is controlled totally by VF and it prevents "green and blue nodes from being side-by-side," so the VF fabricator is free of this visual/control bug.
- Full compatibility with the Auxiliary Console from MoreCyclopsUpgrades. You can now use VF Cyclops Upgrades in the Aux Console.
- Compat Checker: At game-boot, VF checks for the presence of some mods and possibly issues an on-screen warning (currently just for Flare Duration Indicator 1.0.1). It also checks your version of Nautilus and the BepInEx pack, and will warn you if you have a version older than the one with which Vehicle Framework was built.
- Fix an issue where ping sprites would sometimes appear as question marks.
- Add a public API for registering ping-sprites. (As a result, you'll need to update the Cricket mod).
- Add a public API for adding per-vehicle config options (see Impulse Speed Booster for an example).
- Add a docking bay component (see the Beluga (eventually) for an example). Thanks, Beluga team!
- Enhance the upgrade API to add more control and more error-checking.
-
Version 1.5.3
- Feature: Add new crafting menu icons for VF upgrades (thanks again for the idea and images, Mamy la Puce!)
- Feature: Autopilot subtitles. You can disable them in the options menu.
-
Version 1.5.2.1
- Hotfix for drone HUD alignment
-
Version 1.5.2
- Fix: ensure drone HUD is properly aligned at every resolution
- Fix: ensure Cyclops can't be piloted to dock undockable vehicles into itself
- Feature: add distinct sprites to VF upgrade tabs for Seamoth, Prawn, Cyclops
-
Version 1.5.1
- Further fixes for vehicle destruction / biting (Gargantuan Leviathan)
- Add a console command "undockclosest" to force the nearest dock to undock its vehicle.
-
Version 1.5.0
- Some patches were replaced (with transpilers) to be more compatible with other mods.
- Fix bugs regarding vehicle lights. Sometimes lights would be in the incorrect state, or a control panel button would report the light state incorrectly.
- New depth module icons
- New Console Commands!
- "givevfupgrades" - give the player all the VF upgrades for ModVehicles
- "givevfseamothupgrades" - give the player all the VF upgrades for the seamoth
- "givevfprawnupgrades" - give the player all the VF upgrades for the prawn
- "givevfcyclopsupgrades" - give the player all the VF upgrades for the cyclops
- "logvfupgrades" - print in the BepInEx log all the VF upgrade class IDs
- "logvfvehicles" - print in the BepInEx log all the VF vehicle class IDs
- "logvfvoices" - print in the BepInEx log every available VF voice
- "vfspawncodes" - show as a PDA message every single spawn code that VF offers
- Admin.EnableSimpleEmission now takes two options arguments for emission levels during day/night respectively.
- New UpgradeRegistrar.UpgradeIcons dictionary exposes upgrade icon sprites as public.
- Lights and Signals Overhaul!
- Lights now inherit from BaseLightController for ease and unification of logic.
- New Interface: IScuttleListener - for components that want to know when a vehicle has been scuttled/unscuttled
- Changed Interface: IPowerListener - for components that want battery updates
- New Interface: IPowerChanged - for components that want to know when power has gone offline/online
- New Interface: IDockListener - for components that want to know when a vehicle has docked/undocked
- When preparing a vehicle in Unity, you no longer need to add Volumetric Lights! Yay!
- Cleaned up the VoiceManager API to make it easier to use.
- Cleaned up the VehicleManager API and renamed the VehiclePrepper class
- New field ModVehicle.DenyBuildingColliders - a list of Colliders on which the player cannot build.
- NotifyStatus(autopilot) has been moved to AutoPilot
- NotifyStatus(power) has been moved to PowerManager
- NotifyStatus(lights) has been moved to individual LightControllers
- NotifyStatus(vehicle) has been moved to individual users
- DestroyMV has been simplified, and DeathStyle has been removed.
-
Version 1.4.15
- Feature: Change most on-screen messages to a PDA-style. No longer will these messages appear on the side of the screen in plain white text. Instead, they'll appear in the normal bottom-of-the-screen PDA window that appears with most messages.
- Fix: stabilize some save/load mechanics for storage. Read on:
- The Odyssey in particular has experienced a lot of issues about storage going missing. This update and the most recent update to the Odyssey should resolve that. You can read about the Odyssey-side issue in an article on the Odyssey page. I think that fix alone will resolve most of the issues, but there's another (potential) issue resolved with today's VF update.
- Previously, VF would reload your interior storage containers by remembering where in the world they are. This mostly works okay, but it doesn't make a lot of sense given that VF finds each vehicle in the same way. Now, VF simply remembers the location of each storage container in vehicle-space. That means the location is remembered relative to the vehicle itself. While I never experienced an issue like this, if a creature were to bump the vehicle at World.Start time, this could cause a reloading issue. I'm not sure such a thing could ever happen, but this fix mitigates problems like that.
- The old reloading mechanic has been preserved alongside the new mechanics, so you don't need to worry about losing your storage as a result of this update.
- I hope these updates make for a more consistent save/load experience for all VF vehicles!
-
Version 1.4.14
- Fix ghost command not actually moving the player.
- Fix issues with player death inside a vehicle: better compatibility with huge modded leviathans.
-
Version 1.4.13
- Fix issues with modular storage.
-
Version 1.4.12
- Better compatibility with The Silence leviathan. Previously, when the Silence should insta-kill the player and their vehicle, the player would not be killed.
- Add gamepad trigger config for headlights. Nautilus doesn't support analog controls in its config options.
- Drone Station only becomes unlockable/available if a Drone vehicle is installed. Without any Drone mod installed, the Drone Station should not appear or be unlocked.
- `ModVehicleEngine` has been abstracted into `VFEngine,` from which `ModVehicleEngine` now inherits. This allows for easier customization of how VF vehicles can move and rotate. Existing vehicles and engines should be unaffected.
- A new `SurfaceVessel` Engine has been added. Vehicles with this engine act like boats; they cannot go underwater, and they cannot change their pitch or roll.
-
Version 1.4.11
- Fix vehicles falling immediately after being triggered through the Mobile Vehicle Bay.
- Fix engine power cost calculations (deltaTime and fixedDeltaTime mismatch).
- Save and Reload Moonpool color changing (wasn't saved before).
- Fix upgrade proxy bugs. Some vehicles are setup to cause upgrade models to appear and disappears as upgrades are added and removed. See the Odyssey for an example.
- VF no longer prevents the SnapBuilder "extended build range" option.
- Fix sea-level calculations (better compat with mods such as SeaLevelMod).
- Let Vehicle Acceleration Modifiers have deeper integration with VF vehicles.
- New AssetBundleInterface.GetAudioClip method
-
Version 1.4.10
- Ensure Cyclops upgrades are unlocked automatically (when appropriate).
- Fix bad counting of Cyclops upgrades.
- Better compatibility with MoreCyclopsUpgrades.
- Better support for using architect teleportals in VF vehicles.
- Better compatibility with Deathrun Remade. The "exit vehicle" energy cost should only be incurred when you actually exit a VF vehicle now. No longer is that cost incurred while trying to use the autopilot to level out a submarine, for example.
- Less log spam regarding Cyclops upgrades.
- Fix magnet boot issue with saving and reloading while attached to a Cyclops.
- Fix typo in Cyclops upgrades stating they are Prawn upgrades.
- Support for visually renaming vehicles in the Moonpool (vehicle dependent).
- Support for recoloring vehicles in the Moonpool. (vehicle dependent).
- Add configurable fix for broken Nautilus-33 crafting menus.
- Visual renaming in the Moonpool. Override `ModVehicle.SubNameDecals` for automatic support for Moonpool renaming. See the wiki.
- Recoloring in the Moonpool. Override `ModVehicle.SetBaseColor`, `.SetInteriorColor`, and `.SetStripeColor` for automatic support for Moonpool recoloring.
-
Version 1.4.9
- Enroll vehicles sooner. This means vehicles will try to reload their contents from file before they do most other things. I hope this works out so that storage contents are misplaced less frequently.
- Better compat with Submersed VR. Previously, certain vehicles would brick the user interface. Shout outs to a certain VR user who provided me with invaluable feedback, so that we could fix this issue together.
- Add a temporary fix for the broken crafting trees in Nautilus-33. This is not a VF problem to fix, but Nautilus is very slow moving, so I went ahead. I'll remove this fix if Nautilus resolves its breaking change.
- Fix upgrades being bumped too frequently (simple but harmless bad logic on my part).
- Passive Upgrades are now propagated to the Cyclops! Make sure you download updates on the relevant mods, because they'll do nothing for the cyclops until then. In other words, upgrades built for previous versions of the Cyclops will be insertable into the Cyclops, but they won't do anything. Newer versions have extended their functionality to the cyclops.
- New method: ModVehicleUpgrade.GetNumberInstalled provides an easy interface to determine how many of a particular upgrade a given vehicle has.
- New Localizer class makes it easy to add localization for your VF-dependent mod. See the wiki about it.
- New ModVehicle.OnFinishedLoading method. This will fire when VF is finished loading your vehicle contents from file. It's useful if you need to do something after you're sure all the storage/batteries/upgrades have been loaded in.
- Investigate a report that Vehicle Framework adds lag to the PDA voice and causes overlap in PDA messages. Submit a related bug report to Nautilus.
-
Version 1.4.8
- Fix vehicle engines sometimes being wrongly unavailable.
- Fix exosuit throwing errors on arm usage when no module slot was active.
- Issue log warning about broken ping instances. When one ping instance is broken, some HUD pings will not be displayed. Not sure why some get broken.
- Remedy color picker issues (occasionally disappears). Still not sure why this ever happens, but if you find it missing, try exiting and entering the vehicle.
- Clarify "force arms compat" tooltip to indicate what are the real "dangers." Spoiler: there aren't really any.
- Demote json warnings to debug log statements. These happen when VF hasn't taken action on a save file before, which it will do in order to display vehicle sprites on the main menu save card.
- Vehicle "Enrollment" happens earlier in the vehicle life-cycle. In normal situations, this shouldn't change anything. But in weird situations, I hope it ensures that vehicle states are correctly "reloaded" from file.
- Craft tree overhaul (upgrades). At the modification station, all VF upgrades will be under a single "VF Node." The VF Node has three sub-nodes for VF Vehicles, Seamoth, and Prawn.
- New config option: Headlights toggle
- Extension method: Player.IsPilotingCyclops()
- Extension method: Player.IsInCyclops()
- Extension method: Transform.IsGameObjectAncestor(GameObject)
- Craft tree overhaul (upgrades). It's now super easy to add tabs for your upgrades and to create tiered upgrades. Some info follows:
- Override ModVehicleUpgrade.TabName to create a new tab. This field is the "keyword" for the tab, and it won't be displayed.
- Override ModVehicleUpgrade.TabDisplayName to create a name for the tab that will be displayed to the player.
- Override ModVehicleUpgrade.TabIcon to add a new image for the tab. Otherwise, you'll get a default icon.
-
Version 1.4.7
- Fix upgrade modules not always taking effect on their vehicles.
- Fix multi-moonpool bases having their docked vehicles badly reloaded.
-
Version 1.4.6
- When stopping drone control, ensure the player's state is normal. Especially if the player was sitting in a chair.
- Color pickers will now scale correctly
- Fix freeze time errors on game reload. This has to do with pausing audio during game-pause.
- If a vehicle dies for any reason while docked, the dock should eject the vehicle automatically.
- On reload, sometimes two vehicles would be docked into a moonpool. This would happen even with two seamoths, so it's a base-game bug. That shouldn't happen anymore.
- Not all docking and undocking procedures capture the player. For example, if I bumped a Cricket into the moonpool by swimming into it, it would "undock" me into the moonpool too.
- Magnet boots will activate on reload, so that if a vehicle was "magneted" on save, it should also be magneted on reload.
- Vehicle death should happen as expected now. Previously there were issues with scrapping and reviving vehicles.
- The PDA ping tab now displays full names, like so "Vehicle Class : My Vehicle Name." For example, "Odyssey : ODY-1283."
- Simplify magnet boots. They no long try to move vehicles down to meet their platform. A vehicle that engages magnet boots successfully will instead remain exactly where it is. This prevents issues like going into the Cyclops, but allows a magneted vehicle to sometimes appear "floating" rather than neatly mated to its platform.
- New storage HUD for ModVehicles that have onboard storage. It appears near the power and HP and shows what percentage of storage space is filled up. This doesn't include lockers built by the player. This can be disabled partially or entirely in the mod options.
- New interface for save file sprites. Vehicles can now register a sprite that will appear on the main menu "load card" for each save if that vehicle exists in that save world. Update Odyssey, Abyss, Crush, or Cricket to see.
- Vehicle "power relays" now provide oxygen. This means that the inside of a submarine is not considered "poisonous air" for Deathrun.
-
Version 1.4.5
- Hotfix: drone piloting while sitting and some harmless errors spam in the log.
-
Version 1.4.4
- Upgrades can now be clicked to add and remove them from vehicles! No more requirement to click-and-drag!
- VF audio will now be paused when the game is paused.
- Prawn upgrades can once again be activated by clicking their slot number on the keyboard.
- All variants of an upgrade will be unlocked at once. Previously, some variants would never be unlocked.
- Arm alternate-use previously required a "frame perfect" input of two button presses (alt-use and arm-use). Now you can simply hold the alt-use button while you activate the arm to use its alternate functionality.
- Players in chairs in VF submarines can now look up and down.
- Creature eggs saved/loaded into VF storage will no longer be bricked.
- Prevent VF vehicles from moving through vertical force fields (like at the entry to the prison (maybe that's the only one)).
- Console commands that teleport the player would break the game if used while piloting a drone. Now you can't do that.
- Resolve some harmless errors that happen at game-exit.
- A player sitting in a chair can now use the Drone Station.
- Prawn upgrades can be used by selecting them in the hotbar, enabling normal controller gameplay. The left arm will also be used (intentional).
- Multiple GameObjects can be registered as fragments for a single TechType. See the Crush for an example; the Crush registers its body and an arm as fragments, and scanning either counts the same towards unlocking the Crush.
-
Version 1.4.3
- Vehicles would not have their names saved in all ways. On reload, the sprite on the HUD that appears when the vehicle is at distance would return to the default name. Now, custom names should be saved everywhere.
- Fix some harmless PlaceTool errors from spamming the log.
- Fix Submarine jitter when automatically returning to level and still moving.
- Fix hard-locking bug when vehicles were stopped abruptly while a camera was being used.
- Fix arm upgrades sometimes not disappearing.
- Fix arm upgrades throwing errors when not being used.
- Fix Vehicles can't be built in shallow water (can be built anywhere now, ha ha).
- Fix vehicle sprites not appearing in the Beacon Manager tab of the PDA.
- Fix submarines being docked while the player was inside but not piloting, which would often cause harm to the player.
- Fix autopilot sometimes being silent after reloading the game.
-
Version 1.4.2
- Fix: pilot text showing for too long
- Fix: drones couldn't pick up items when the player's inventory was full
-
Version 1.4.1
- Fix issues with beginning to pilot vehicles while the HUD is disabled.
- Fix harmless errors (log spam) regarding Vehicle.SlotLeftUp and related methods
- Fix camera switching when typing in the console
- Fix harmless errors (log spam) when using freecam or ghost while piloting a vehicle
- Fix vehicles moving when using freecam or ghost while piloting a vehicle
- Every VehiclePart has its own constructor now, so the implementation syntax has been shortened for must use-cases.
- Add ModVehicle.Cameras for ease of adding external (or internal) cameras: See the wiki.
-
Version 1.4.0
- Simplify the system for adding new upgrades.
- Add greater customization options for new upgrades.
- Arm Upgrades are now used like Prawn arms. So you right-click and left-click to use them! (or whatever is the controller version of that)
- Add Seamoth and Prawn modules for every added upgrade (unless you opt out of that).
- That means every upgrade mod you make goes 3x !!!
- Compatibility with BetterVehicleStorage. Now you can use these advanced storage modules with any VF vehicle!
- Upgrades are now unlocked with the Modification Station as intended. Previously they were unlocked with Vehicle Upgrade Console.
- New method SpriteHelper.GetSpriteRaw to quickly get a "Sprite" from a file, instead of an "Atlas.Sprite"
- New Fragment system. The main entry point is FragmentManager.RegisterFragment, and it takes only one parameter now: a FragmentData struct. The new system permits adding rotations to your fragments.
- New extension method: Vehicle.GetCurrentUpgrades returns a list of strings that denote the names of the upgrades you have installed in a vehicle.
- Fixed extension method: Player.GetModVehicle sometimes having a null reference error. If the player is controlling a drone, the drone will be returned instead of a ModVehicle the player might currently be inside.
- Rely much less on hard-coded strings. Instead use "nameof" and enum based string resolution wherever possible.
-
Version 1.3.5.1
- Hotfix: fabricator issues inside Submarines
-
Version 1.3.5
- Allow save/load while piloting. Previously VF didn't allow saving while controlling any vehicle. You could only save while inside a Submarine-type vehicle, but not while controlling it. Now you can save at any time, and if you were piloting a vehicle when you saved, you will load back into controlling that vehicle.
- Lava Larva Handling. VF now supports Lava Larvae attaching to vehicles. See Developer Notes for more.
- Save/load vehicle names. Now if you rename a vehicle in the moonpool, for example, that name will persist through save/load.
- Improved save/load logic. Simplified the code. Hopefully there will be fewer instances of loading old save files with newer versions of VF going awry. Sometimes, for example, no vehicles would appear or storage would go missing. I hope this resolves those issues for good.
- Don't use magnet boots outside a vehicle. In the last version, every instance of MagnetBoots would be activated whenever you pressed the MagnetBoots button. This was obvious because the "no attach point" message would show up when you were swimming.
- Better Steering Wheel logic. Previously the steering wheel would sometimes be rotated weirdly.
- Player will now automatically "sit down" in Submersible-type vehicles. This should fix seeing the player's legs extend through the bottom of small vehicles like the Cricket or Wraith.
- MagnetBoots would sometimes throw an error because its serializer was not available. Now it will wait until it becomes available.
- Remove unused field "ModVehicle.isRegistered"
- ModVehicle.StorageRootObject and ModVehicle.ModulesRootObject are no longer abstract. You can override them, but there is no need to do so. Now implementing your own vehicle only requires you to supply the 3D model and its collision model!
- Lava Larva Handling. Simply override "List<Transform> ModVehicle.LavaLarvaAttachPoints" and VF will take care of the rest. Make sure that Z-positive points in towards your vehicle.
- Lower requirements for ControlPanel. There's no longer a need to specify a "Transform ModVehicle.Control-Panel-Location" if you just include the control panel in the vehicle model.
- New AssetBundleInterface.CloseBundle method allows an asset bundle to be unloaded gracefully. I should have been aware of this "unload" method a long time ago!
- New Extention method Player.GetModVehicle() simplifies the task of finding a currently-active ModVehicle. It will return the ModVehicle to which the player is currently mounted. That means a Submersible they are using or a Submarine they are inside. You still need to access "Drone.mountedDrone" to get the currently controlled Drone.
-
Version 1.3.4
- Magnet Boots would set the vehicle's parent to null on Detach. But the ModVehicle must remain parented under the SerializerObjects GameObject in order to be saved. As a result, vehicles with Magnet Boots would almost never be correctly saved. This update sets the correct parent, resolving the issue.
- Improved Docking Animations. ModVehicles now use a teleportation strategy to avoid weird animations during docking. The player should correctly track the vehicle during docking and undocking now.
- The undocking physics should be normal. ModVehicles should be ejected from docks with the same method Seamoths and Prawns are.
- IsPlayerDry renamed to IsUnderCommand. New bool field IsPlayerDry added to re-capture backwards compatibility with vehicle mods. IsUnderCommand is a property whose setter contains the only assignment to IsPlayerDry. IsPlayerDry should (but doesn't necessarily) track IsUnderCommand.
-
Version 1.3.3
- Drone Stations built inside a cyclops will often damage that cyclops when it is being piloted.
- Submarines will move around and possibly be damaged if the player uses a bed inside the submarine.
- The player is fixed in space while piloting a drone. If they are using a drone station inside a submarine, they won't track the movements of that submarine.
- Some sprites display incorrectly as solid squares instead of the default sprite.
- Drones do not display their crush depths in the HUD.
- Magnet Boots. Vehicles can choose to have magnet boots. A vehicle with magnet boots can attach to different platforms: base, cyclops, or ModVehicle. An attached vehicle will use its platform's power source(s) to recharge its own batteries. The default key is G. Press the attach key to attach to a platform below your vehicle. A message will appear if there is no platform in range. If attached to another vehicle, the mass of both vehicles will be used in engine physics calculations. See the Crush drone for an example.
- Steering wheel animations. VF can now control a steering wheel to animate in accordance with the movement of the vehicle. See the Odyssey or R5 for an example.
- ModVehicle.pilotingStyle is a quick way to make the player sit or stand while they control a vehicle. PilotingStyle.Seamoth is the default option, which will result in the Player sitting down. Choose PilotingStyle.Other if you want VF to do nothing. As before, set ModVehicle.SteeringWheelRightHandTarget (and Left) if you want the player's hands to follow the steering wheel.
- If you don't supply an encyclopedia entry for your vehicle, VF will no longer create a PDA entry for you when the vehicle is unlocked.
- New ModVehicle.IsPlayerControlling() method simplifies the question of whether the player is piloting any ModVehicle.
-
Version 1.3.2
- Add storage methods to the framework.
- Arm upgrades are now, by default, not forced. If you want arms on all vehicles, see the mod options!
-
Version 1.3.1
- Compat with BuildingTweaks.
- Fix respawn bug where players never respawned into VF Submarines.
- Fix crafting bug where players could not use a fabricator inside a VF Submarine.
-
Version 1.3.0
- Add arm upgrades to the framework
- Overhaul upgrade registration.
- Warpers can no longer teleport the player out of Submarine-class vehicles.
-
Version 1.2.9
- Simplify framework. Add compat for Chameleon sub. Add Scanner Room functionality for fragments. Fix bug involving chairs not being built correctly in submarines. Add compat for Pickupable Vehicles.
-
Version 1.2.8
- Simplify framework. Improve drone connection logic
-
Version 1.2.7
- Simplify framework. Add UI elements. Fix slow-falling vehicles.
-
Version 1.2.6
- Add configurable recipes for all vehicles. See BepInEx/plugins/VehicleFramework/recipes after booting the game once!
-
Version 1.2.5
- Slot Extender Compatibility.
-
Version 1.2.4
- Fix drones sometimes stuck in Moonpool. Update fragment spawning (fewer, and in fixed locations). Let toys and posters be placed in Submarines.
-
Version 1.2.3
- Fix glitches involving drones accessing wreck doors.
-
Version 1.2.2
- Fix drones being able to enter seamoths and prawns
-
Version 1.2.1
- Small fixes for drones, drone stations, bounding boxes, and tethers.
-
Version 1.2.0
- Adds Drone type vehicles, deconstruction, and scannable fragments.
-
Version 1.1.10
- You can build inside submarines now. Fixes weird docking behavior (Odyssey jittering). Adds Cameras.
-
Version 1.1.9
- Fix bug related to exiting vehicles
-
Version 1.1.8
- No longer crash when trying to stop piloting a cyclops with a docked vehicle.
-
Version 1.1.7
- Fixes for voice, docking, and lights.
-
Version 1.1.6
- This update makes fixes to Cyclops docking.
-
Version 1.1.5
- fixes upgrades not showing up in the workbench.
-
Version 1.1.4
- This update brings Vehicle Framework up to pace with Nautilus (pre-31).
-
Version 1.1.3
- This update fixes an issue with exiting a Moonpool that is part of a very large base. I
- It also changes some spatialization settings for the auto pilot voice.
-
Version 1.1.2
- This update makes docking bays recharge vehicle batteries. Additionally, the Cyclops will repair vehicles if it has the Cyclops Docking Bay Repair Module.
-
Version 1.1.1
- This hotfix makes it so that when the PDA is open, you cannot control (move or rotate) a vehicle.
-
Version 1.1.0
- Vehicle docking. If a vehicle game object has been set up correctly, and if it is small enough, it will be allowed to dock in a moon pool or the Cyclops. Some of the animations look bad, but those problems are only cosmetic.
- Vehicles will no longer disappear when die. Instead, by default, they will become non-functional and they will sink. The player can still enter a submarine, but they will be swimming. The batteries, upgrades, and storage will remain accessible.
- Vehicles will, in general, come to a stop more rapidly than before.
-
Version 1.0.5
- This update fixes several voice issues, especially regarding Submarine-class vehicles.
-
Version 1.0.4
- This update makes it very easy to add a new voice.
-
Version 1.0.3
- This update brings a new Voice, makes it possible for Vehicles to add their own Voice, and fixes a few voice-related bugs.
-
Version 1.0.2
- Fixed: Cricket (and perhaps other vehicles) sometimes causing save issues
-
Version 1.0.1
- Fixed: VF ping sprites breaking the Map mod
-
Version 1.0.0
- There are now two major types of Vehicle Framework vehicle. The first is the Submarine, and the other is the Submersible.
- The Odyssey is an example of a submarine because you can walk around the interior. The cricket is an example of a submersible because you cannot. Submersibles act a lot like the Seamoth.
- The Vehicle Framework Wiki has been greatly fleshed out. If you have a model and a bit of C# experience, this wiki will get you started using VF.
- You can ask questions on the Vehicle Framework Discord Server.
- The in-game process for vehicle registration has had a great deal of verbose informative warnings added. If you ask it to, VF will tell you all the things you have left out that are optional.
- Vehicles can now add custom voices that become accessible to other VF vehicles.
-
Version 0.9.6.6
- This update improves error handling and adds freedom for vehicle developers to not implement more things.
-
Version 0.9.6.5
- This is another update that supports Vehicle developers. It improves the error logging.
-
Version 0.9.6.4
- This is another update that supports Vehicle developers. It adds detailed error logging during vehicle registration.
-
Version 0.9.6.3
- This update gives more (programming) power to individual mod vehicles and fixes a few bugs regarding fabricators and shaders.
-
Version 0.9.6.2
- This update fixes several bugs involving load-time events, and a few other bugs.
-
Version 0.9.6.1
- This update fixes a small integration issue with Nautilus.
-
Version 0.9.6.0
- This update adds interfaces for mods to add upgrade modules.
- It also fixes some save/load timing issues.
-
Version 0.9.5.6
- This update ensures bleeders behave sensibly: not attaching to a player through a mod vehicle, and not dealing damage to the mod vehicle when attached to the player.
-
Version 0.9.5.5
- This update ensures vehicles are reloaded correctly after save/exit.
-
Version 0.9.5.4
- This update adds configurable mass to each individual mod vehicle.
-
Version 0.9.5.3
- This update transitions this mod from SMLHelper to Nautilus.
-
Version 0.9.5.2
- This update fixes a bug regarding how craftables in the workbench were displayed.
-
Version 0.9.5.1
- This update fixes a bug regarding the names of the depth modules.
-
Version 0.9.5.0
- This update adds (tool-translated) localization support.
-
Version 0.9.4.2
- This update ensures upgrade modules are always crafted correctly.
-
Version 0.9.4.1
- This update fixes fabricators not appearing.
- This update is in general not compatible with previous saves, and might result in odd behavior from mod vehicles from those saves. Sorry.
- If necessary, destroy old vehicles and use `spawn` to bring them back.
-
Version 0.9.4.0
- This update changes the mod into a BepInEx plugin.
-
Version 0.9.3.2
- This update fixes a bug that allows vehicles to rotate above the surface of the ocean.
-
Version 0.9.3.1
- This update fixes a bug that caused submarine headlights to be opaque.
-
Version 0.9.3
- This update adds compatibility for slot extender.
-
Version 0.9.2
- This is a large "aesthetic update" that adds a color picker and certain base-game models.
-
Version 0.9.1
- This update fixes the "infinite AI battery" glitch, and ensures good battery status on build and reload.
-
Version 0.9.0
- This update adds VR support.
-
Version 0.8.13
- This update adds engine sounds.
-
Version 0.8.12
- This update adds a new complete set of autopilot voice lines: Chels-E. It also adds a partial set of voice lines: Turtle.
-
Version 0.8.11
- adds encyclopedia entries for ModVehicles
- adjusts the power consumption of mod engines to make them more competitive with the base game vehicles.
-
Version 0.8.10
- This update fixes a critical bug that prevented building vehicles.
- It also adjusts damage values and improves the Mikjaw autopilot voice.
-
Version 0.8.9
- This update adds a fabricator option for ModVehicles.
-
Version 0.8.8
- Audio Update: Improved ShirubaFoxy voice; filtering when outside of a vehicle; voice pause on game pause
-
Version 0.8.7
- This update fixes a small bug and adds a new, high-quality autopilot voice option: ShirubaFoxy
-
Version 0.8.6
- This update ensures batteries are treated properly across save/load.
-
Version 0.8.5
- The AI Battery now has distinct hover-text from the Vehicle Batteries, and hover-text was made more consistent across the board.
- After dying, the player should respawn to the interior of their last-used ModVehicle, if one exists.
- When ModVehicles are destroyed, they will now drop 4 pieces of scrap metal.
- The rotational "whip speed" required to break a ModVehicle out of its auto-leveling procedure has been reduced from 30 to 10.
- The bite damage a Juvenile Ghost Leviathan inflicts on ModVehicles has been reduced from 150 to 100.
- The crush damage a ModVehicle receives (the damage it takes when it is too deep) has been increased. A ModVehicle can survive at most 3 minutes while continuously taking crush damage (unless it is repaired).
- Saving while piloting a ModVehicle is now prohibited. Previously, when a player saved the game while in the piloting chair, they were killed upon reload. This change ensures ModVehicles cannot kill players in unnatural ways.
-
Version 0.8.4
- This update puts ModVehicle upgrades at the root-level of the modification station.
-
Version 0.8.3
- This update greatly expands upon the autopilot dialogue.
-
Version 0.8.2
- This little update fixes some sneaky bugs.
-
Version 0.8.1
- This little update allows you to toggle debug logs, to avoid bloating your log file.
-
Version 0.8.0
- This update strengthens the library in general. Some fields were abstracted, potential bugs were fixed, a new engine was added.
-
Version 0.7.7
- This update allows the repair tool to function as expected.
-
Version 0.7.6
- This update ensures Warpers will not cause a catastrophic bug when they teleport the player.
-
Version 0.7.5
- This update ensures "attempts to dock" a ModVehicle will not crash the game.
-
Version 0.7.4
- This mod update ensures some compatibility with Tweaks and Fixes.
-
Version 0.7.3
- This mod updates the mod.json file so that the mod is enabled by default.
-
Version 0.7.2
- This update ensures compatibility with several other mods.
-
Version 0.7.1
- This update fixes bugs mostly related to the autopilot.
-
Version 0.7.0
- This is the initial VehicleFramework library.
-
- Donations
-
Straight donations accepted
Please support me by:
To learn more about using VF or developing with VF, check out the wiki!
Installation Guide (video)
How to use the Drone Station (video)
Vehicle Framework Vehicles:
Vehicle Framework Upgrade Modules (they also work for Seamoth/Prawn/Cyclops!)
Vehicle Framework also supports the following in-game upgrade modules:
Vehicle Framework is supported by, but doesn't require, some other mods:Vanilla Styled Icons Roll Control Free Look Attitude Indicator Here are all the others
Contributors
What is this library?
This library more-or-less completely automates the process of turning a model into a real, usable-vehicle.
If you are a user, I hope this means you will see many new vehicles in the future.
If you are a developer, look here to implement your own Vehicle Framework watercraft.
Is this compatible with previous saves?
Yes, you can add and remove this mod and its derivatives at will.
Does this work with Slot Extender?
Yes, it does. Here's how it works:
Is there a comprehensive feature list?
No, I'm afraid I don't have anything quite so formal right now.
Please rest assured that vehicles added in this way will mesh into the game in most of the normal ways.
They use the same batteries, have the same kinds of storage, take the same upgrades (to an extent), and cause angst in Crabsquids with their headlights just like the normal vehicles.
What significant features have not yet been implemented?
Console Commands:
Vehicle Framework introduces several console commands, which you can use by inputting them in the game's console. Normally, you can access the console by hitting Shift+Enter. Here's what they are and do:
I would like to read the source.
Credits:
- Subscribing to my YouTube channel
- Buying me a coffee
- Visiting my modding blog on Patreon
- Joining my Discord Server
- Browing my Linktree
To learn more about using VF or developing with VF, check out the wiki!
Installation Guide (video)
How to use the Drone Station (video)
Vehicle Framework Vehicles:
- The Atrama Submarine
- The Odyssey Submarine
- The Abyss Submarine
- The Mantis Class Submarine
- The Cricket Submersible
- The Wraith Submersible
- The Phantom Submarine
- The Renault 5 Submersible
- The Crush Drone
- The Beluga (Atlas) Submarine
- SMA-17 Numi Aircraft
- Blade Class Submarine
- Atlantic Explorer Submersible
- The Echelon Military Submersible
Vehicle Framework Upgrade Modules (they also work for Seamoth/Prawn/Cyclops!)
- Depth Modules (included)
- Stealth Module
- Impulse Speed Booster
- Ion Defense Capacitor
- Nano-Weave Barrier
- Sonar Module
- Solar Charging Module
- Crabsquid Protection
- Drone Range Upgrade
- Thermal Charger
- Drill Arm
- Scanner Arm
- Void Depth Upgrade
- Speed Module
- Flight Module
- Magnet Boots
Vehicle Framework also supports the following in-game upgrade modules:
- Hull Modules
- Storage Modules
- Engine Efficiency Modules
Vehicle Framework is supported by, but doesn't require, some other mods:
Contributors
- ShirubaFoxy (ShirubaFoxy autopilot voice, Engine sounds): https://soundcloud.com/shirubafoxy
- SineShine (Chels-E autopilot voice): https://sineshine.bandcamp.com/
- ShotgunTurtle816 (Turtle autopilot voice): https://soundcloud.com/shotgunturtle
- Airon (autopilot voice) http://aironaudio.weebly.com/
- EgeK: Turkish Localization
What is this library?
This library more-or-less completely automates the process of turning a model into a real, usable-vehicle.
If you are a user, I hope this means you will see many new vehicles in the future.
If you are a developer, look here to implement your own Vehicle Framework watercraft.
Is this compatible with previous saves?
Yes, you can add and remove this mod and its derivatives at will.
Does this work with Slot Extender?
Yes, it does. Here's how it works:
- Slot Extender and VF can be installed alongside each other
- Slot Extender will not add slots to VF vehicles
- Config Manager can be used to add slots to VF vehicles
Is there a comprehensive feature list?
No, I'm afraid I don't have anything quite so formal right now.
Please rest assured that vehicles added in this way will mesh into the game in most of the normal ways.
They use the same batteries, have the same kinds of storage, take the same upgrades (to an extent), and cause angst in Crabsquids with their headlights just like the normal vehicles.
What significant features have not yet been implemented?
A "seamoth class" of vehicles. These would not have a walkable interior, but you would enter directly to piloting.(January 2024)- An auto-pilot mode. The hard part is adding a new PDA page from which you can select a destination.
A full suite of autopilot voice lines(November 2021)Arm modules. Honestly I've not felt any need to implement this, but I would like VehicleFramework to include "walkers" in the future.- Positional Damage. I would like if certain modules could be taken offline by damage.
- Additional Pilot HUD. I had in mind to display information on
storageand individual batteries, as well as positional damage sustained. Don't simply disappear when destroyed.(November 2021)Crabsquid protection moduleBetter glass shading? Notice the Atrama glass canopy is opaque. This can probably be fixed by dividing the canopy into an "inside" and an "outside," each of which have only one normal.Dock Interaction? For a certain class of vehicles, maybe docking can be permitted in a Moonpool or Cyclops.Interaction with the "Vehicle Upgrade Console." It would be nice to be able to change colors and names on-the-fly.(October 2022)Internal Fabricator(s). (November 2021)Steering Wheel and Animations. The Seamoth steering column can probably be repurposed.Engine Sounds. (January 2022) Thank you, Shiruba.VR Support. (August 2022) I strongly recommend VR EnhancementsVehicles docking onto Vehicles.See the Beluga!External Cameras(June 2024)Interior Building(June 2024)
Console Commands:
Vehicle Framework introduces several console commands, which you can use by inputting them in the game's console. Normally, you can access the console by hitting Shift+Enter. Here's what they are and do:
- vfhelp: writes a PDA note to your screen with the names of all these console commands
- givevfupgrades: adds to your inventory every upgrade for VF vehicles
- givevfseamothupgrades: adds to your inventory every VF upgrade for the Seamoth
- givevfprawnupgrades: adds to your inventory every VF upgrade for the Prawn
- givevfcyclopsupgrades: adds to your inventory every VF upgrade for the Cyclops
- logvfupgrades: writes to your bepinex log all the VF upgrade mods you have installed
- logvfvehicles: writes to your BepInEx log all the vehicle mods you have installed
- logvfvoices: writes to your BepInEx log all the vehicle voices you have available
- vfspawncodes: writes a PDA note to your screen with all the vehicle/upgrade spawn codes (the spawn console command)
- undockclosest: attempts to forcibly undock the nearest vehicle from its docking bay
- vfdestroy [vehicle type]: attempts to forcibly delete the nearest vehicle you specify (eg "vfdestroy exosuit" or "vfdestroy odyssey")
I would like to read the source.
Credits: