UFPS : Ultimate FPS [ 50% OFF SALE ]

Boost your game with the ultra smooth motion seen in today's top FPS games. Ultimate FPS is an awesome script pack for achieving that special 'AAA FPS' feeling. A fantastic way to enhance your FPS - or get you started on a new one!

50% OFF SALE
(Regular Price: $95)

​

Ultimate FPS is the premier first person framework for Unity, featuring procedural motion of first person controllers, cameras and weapons. It generates super smooth and natural animations in realtime based on player input and external physics forces.

Thousands of hours of work has gone into the design, programming and testing of the system, and hundreds of parameters can be used to manipulate the camera and weapon model, allowing for a vast range of complex, realtime-generated behaviors. Tweaking is fun and often yields cool and unexpected results.

Ultimate FPS can be used as a cornerstone for a new FPS, but great effort has also been put into keeping it modular, so you should be able to pick it apart and use bits and pieces of it in your existing systems.

Attached Files:

What a spectacular demo and excellent asset - best luck on this one Cal I think you're going to do great! Makes me wish i'd gone the FPS route instead of TPS! Only thing i'd say to add here would be support for weapon kick when firing (maybe i missed that through, just about everything else seems to be there). Great work!

I like it, it defeats the purpose without being able to shoot, often people check whether you can shoot in the air, whether shooting while landing affects shake, or accuracy, i mean its all 1 system, and if your system doesnt support the movement (effects u made, such as earthquake, or landing) affecting the accuracy, then it defeats the purpose of your product, because the other systems do support accuracy being adjusted by moving, and shaking, and effects.

i like what you have, its credit to your talent, but its more of in a state where we , "donate now" to get you to "finish" it into a "usable in real FPS productions" state, type of thing.

I'd pay good money if everything worked right, but at this stage, i couldnt even download it for free. Im sure this is like 1 week away for you, and it'll be an elite product in a week, but let us know in a week when that functionality is in there.

This is so amazing that it just made me countiniue working on game. Properly set camera is 90% of FPS game, with bad camera and weapon placement you can totaly screw up FPS game, what you did there is great, all camera styles seem to have very nicely placed weapons. I will probably purchase it but as it was mentioned above it would be nice to have jumping and all those effects included by default so that they affect shooting or targeting.

I am using the provided prefab with the basic script attached. The trouble is when I move down hill at almost any grade it seems to want to show the action as if I'm falling. Any other direction seems to work the way it should, just forward down a hill. I have also tested your online demo and it seems i get the same results there as well. Almost as if the Air speed is pulling it straight outward while the gravity pulls it back down. I have not RTM yet but if it shows in your demo I think its a bug because on the unity terrain it looks really bad.

Edit: (Also just noticed that real time shadows shutter big time when zoomed using right mouse button. Also when the camera is slowly moving back into place after movement. it looks like z-fighting on distant objects with shadows I can understand if its a by product of your procedural camera movement but if it can adjusted so that ugliness is down to a few frames so its less noticeable)

While I have your attention I have some ideas for you to kick around.

A setting to walk up steep terrain grades, or to lower the grade allowed

Again didn't RTM, but from playing around with the settings I think each primary action Acceleration, Jump Force, Air Speed, ect... should have its own Damping. Example: I wanted someone to get a one time super jump ability but the Jump Force modifier does not provide adequate height then I would adjust the damping. Problem is now my Acceleration is off and now I need to again find the sweet spot so the forward walking does not feel different.

Maybe for some future features you can add wall walking as in magnet boots or Spiderman type abilities, a cover system for looking around corners or over barriers or even in cover firing wildly, A full motion system that allows BF3 like hand assisted jumping over barriers or Splinter Cell like wall edge grabbing pulling your self up.

Thanks for all your feedback!
• I completely understand your issue with the controller going into 'fall' mode when you move down slopes. This is something I'll definitely look into for one of the upcoming updates.>> EDIT: Slope anti-bump offset added in v1.11 <<
• I wasn't aware of the realtime shadow issue. I'll do some research into that.
• Regarding terrain steepness, this can be set on the unity CharacterController component that is used by the FPSPlayer. The parameters that may interest you are "Slope Limit" and "Step Offset". See description here: http://unity3d.com/support/documentation/Components/class-CharacterController.html

I have a couple of questions. My first question I think was answered right above. It has to do with sliding down steep terrain, etc.. sounds like this is supported by a mix of your FPSPlayer and the CharacterController, correct?

Click to expand...

Hi. Not really. The first issue in "GoMakeWorlds" post above involves the character controller going into "fall" mode when walking down a slope. This is a bug and will be fixed in a couple of versions from now. One of the other things he asked about was whether it is possible to _block_ a player from moving up a certain degree slope. This is natively supported in the Unity CharacterController component upon which my FPSController is based. If I get you right, what you suggest is adding a feature allowing the CharacterController to slide down slopes. This is quite a cool idea actually and I'll add it to the TODO list

My second question is, does this work with duel weapons of say a sword and torch - what I mean by "works with" is will they both sway if say straffing, or is this only supported on the right hand?

Click to expand...

This is not currently supported, but as it happens I've been preparing support for multiple weapons/tools (i.e. akimbo modes). It won't be in the next update but probably soon thereafter.

The next update will focus entirely on two things: 1) a better object oriented component structure, and 2) the introduction of a "shooter" component with quite advanced recoil / weapon knockback support.

imtrobin, the camera system has been made solely with 1st person in mind. Some features will work fine in any perspective but I'm sure it would take quite a few changes to the C# source code to go all the way so I wouldn't recommend it.

Cal, I ran into another problem. I was using Unity water4 Prefab on a project. If the FPS camera frustum is with in the plane everything is fine as soon as i turn to look away the FPS camera stops working and the gun camera continues to work making that image trailing from the depth only. When I look back at the plane everything works fine again.

Unity water4 uses two cameras to project the sky onto the water so I imagine this has something to do with it. I tried to change the depth so that each camera was different but did not seem to work.

It doesn't really matter if I can make this water effect work or not but I imagine some people will have other effects that use render to texture that may cause some problems.

Spectacular demo. Bravo!
Just got a little suggestion, maybe show the shooting animation (with proper muzzle flash and shell/bullet casing ejection) would really make this demo even more spectacular. Maybe also add decal as bonus.
Its definitely on my watch out list!

@GoMakeWorlds: Interesting info on the water. It is probably an issue with camera layers. The layers can be changed in FPSCamera.cs (you can search for "BodyLayer" and "WeaponLayer" and change the integers). I'll add this to the buglist and take a look at the water4 prefab at some point. Thanks again, you are my most avid tester

Version 1.1 of Ultimate FPS Camera has now been approved and is available on Asset Store. Most of the work has gone into overhauling the gameobject / component structure (to pave the way for more advanced and flexible weapon features in upcoming releases). But it also includes a new recoil system and fire sounds.

>> Also, the price has been reduced from $75 to $50, atleast for the time being. <<

If you're an existing user you will have to manually update your camera presets from version 1.0. See the full RELEASE NOTES for a walkthrough on how to do this.

New Features
• New component: FPSShooter - with an advanced recoil functionality. Lots of parameters to tweak for making your weapon kick like a mule or twist in any direction when fired.
• Timer class, a small but very powerful and easy to use timer system for scheduling all sorts of client side game events.
• 6 high quality sound effects: Earthquake, Explosion, Machinegun, Pistol, Revolver and Stomp.
• Better transitions between weapons in the demo.

Good work, just one critic...in shooter when you click with right mouse button, there is too much zoom, this isnt exactly realistic and it doesnt make sense. Basically with right clicking it should place weapon in middle of screen so that player can look trough weapons aim marking, instead of just zooming camera too much.

The zoom level is fully tweakable and entirely up to your game code. You may zoom on any button and as much or as little as you like. You can also zoom the camera and weapon independently. Moving the weapon closer to the viewpoint when zooming (i.e. looking through the sniper scope) could be done with relative ease. As an example, note that when you crouch in the demo the weapon is lowered. This is done by activating a "crouch" preset with a different weapon position and rotation when the user presses "C". The system allows you to do a whole bunch of things with a little scripting creativity.

Hey. It turns out you have a class named EditorGUIUtility, which is one of Unity's built in classes. This is a huge programming no-no, as it makes Ultimate FPS Camera incompatible with ANY other asset that tries to use unity's built-in GUI code.

The zoom level is fully tweakable and entirely up to your game code. You may zoom on any button and as much or as little as you like. You can also zoom the camera and weapon independently. Moving the weapon closer to the viewpoint when zooming (i.e. looking through the sniper scope) could be done with relative ease. As an example, note that when you crouch in the demo the weapon is lowered. This is done by activating a "crouch" preset with a different weapon position and rotation when the user presses "C". The system allows you to do a whole bunch of things with a little scripting creativity.

Cheers

/Cal

Click to expand...

Oh thats great to hear, i jumped on critic too fast. I actually thought you are doing it that way.

Note that EditorGUIUtility.cs will need to be renamed to VisionPunkEditorUtility or whatever else you replace the string with. Be careful NOT to replace the string EditorGUIUtility in an unrelated file from another author-- these probably reference the default EditorGUIUtility class that is part of Unity.

Also, there are inconsistent line endings in Assets/UltimateFPSCamera/Perlin.cs I opened the file in Unitron and clicked Text > Line Endings > Mac(CR).

Please patch this soon so your product plays nicely with others!

(Why'd I spell out every step? So other noobs like me can patch it ourselves in the meantime! )

The lazy way is to just prefix everything with VisionPunk. Nobody else is gonna create a class named that! Unless, like, it was a game about a gang of street toughs coping with various stages of sight disorders... hmm...

I'm considering purchasing this, as it looks great. One thing I noted in your demo is that when you crouch and then shoot whilst crouched, your weapon fires in the crouch-direction (rather than the correct, forward one). Is this something that can easily by fixed via editing the code, or does it involve multiple systems (i.e. will it be easier to wait for you to fix this).

The weapons are sometimes invisible when you switch to them. I don't know what causes it, but I can tell you how to reproduce it:

- Start the game.
- Look up at the sky.
- Press 3.

I'm not sure why it does this, but it seems to have something to do with the rotation code. If you switch to the Scene view at this point, you can see that the machinegun model is pointing at a weird angle. Probably in the weapon switch code you're making an assumption that the player is facing straight ahead.

(You should probably fix the EditorGUIUtility issue first and release the update before you start working on this bug.)

Update: FPSWeapon has code in Awake(). If you add the line Debug.Log(name+"FPSWeapon Awake"); after the start of the Awake funtion, you'll see that code in Awake does NOT get called at the start of the level. Rather, it gets called when the weapon is first equipped. Is this intentional?

Update: Rotating a little to the left before switching weapons for the first time results in the weapon being rotated twice as much to the left as it should be. Not sure what that implies but maybe it'll give you a hint.

@RickyBozzy: Yes, this can be easily altered in code. The system is very flexible. The demo crouching code just activates a preset which tilts the weapon down. This can be commented out or modified to do something else. FYI: the package contains a "SimpleScript" which has no walkthrough demo code and keeps the weapon pointed forward on crouch.

@WarpZone: Thanks for finding the rotation issues! I have found the problem and will include a solid fix along with the EditorGUIUtility fix in a bugfix update.

@imtrobin: Yes, this is due to the fact that the camera moves independently from the CharacterController and may do wild and crazy things on its own This can be dealt with in various ways. If you wanted to use the drunk preset for a game right now you could tweak its motion to be less aggressive. But I'm pondering a couple of solutions for the long term.

@WarpZone: Thanks for finding the rotation issues! I have found the problem and will include a solid fix along with the EditorGUIUtility fix in a bugfix update.

Click to expand...

Woot! Let me know when that bugfix update is out. (I hope it's soon.)

Also, if I may make a humble feature request, in FPSShooter.cs, just before the line

m_AudioSource.PlayOneShot(SoundFire);

Click to expand...

try adding

m_AudioSource.pitch = Random.Range(AudioMinPitch, AudioMaxPitch);

Click to expand...

I've defined the min and max as 0.9 and 1.1 by default, and it sounds *fantastic* on the pistol. Machinegun, it sounds cheap like it's out of whack, so in theory subtler values would be better for it. I haven't dug into integrating min and max pitch into the preset format or the Editor, I figured that's something you should handle.

By the way, is there an easy or obvious way to tie our own code into this system, for specifying bullets, muzzleflashes, etc?

@WarpZone: Cool idea with the pitch! I'll definitely try that out. Regarding bullets, muzzleflashes etc: well, that really depends on how the other systems work. I'd recommend a component based approach, adding components to the Shooter and / or Weapon. These features are among the logical next steps for this asset though so you may want to stick around

Hi, have bought this and like it. But i can not see any weapons in play mode, only in the editor. I`m only using a flat terrain. I can hear the shoots and walk around, jumping etc. but no visible weapons.???

Hello unicat, I think you might be experiencing an early bug with weapon rotation. This can occur if you have rotated the player in the scene. Anyway I'm just wrapping up the next bugfix release which addresses this issue, so check this thread for when Unity has approved the update. In the meantime, try setting the rotation of your player to 0, 0, 0.

I noticed that the example FPSPlayer seems to screw with the Camera's layer and Culling Mask at runtime. This interferes with NGUI by rendering the GUI layer twice. (Once by NGUI's camera, set up to draw over the default camera, and once by the gun camera, causing a duplicate GUI to appear sitting on the ground someplace close to the world's origin.)

Is this an integral part of UFPSC, or just an artifact of the SimpleScript example that shipped with it? Can it be fixed?

Hey WarpZone, I'm sure this can be fixed. Just as the water issue mentioned earlier in the thread, it's likely an issue with camera layers, which can be changed in FPSCamera.cs (you can search for "BodyLayer" and "WeaponLayer" and change the integers). My quick guess is setting these values to lower values (maybe 25 and 26) in either the UFPSC or NGUI source will fix the problem. It would be interesting to see if that fixes it for you..

Btw: I've made a naming convention overhaul which will fix your other collision with NGUI. Thanks again for the headsup. It's in the next release which is currently pending Asset Store approval.

Version 1.11 has been approved and is available on Asset Store. This is primarily a bugfix release with a couple of additional minor features. One substantial change is that most scripts have been renamed in order to avoid problems with other assets and Unity core classes. This will probably mess with your scenes, so see the RELEASE NOTES for details. This is hopefully the last version for a while to require this level of re-installation.

Bugfixes
• Better class naming convention, in order to avoid collision with other assets and Unity core classes. All VisionPunk system classes are now prefixed with "vp_".
• Initial camera weapon rotation: Fixed an issue where weapon model would be offset if the player had been rotated in the editor. Controller initial rotation is now handled much more robustly.
• Anti-bump offset: Pushes the controller into the ground to prevent the character from "bumpety-bumping" when walking down slopes or stairs. This makes a huge difference in terrain.

New Features
• Slope speed multiplier: Allows slowing down the CharacterController moving uphill, and giving it a speed boost running downhill.
• Fall sway factor if grounded: You can now make weapon vertical sway less pronounced when moving in slopes than when falling.
• Random fire sound pitch: Optionally pitches the sound of each shot slightly different to get a more organic firing sound.