Vanguard - Framework API

Vanguard Framework is a Lua API and toolset for Solarpunk (UE5). It provides a robust framework for mod developers and a full suite of console commands to control player stats, inventory, weather, time, and the airship in real-time.

File Details

VanguardFramework-1.1.1-CF.zip

  • R
  • Jun 18, 2026
  • 101.06 KB
  • 50
  • 1.0.0

File Name

VanguardFramework-1.1.1-CF.zip

Supported Versions

  • 1.0.0

Changelog

All notable changes to this project will be documented in this file.

[1.1.1] - 2026-06-18

Fixed

  • [curseforge]Fixed the framework failing to start entirely (Failed to execute main script: main.lua) when a drill Blueprint was not yet linked at startup. devices.lua registered a RegisterPostHook on BP_OreDrill_Placeable_C:StartLootGenerateTimer at load time; when the UFunction's Func pointer was still 0x0 (BP not fully loaded), RegisterHook threw, and because the call was outside pcall the error propagated and aborted the whole script. The framework appeared dead while ConsoleEnablerMod (a separate mod, F10 console) kept working, which made it look launcher-specific (CurseForge) when it was really BP load timing. UE4SS itself was injecting fine via the dwmapi.dll proxy.
  • Fixed the drill mining-rate knob (vf device drill rate <x1-x10>) having no effect on drills already placed in the world. The acceleration post-hook was only ever registered from the drill's ReceiveBeginPlay, which never fires again for drills that began play before the mod loaded, so re-triggering their timers had nothing to intercept (command printed Reiniciados N timers but never Broca acelerada!). The hook now also registers on-demand (lazily and idempotently) inside updateActiveDrillTimers() before the FindAllOf re-trigger, so pre-existing drills are covered. setupHooks now only waits on _BP_Placeable_MASTER_C (not the drill BP) so the master begin-play hook isn't delayed.
  • Fixed an FPS regression on large/established bases. UEHelpers.GetPlayerController()/GetPlayer() run an uncached FindAllOf("PlayerController") (a full GUObjectArray scan) on every call — unlike GetEngine/GetGameInstance in the same file, which are cached. The BP_MainPlayerController_C:ReceiveTick hook calls them every frame (via VF.Player.Tick, unconditionally), so the scan cost scaled with the number of world objects and tanked the framerate for players with big bases (matching the "only some players" reports). The player controller is now cached and only re-scanned when the reference becomes invalid (respawn / level change).
    • Framework-side override of UEHelpers.GetPlayerController in main.lua (immediately after require("UEHelpers")), so GetPlayer/GetWorld inherit the cache automatically. Applied within the Framework's own Lua state: the shared/UEHelpers file is left untouched (nothing extra to ship, no conflict with other mods, survives UE4SS updates).
    • Complementary pawn/controller cache in VF.Player.GetCharacter/GetController (player.lua), each guarded by :IsValid().

[1.1.0] - 2026-06-16

Fixed

  • Fixed cross-mod autodiscovery not working on Game Pass / Microsoft Store builds. The platform folder under Binaries/ is WinGDK on Game Pass and Win64 on Steam; the discovery code previously hardcoded Win64, causing modsDir to be nil on Game Pass and silently falling back to the static integration list (VanguardGameplay only). Now iterates the children of Binaries and picks the first folder that contains ue4ss/Mods, covering both builds transparently.

Added

Shortcuts

  • Added keyboard shortcut system (shortcuts.lua) with 25 keybinds across 4 independent groups: Cheats, Airship, Teleport, World.
  • Groups are toggled via vf shortcuts all|cheats|airship|teleport|world enable|disable and persisted in config.ini.
  • All keybinds are registered at startup; groups are checked at runtime in each callback to work around the UE4SS limitation of not supporting keybind unregistration.

Cross-mod integration

  • Added autodiscovery: Framework scans all folders under ue4ss/Mods/ and automatically loads Scripts/vanguard_api.lua from any mod that exposes it, passing VF as a vararg. Results are stored in VF.Integrations[modName].
  • VanguardGameplay is the first mod integrated via this pattern (vf gameplay vanilla|default|enhanced|cheats|status).
  • Removed the defunct shared/VanguardFramework.lua bridge and _G.VanguardFramework — both are ineffective in UE4SS due to per-mod Lua state isolation.

Devices

  • Added vf device buildanywhere toggle command to remove proximity restrictions on world placeables (beehives, animal shelters, pig pens, chicken coops, sheep shelters, food/water troughs, windmills, sky turbines, and decorative mills). State is persisted in config.ini (BuildAnywhere) and auto-applied on WorldReady so the setting survives hot-reloads and game restarts.
  • Added sprinkler watering radius modifications (vf device sprinkler radius <n|default> and vf device sprinkler status) supporting both wired and wireless sprinklers, with automatic detection and restoration of default radius from the CDO.
  • Added battery capacity and transfer rate customization (vf device battery [capacity <n|default> | output <n|default> | fill | status]) to dynamically scale energy storage/output, and a console cheat to instantly charge all active batteries.
  • Added generator burn time cap and energy output customization (vf device generator [maxtime <n|default> | output <n|default> | fill | status]) with a post-hook on fuel addition to clamp active timers, and live UI text formatting overrides (for both M:SS and H:MM:SS display).
  • Added solar panel efficiency scaling (vf device solar [efficiency <factor|default> | status]) which scales environmental power output while preserving climate/time curves, with a command to force active panels to recalculate.
  • Added windmill efficiency multipliers for all three wind-driven producers: windmills (vf device windmill efficiency <factor|default>), wooden turbines (vf device mill efficiency <factor|default>), and sky turbines (vf device skyturbine efficiency <factor|default>), scaling wind power output while preserving wind intensity curves.
  • Added Electric Furnace (BP_EnergyFurnace_Placeable_C) controls for smelting speed (vf device electricfurnace speed <factor|default>) and energy efficiency (vf device electricfurnace efficiency <factor|default>), including live UI bar synchronization and energy network hook reassertion overrides.
  • Added Fuel Furnace (BP_Furnace_Placeable_C) controls for smelting speed (vf device fuelfurnace speed <factor|default>) and fuel efficiency (vf device fuelfurnace efficiency <factor|default>), keeping fuel consumption per item constant relative to speed.
  • Added Transport Drone (BP_TransportDrone_Buildable_C) energy efficiency multiplier (vf device drone efficiency <factor|default>) to scale active flight and idle docking power draw.
  • Added global reset command vf device reset to clear all custom device configuration keys and instantly restore game default properties on all active structures in the world.

[1.0.3] - 2026-06-13

Fixed

  • Fixed freecraft command to work with craft, research and trader.

Added

Inventory

  • Added chest dynamic inventory expansion (supporting up to +4 rows or +24 slots added to the default base of 12 for a maximum of 36 slots / 6 rows total) via console commands (vf inv chest addRow/addSlots/reset), dynamically injecting custom slot widgets at runtime inside the UMG UniformGridPanel.

Machines:

  • Added new device console command group (vf device drill [consumption <n|default>|rate <x1-x10|default>|status|dump]) to modify world placeable structures. For now, only Ore Drills are controllable.
  • Added debug utility command vf device drill dump to output property and function information of classes in game memory.

Tools

  • Added tool durability multiplier command (vf tool durability <x1-x10|infinite>) and a persistent general config ToolDurabilityMultiplier to scale the durability of all tools (lasting 1x to 10x longer, or infinite).
  • Implemented a post-hook on BPL_AttributeFunctions_C:DecreaseDurability to dynamically intercept tool wear. Durability data is parsed and modified directly from/to the JSON struct field (AdditionalSavedata) in Lua, ensuring a robust, reflection-safe implementation.
  • Implemented a probabilistic wear distribution for fractional multipliers (e.g. x10 or 0.1 wear rate will correctly scale wear over multiple swings instead of rounding down to 0 or up to 1).

Player

  • Implemented character walk and run speed modifications via a persistent SpeedMultiplier in the tick function. The speed modifier is dynamically scaled and kept in sync during native sprint transitions (starting or stopping run) to prevent losing the custom speed settings.
  • Added a safety limit of minimum 1.0 speed to prevent character movement lockups, along with quick reset commands (vf player speed reset and vf player speed default).

[1.0.2] - 2026-06-12

Fixed

  • Fixed the airship repair command and cheat visuals (smoke particle emissions and cockpit hazard warnings are now properly cleared when repaired).
  • Fixed stack size limits for items with case-sensitive database keys (e.g. log vs Log) or formatting mismatches (e.g. Seed_Carrot vs SeedCarrot). All items (including wood planks) now correctly scale up to the configured limit.
  • Made inventory console commands (vf inv count and vf inv set) case-insensitive for raw blueprint class names (e.g., bp_log_item_c).
  • Blocked the game pause hooks from triggering during co-op/multiplayer sessions to prevent freezing other players.

Added

  • Added automatic singleplayer game pausing when pressing the ESC key (opening the escape menu), which automatically resumes the game when the menu is closed.
  • Added persistent player home teleport coordinates (slots 1-9 and default), automatically saved/loaded via config.ini so teleports survive game restarts and hot-reloads.
  • Added a new multiplayer module and command group (vf multiplayer list | tp <name> | pull <name>) to support player listing, location tracking, and co-op teleports.
  • Exposed the multiplayer module via the Vanguard API bridge (_bridge.Multiplayer) for future external companion features.
  • Added an EnableStackOverride parameter in config.ini (default true) to allow players to disable Vanguard's automatic stack adjustments in case of conflicts with .pak mods.

[1.0.1] - 2026-06-11

Fixed

  • Fixed an issue where increasing stack sizes would break the game's planting (seeds/saplings) and wiring (cables) mechanics.

Added

  • Added a configurable blacklist feature to exclude specific items from stack size modifications.
  • Added default blacklist patterns in config.ini (BlacklistPatterns=seed,sapling,cable) to protect seeds, saplings, and cables by default.
  • Added automatic fallback to the default blacklist patterns in the configuration loader if the key is missing.