Realistic Worker Costs for Farming Simulator 25
Hiring a worker is no longer free. Every hired worker now draws an ongoing wage, so labour becomes a real line in your budget. Pay by the hour or by the hectare, watch skilled workers cost more, and keep an eye on fatigue, because a tired crew works slower. Suddenly how you manage your staff actually matters.
✨ Features
- Ongoing Worker Wages
- Hourly or Per-Hectare Pay
- Three Wage Levels + Custom Rate
- Skill-Based Pricing
- Worker Roster & Levels
- Worker Fatigue
- Daily Hiring Hall
- Multiplayer & Console Commands
🎮 Controls
- Open the Worker Roster: Left Alt + H
- Wage settings live in the game's Settings menu (admin-controlled in multiplayer)
Note that wages are deducted automatically as your workers run, and the mod is safe to add to or remove from an existing save at any time!
===================================================================
GitHub Repository:
https://github.com/Realistic-Farming/FS25_WorkerCosts
===================================================================
COPYRIGHT NOTICE:
All rights reserved. Unauthorized redistribution, copying,
modification, or claiming this mod as your own is strictly prohibited.
Original Author: TisonK
===================================================================
New
- Legendary worker tier. A fourth worker skill tier above Master, unlocked at Pro-Staff Level 16, with its own wage, hire, and severance values.
- Rebuilt About tab. The in-game About page now has readable Core, Formulas, and Pro-Staff sections, with a two-column Pro-Staff layout.
- Realistic Farming ecosystem integration. Worker Costs now saves its roster and hiring-hall state through the shared save system, reports the roster panel to the unified on-screen display, syncs across multiplayer through the shared network layer, and its settings appear in the Farm Tablet's System Settings app.
Fixed
- Legendary workers are no longer shown a fatigue surcharge they do not actually pay. The roster cost estimate now matches the real wage charge, where both Master and Legendary workers are fatigue exempt.
- Wages are now billed once per in-game day instead of on a real-time timer, so a high time scale or fast-forward no longer overcharges you.
- Multiplayer: wage billing now runs only on the host, and spectator or invalid farm slots are no longer charged.
Note
- Every ecosystem hook is optional. With none of the other Realistic Farming mods installed, Worker Costs works exactly as before.
BIG UPDATE
PLEASE READ THE CHANGELOG ENTIRLY
The Pro-Staff update is here!! Your helpers are now a real team you build up over time instead of a pile of interchangeable workers. Back up your save first, just to be safe.
[ Hiring Hall ]
- Daily hiring limit of 5 a day, resets each morning and sticks across save/reload. The panel shows how many you have used.
- Trusted employees pin to the top with a star. Saves, and shows for everyone in multiplayer.
- Earn your Masters through experience on the job. They are no longer offered for hire; Experienced workers start appearing once your crew has put in hours.
- Timed rotation - the hall now refreshes once per day instead of refilling on demand, and the pool survives a save/reload so it is not a free re-roll.
[ Worker Dossier ]
The Pro-Staff panel (ALT H) is now a master-detail dossier: click a worker for their skill and fatigue gauges, lifetime hours and jobs, a recent job history, and their base to effective wage. Hire, fire with severance, assign to a vehicle, and mark trusted, all from one place.
[ Under the hood ]
- Multiplayer - roster, lifecycle and job history sync to clients from the host.
- Job continuity - a worker re-binds to their vehicle when a job resumes after a reload, instead of a duplicate being hired.
- Farm Tablet - the panel steps aside when the tablet is open, so two overlays never fight.
- UI fixes - dashboard wording matches the wage tab (Payment Strategy / Compensation Tier), the duplicate Effective Rate header is gone, and the tier unit now follows the chosen strategy
[ Notes ]
Old saves load fine. Console: type workerCosts. Open the panel with ALT H. Big thanks to Arissani for the ideas behind this one. Shout if anything looks off.
- Your Payment Strategy and Compensation Tier settings now stick after a save and reload. They were resetting to defaults because the mod read its settings too early, before the savegame was ready.
- Renamed Cost Mode to Payment Strategy and Wage Level to Compensation Tier in the Wage Settings tab.
- Removed the duplicate row labels under each section header so the tab reads cleaner.
- textWrap is not a real FS25 TextElement attribute; engine default textMaxNumLines=1 truncated every WC_BodyText with '...'. Set explicit textMaxNumLines on all 7 usages (menu page, about x2, dashboard, worker stats, salary dialog, wage settings help)
- Est. Cost now shows in per-hectare mode: rate x hectares accrued this interval via new WorkerSystem:getEstimatedIntervalCost(); also used on worker stats page for total/per-worker/breakdown costs
- Dashboard worker list shows 'Helper (Vehicle Name)'
- l10n: payment interval is 30 min since the #38 fix, not 5; updated all 20 stale strings and dropped a redundant help sentence
- Payment interval changed from 5 → 30 real-world minutes; job-completion notification shows total cost charged when a worker is dismissed
- About page: version number now displays correctly; panel height expanded to prevent text cutoff
- Renamed "Worker Breakdown" section to "Labor Cost Breakdown"
- Renamed "Help" tab to "Cost Structure"; fixed toggle row overlap and text overflow in settings
- Fixed: NPC neighbor workers (e.g. from FS25 Working Neighbor On Field) were incorrectly being billed to your farm. Worker cost tracking now checks farm ownership so only your hired workers count.
- New: Full Danish translation added (63 strings). Thanks to DJWestDK!
- Added mission.workerCostsManager cross-mod bridge for FarmTablet
- Fixed aiSystem:getActiveJobs() + dynamic currency symbol
- Fixed MoneyType and active job detection for helper wage suppression
- Fixed Monthly salary dialog, localization, packaging, tab icon
- Fixed Ultrawide layout, balance box anchoring, checkbox crash
- Fixed FS25 textured icon; DXT1 compression
- Bumped version to 1.0.9.0
Small but important patch addressing two UI bugs that some players were running into.
What's fixed:
- Fixed a crash that could occur when interacting with checkboxes in the settings menu
- Fixed the settings panel layout on ultrawide monitors — the balance box was overflowing off-screen
Saves: no changes needed.
Full changelog -> https://github.com/TheCodingDad-TisonK/FS25_WorkerCosts/releases/tag/v1.0.7.0
[Fixed]
* Built-in helper wages (25§/interval) are now correctly suppressed. The hook was intercepting MoneyType.WORKER_WAGES which does not exist in FS25 — the game's AIJob:updateCost() actually uses MoneyType.AI. Workers were being double-charged as a result.
* Pause menu dashboard and worker list now populate correctly. getActiveWorkers() was using non-existent fields (job.isActive, job.vehicle) and iterating activeJobs with pairs() instead of ipairs(). Rewritten to use the correct FS25 API: job.isRunning, job.vehicleParameter:getVehicle(), and job:getHelperName().
* WorkerCostsEnable now correctly re-installs the suppression hook if it was lost mid-session.
[Added]
* WorkerCostsDebug true|false console command — toggle debug logging to log.txt at runtime.
* WorkerCostsDiagnostic console command — prints a full status report including hook state, MoneyType values, active workers, and GUI state. Useful for troubleshooting.
- Added monthly salary for workers that have worked for you
- Complete polish over codebase, wired code together and solved edge cases
- Fixed missing l10n string wc_monthly_salary_short thas was missing for the settings page
- Bumped version to 1.0.3.0
Thanks to @Mihai457 for commenting this as a suggestion
- Added 4 new tab pages
- A compete new landing page redesign (inside the pause menu we have our own page)
Know issues:
- Checkbox not fully implemented (Enable Mod, Notifications, and DEBUG Mode checkbox labels)
- Sync between workers and dashboard might not fully work
These issues will be patched in the next update!
- Added a moneyType == MoneyType.WORKER_WAGES guard*
*The hook now only suppresses the game's own worker-wage deductions. All other costs pass through normally.
- Added local function getTextSafe back to WorkerSettingsUI.lua (above the class definition), so inject() has its resolver in scope and can complete cleanly
- 10 bugs fixed
- Removed dead code
- Polish for entire codebase
- Removed duplicate skill multiplier causing 25% cost overcharge
- Fixed missing Logger.lua preventing mod initialization
- Fixed missing UIHelper.lua preventing UI rendering
- Added comprehensive README.md with setup guide
- Added logger.lua singleton implementation
- Added UIHelper.lua with UI creation utilities
- Real-time worker detection using game's AI system
- Periodic payment processing (every 5 in-game minutes)
- Comprehensive debug logging for troubleshooting
- Better error handling and validation
- Enhanced documentation and installation guide
- Fixed the download link and updated the version.
I accidentally uploaded an update I thought was for the Soil Mod, but after submitting it I realized it was actually the Worker Cost mod. Since submissions can’t be undone or deleted, I had no choice but to wait until I got home to upload the correct version.
Sorry about the confusion, and thanks for your patience!
Changelog:
- Fixed `SoilFieldInfo` command now properly initializes and returns field data
- Improved daily soil updates with weather/season effects
- Fixed small bug in settings UI
Not working:
- Visual soil indicators on map (no color changes yet)
- Crop yield effects (doesn't change harvest amounts)
- Fertilizer cost adjustments (setting exists but not implemented)
- Equipment wear/tear from soil conditions
- Soil texture/sand/clay effects
Planned:
- Crop rotation bonuses - doesn't give yield bonuses for good rotations
- Cover crop effects - doesn't recognize cover crops
- Soil compaction - from heavy equipment
- Irrigation effects - on nutrient availability
- Fixed UI/GUI issues
- Improved compatibility*
*Mod should work fine with my other mods, changed some GUI/UI stuff and now it works fine again!