Install instructions
How to install Feel in your project?
To add Feel to your project, simply follow the simple steps below :
- using Unity 2022.3.23f1 or higher (see the release notes to see which minimum version of Unity each version of Feel requires), create a new project, pick the “3D” template
- via the Package Manager, go to the Feel page, click the download button, then the import button
- wait until a “import Unity package” popup appears, make sure everything is checked (it should be by default), click “import”
- open Unity’s Package Manager, install the latest version of the Post Processing package
- in the package manager, install the latest version of the Cinemachine package
- in the package manager, install the latest version of the TextMesh Pro package
- in the package manager, install the latest version of the Animation 2D package (this is only useful for the Letters demo)
- open the MMFPlayerDemo scene (or any other demo), press play, enjoy
Optional Steps
Note that steps 4, 5, 6 and 7 are optional, but if you want to get access to post processing, TextMesh Pro and Cinemachine feedbacks, you’ll need these. Also note that most of the Feel demos make use of as many feedbacks as needed, and will feature most of these dependencies. You’ll get errors in these if you haven’t installed the corresponding dependencies.
URP and HDRP
Feel will work on all render pipelines, and you can absolutely import Feel in a URP or HDRP project. Just note that most demos are made using the standard RP, and they may not render correctly when opened in projects using other pipelines. And of course there’s no need to install the Post Processing package on URP or HDRP, they both ship with their own post processing Volume system.
As of v2.3 you’ll find dedicated HDRP and URP demos (see the dedicated section of the documentation). Of course you’ll have to install them in a project matching their RP.
How to use Feel with URP?
- in Unity, create a new project using the URP template
- from the Package Manager, import the latest version of Feel
- that’s it, you can now use Feel with your URP project
Some of my materials are all pink! While most of the materials used in the engine’s demos will display fine on all RPs, a few demos, like the NewCorgi3D one, use custom shaders, and these will break in HDRP or URP. Thankfully, you can convert them fairly easily, like so :
- select all materials that are using a BiRP shader (they’re all neatly sorted per demo, so for example, the ones under Feel/MMFeedbacks/Demos/MMFeedbacksDemo/Materials)
- in their inspector, at the top, set their shader to Standard
- then, go Edit > Rendering > Materials > Convert Selected Built-In Materials to URP They won’t look just as good as they would have in BiRP, but will let you enjoy the demo just fine.
Ok and how to use MMF Player with URP volumes then?
- after the steps described above :
- create a new scene
- in it, add a cube, position it at 0,0,0
Option 1 : automatic shaker setup
- create an empty game object, call it MyTestFeedbacks, add a MMF Player component to it, press the “add new feedback” dropdown and select PostProcess > Vignette URP
- unfold its Automatic Setup foldout, press the Automatic Shaker Setup button
- press play in the editor, then the green Play button on your MMF Player, the vignette’s intensity will interpolate
Option 2 : manual setup
- create a new Global Volume (right click, volume > global volume in your Hierarchy panel)
- press the New button next to Profile in its inspector
- add an override to it, pick Vignette, set the Vignette’s intensity to 0.5
- add a new component to the global volume, in the add component menu type MMVignetteShaker_URP
- select the MainCamera, in its inspector under Rendering, check PostProcessing
- you should now see the Vignette in your Game view
- create an empty game object, call it MyTestFeedbacks, add a MMF Player component to it
- press the “add new feedback” dropdown and select PostProcess > Vignette URP
- in its inspector, set Remap Intensity Zero to 0.5
- press play in the editor, select the MyTestFeedbacks object, and in its MMF Player’s inspector, press the green Play button
- now you know how to trigger volume feedbacks. To target other post processing filters, make sure you add the corresponding Shaker on the Volume
Editor pre-releases
If you’re using URP 15 or higher, there’s a strong change you’ll get a few errors on install, complaining about “the type or namespace name ‘Light2D’ not being found”. This is because Unity decided to change the assembly the Light 2D classes belonged to, breaking compatibility with previous versions of URP. Until this changes, or until previous versions that have to be supported get phased out, you can fix this either by removing the 2 classes causing the issue (namely MMF_Light2D_URP and MMLight2DShaker - clicking on the errors will highlight them in your Project panel), or you could install the 2D packages. If you don’t plan on using 2D lights, simply deleting these 2 classes would be the easiest way to move on. And yes, this is annoying.
What’s the best way to update Feel from an old version to a new one?
Whatever you do, make sure you have a commit / backup to rollback to if a problem happens. Then, remove the old Feel folder, and import the new one.
If you don’t, due to the way the Asset Store importer works, some scripts may be duplicated, not removed, etc. Depending on what version you’re updating from, and what version you’re updating to, you may have some light refactoring to do. Make sure you check the release notes to see what changed and what may have an impact on your own code.
If you’re updating from a version older than 4.0, be aware that this update phases out the legacy MMFeedbacks component, and with it the auto updater that was active since the 3.0 days. Convert your MMFeedbacks before updating, if you’re still using any.
Can I import FEEL into other MoreMountains assets?
If you’re using the Corgi Engine, Infinite Runner Engine, Nice Touch or TopDown Engine, they already include MMFeedbacks and MMTools (or parts of them), the two main components of FEEL, so importing FEEL on top is usually not needed. If you decide to do so, some of the common libraries may be out of sync.
Make sure you always remove the oldest ones (remove the Feel folder if you had one, remove the MMFeedbacks and MMTools folders if you had them), import the new ones, and be prepared to refactor a few things. You can also simply uncheck the common libraries folders on import. Or just wait a little while for the next engine update.
Note that if you plan on using it with Highroad Engine, you’ll likely have some refactor to do, which isn’t recommended if you’re new to C#. They have some libraries in common and they’re out of sync at the moment. That will be fixed in upcoming updates to these two assets.
Input
The demos use Unity’s Input API to trigger whatever interaction they offer. This uses the “old” input API as an overwhelming majority of users still haven’t moved to the “new” Input System. If you’re using the new Input System, you can switch to hybrid mode (Player Settings > Active Input Handling > Both). Or, just like if you want to run URP/HDRP but want to check common denominator demos, you can simply create a side project for the demos and check them out there, they’re just demos, the rest will run fine everywhere. Yes it’s annoying, but it’s the state of Unity today.