- The modular firearms have had a number of tweaks and changes that any custom guns will need updating to reflect:
- Recoil, shooters, aimers and explosions have changed. Refer to the documentation and look at the demo weapons for details.
- Custom swappable inventory weapons will need their categories resetting.
- Custom explosive grenades and projectiles will need to be switched to the new explosion system.
- Firearms handling has been replaced with recoil handler modules. You will need to add a SpringRecoilHandler behaviour to any custom firearms (you can do this from the ModularFirearm component’s inspector).
- All firearm aimer modules have been switched to vector offsets instead of transform proxies. You can drag the original transform proxy onto the “From Transform” property on the inspector to generate offset values from that.
- The inventory and character HUD items now require an IPlayerCharacterWatcher based component in their parent heirarchy such as the SoloPlayerCharacterEventWatcher behaviour. You can add this to the “HUD” gameobject on the canvas, or if you are using the NeoFPS HUD setups as is, you can find a new “HUD” prefab in the same folder as the individual hud element prefabs.
- All firearm scripts have now been moved into the NeoFPS.ModularFirearms namespace. If you have any scripts that reference these, they will need updating.
- The FpsSoloCharacter no longer handles health management internally. You will need to add a BasicHealthManager behaviour to any custom characters.
Latest - v1.0.06 (22nd Oct 2019)
- New NeoCharacterController demo scene with arbitrary up-vector demo
- Script errors in FpsGamepadSettings.cs due to refactoring not picked up with platform dependent compilation
- FoV issues on ultra-widescreen monitors and when resizing window
- Fixed HUD elements not unsubscribing from events properly on destroy
- Tweaked pistol recoil
- Added optional parameter to disable ground snapping when adding a force to the NeoCharacterController
- New explosion system that uses pooled particle effect objects and a simple PooledExplosion behaviour.
- Added example explosion prefabs.
- New multi-object and particle muzzle flash firearm modules.
- Split ballistic shooter into new simple ballistic shooter that ignores accuracy and camera aim.
- Added explosive barrels (red in demo scenes).
- Fixed issues with generated constants editor not refreshing valid state when name clashes are fixed.
- Set proper layers for AI seeker targets on inventory demo characters.
- Set correct audio sources for inventory demo characters.
- Firearm drops now correctly set ammo even without a FirearmAmmoDrop attached.
- Fixed “Apply Manually” errors in settings wizard (2018.3+).
- The ballistic shooter now correctly handles accuracy based on the spread property.
- All shooters now have options to use the camera aim or gun forward for both hip fire and aimed fire.
- New accuracy caps in aimer modules allow maximum accuracy (0-1) to be set for aimed and hip fire.
- Added layers property to CharacterInteractionHandler to choose layers it interacts with.
- Added multiple inventory types to firearm editor quick-setup.
- Added aim transform property to camera so effects can be layered on top.
- Switched swappable inventories to use new FpsSwappableCategory for neater editor and easier expansion.
- Renamed inventory keys to better describe items.
- Reorganised inventory editors to make more readable.
- The spring recoil module can now bypass spring multipliers for more intuitive settings.
- Added RaycastHit versions of AddDamage on damage handlers for more complex use cases.
- Renamed spring multipliers on aimers.
- Added events to AI Seekers for state changes.
- Thrown grenades now use new explosion system.
- Demo grenade launcher now uses new explosion system.
- Spring recoil handler can now bypass the spring multipliers.
- Added base accuracy level for hip firing and aimed.
- Tweaked demo firearms (recoil, shooters and aimers) for better handling.
- Added new IRecoilHandler modules to modular firearms
- Added health pickups
- Added new BaseCharacter and BaseController behaviours and switched singleplayer versions to use these
- Added new player character and inventory watchers and switched hud elements to use these
- Added C# events to motion graph parameters
- Hitscan and spread shooter were dealing damage twice when set to use camera forward vector
- Set HUD inventories to auto-populate slot property in OnValidate and added start errors if not found
- Enabled collisions between default layer and rough envirnoment geo
- Fixed WebGL build issue with input bindings
- Fixed motion graph connectable build error outside editor
- Hitscan and spread shooters now use correct camera transform for aim (not spring parent)
- Fixed divide by zero in AdditiveKicker if starting play mode from paused
- Fixed start-order bug with character disabling on spawn
- Prevented reload continuing after weapon switch
- Fixed aimers being blocked if aiming during reload, but switching weapons before done
- Fixed hold to aim not working
- Fixed key rebinding not detecting some clashes
- Fixed startup scripts not triggering properly in 2017.4
- Added delay between startup checks to prevent overlap on 2019.2+
- Moved firearm handling out of modular firearm and into new IRecoilHandler modules
- Moved firearm scripts into NeoFPS.ModularFirearm namespace
- Added firearm module error reporting in ModularFirearm inspector
- Added collision mask option to firearm shooters with that defaults to bullet blockers
- Switched firearm aimer modules to use vectors instead of proxy transforms (can set from a transform)
- Switched HUD elements to use new base classes and be more “multiplayer friendly”
- Removed static onLocalPlayerInventoryChanged event from inventory base and used character change instead
- Switched canvas HUD in demo scenes to use root prefab instead of individual element prefabs
- Reorganised weapon drop heirarchies to be more intuitive
- Replaced crosshair and switched default colour
- New motion graph editor UI elements
- Added new infinite ammo firearm module
- Added particle system firearm ammo effect
- Modular firearm behaviour inspector now has troubleshooting and “add modules” features
- New ChamberedReloader firearm module that uses different reload (anim & duration) when empty
- New integrations available (https://neofps.com/integrations)
- Emerald AI
- Inventory Pro (in progress)
- New TransformMatcher additive transform for matching animated camera moves
- Enabled inventory HUD in DemoFacility scene
- Fixed missing explosion sound effects
- Fixed shadow casting on first person weapons and arms
- Set default values for all variables to prevent import warnings in 2018.3+
- Fixed turret damage, sight checks and rate of fire
- Fixed hard-coded root asset path for auto build settings and startup checks
- Added bullet trail cleaner that resets trail renderer on pooled projectiles
- Fixed key bindings index out of range when changing button count after saving settings
- Fixed occasional start order blocking character input activation bug
- Fixed hard coded animator key for burst trigger hold
- Fixed automatic trigger getting stuck in fire mode on quick switch
- Fixed enabling character object or weapon while menu up bypassing the menu input block
- Major rework of motion graph editor to make more reactive and respond to undo/redo better
- Graph elements are now edited through the standard Unity inspector
- Added copy/paste to graph viewport
- Added “Move to Sub-Graph” to graph viewport
- Replaced MotionData asset with data entries on motion graph and new MotionGraphDataOverride asset
- Simplified API for creating new graph elements (states, conditions and behaviours)
- Lowered minimum supported version to 2017.4 (long term support)
- Split health manager out from solo character to allow swapping (Inventory Pro integration)
- Added support for multiple box colliders (eg door and handle) to interactive object corner highlights
- Tweaked layer, tag, and physics settings for Emerald AI integration
- Tweaked FpsInputButton generated constant for Inventory Pro integration and future work
- Added inactive “security” layer to demo facility with turrets and cameras
- Added animator key parameter drawer to check keys exist in animator while inspecting behaviours
- Added PlatformDependentObject to allow disabling objects based on platform (used for WebGL and console menus)
- Disabled exit and graphics options on WebGL
- Disabled exit, graphics and key bindings for console
- Fixed build errors due to OnValidate on ladder motion graph states
- Fixed obsolete GetPrefabObject warning on 2018.3
- Fixed wrong type of hand grenades in inventory demo ammo crates
- Fixed dropping excess swappable grenades from crates on floor
- Tweaked light settings for facility and rebuilt lightmaps
- Switched menu and back key to Tab for WebGL since Escape is reserved
- Added minimal character setup with only movement and aim features
- Fixed script compile errors for non-standalone builds
- Fixed shotgun reload interrupt blocking input
- Prevented welcome popup appearing on run when “Show on start” set
- Improved startup order on first import
- Fixed console errors when deleting a graph connection while inspecting
- Prevented clicking off “Add Entry” dropdown in MotionControllerData inspector causing an error
- Temporarily removed copy/paste and move to subgraph features of motion graph editor pending re-engineering
- Improved ladder aim handling and removed incorrect up-down movement for “AimerHeading” setting on contact ladders
- Can now change interactive ladder aim constraints while in play mode
- Motion graph editor now correctly handles exiting play mode while editing runtime graph instance
- Tweaked timings and recoil on weapons
- Fixed execution order issue with NeoCharacterController height
The initial release on NeoFPS on the asset store