(v1.2) Getting Started + Tips & Tricks, a Guide by Davion13

DavidC

Active member
Post 1: General Tips & Tricks
Post 2: Advanced Tips & Tricks
Post 3: Asset Resources (Free & Paid)
Post 4: Resources

General Tips & Tricks
1. Use 2020.3.(latest) LTS. 2021 is still very much "in development" and it is slower and more prone to crashing.

2. In a new project, install and setup all Opsive products you are currently using, and their integrations. Once it is all working and you have verified it is working, change to the Demo scene most similar to your game, save and quit.

In explorer/file manager, go to your project folder and make a copy of the entire project (copy+paste). Rename the copy "Opsive Unmodified." Add this project to Unity Hub. When needed, open this second project and compare things like Nolan and Weapons to your own versions to see what's missing/wrong/different. The original is the one you will work on your own game in.

3. Do the basic tutorials in a new scene called "tutorials." Don't try to do them with your own stuff, do them exactly as they are in the video. This way, if you make a mistake, you know it is a mistake and not something with the model/animation or whatever other custom thing you are using.

4. Before you attempt anything, first do any relevant tutorial(s) then do your own. On the other hand, I wouldn't do all the tutorials. Instead, do one, then do the same thing for your own game scene using your custom models/animations/etc.

5. For your base scene, I would duplicate (ctrl+D or cmd+D) the Demo scene closest to your game (ie integration Demo for both ucc & uis). Make a new game object called "Discard" and move things you don't need into that object. Disable that object. Do this instead of deleting, in case you accidentally get rid of something that it turns out you needed, or want to refer back to later. Keep Nolan, just disable him (or duplicate him if you want to modify him), and enable him to use him as a test when needed. Rename the scene.

6. At some point, learn how to do scene layers and use that workflow. It saves a lot of time on repeated tasks for different scenes.

7. Your custom character will be missing special identitifier objects on the rig for "body" (punch+kick), bow, & magic items. You must add these manually.

8. Learn to copy and paste components & component values. Do this for anything you are making when there is a similar preexisting object, then change one value at a time to customize it.

9. The more frequently you test, the less things you have to check if something breaks.

10. Keep backups. I do both version control AND total copies of entire project file. You can delete older ones, but always keep a few. Do this immediately, learning how will be less time than fixing a horribly broken project (or redoing from scratch). This has saved my butt about once a month, if not more.

11. Do not import art directly into your project. Also be very careful about assets that prompt "this wants to change your project settings" which will mess up your project. Instead, have a project to import art into. Make sure it works, then take only the art you need, put it into a custom package, and import that custom package into your project. This will help avoid errors, bloat, and disorganization.

12. Bookmark the documentation. Go to each page and spend just enough time to understand what that page is about. It is useful to know what "tools" are available, even if you don't know how to use them yet. Some concepts you may have to do a little bit of outside learning about. For example, if you aren't a programmer, you may need to learn what an "Event System" or a "State System" is (conceptually).

13. If you want to be able to truly customize things, you will want to learn at least basic programming. I recommend this tutorial, it's fun because it's game oriented, and it teaches you *just* C# and not Unity, which makes it easier to focus on the programming.
Learn C# by building a simple RPG

14. Learn how to properly reference other objects in Unity. “Find” & “Get” cause performance loss.

15. Become a master of searching for answers

16. Use Google to search Opsive’s forums (or other forums) by using advanced commands.
17. Learn search techniques (yes, Google is a skill).
  • Quotes: “This word/phrase is mandatory”
  • Order Priority: Unity3d wood tutorials > wood tutorials Unity3d (Latter can result in more real-world woodworking type information)
  • Specificity of common words: Unity3d > Unity, Opsive Character Controller > Character Controller
  • Elimination of common & unneeded words: “In unity3d how to use gun scope camera overlay.” < “Unity3D tutorial scope camera”
  • Unity has two major forms of documentation that are very different. "Manual" is much more conceptual (and wordy). "Script API" is the barebones list of what a programmer needs to know about a Type or Function. Add one or the other to your searches in Google to go to the desired one.
  • Don't use Unity's search bar in Manual/Script API, it's super slow.
(More to come)
 
Last edited:

DavidC

Active member
Advanced Tips & Tricks
1. When you can, learn how to use the Event System and State System, progmatically. Both these will require a solid programming base (Be comfortable with Functions and learn the concept of the “out” keyword, as seen in raycasts).

2. Learn raycasts! These are incredibly useful

3. Bookmark and begin to understand Execution Order for Unity https://docs.unity3d.com/Manual/ExecutionOrder.html

4. Understand what a programming design pattern is, and bookmark a resource that lists them all with a description.

5. Learn what the pooling design pattern is, and learn how to use Opsive’s Pooling system.
 
Last edited:

DavidC

Active member
Asset Resources (Free)
1. In the advanced search options bar on the right, there is a checkmark for “free.”
2. Unity the “seller” has a bunch of assets, most of which are quite good.
3. Be careful not to “buy” old assets, particularly the Unity “Particle Effect 5.5” There is a new version for recent Unity versions.
4. Many of the Unity assets have things IN them that you might use as an individual part, so look carefully at each of their packages.
5. An example is, if your project is URP, the Viking Village (URP) has a water shader and grass shader that are pretty good, and at minimum, serve as a good place holder. You can also take out materials/textures/natural elements, etc. no matter what kind of game you are making!


Asset Resources (Paid)
1. Don’t let the sales fool you. If you see something you like during a sale, search for similar items in the store, and see if you prefer one of the non-sale items instead. An asset that sort of fits your game, or is just an “OK” tool, is not as good as one that is an exact match, or is an excellent tool, even if it costs more.
2. Look at the license before you buy. Most will say “standard license” but others will have special kinds, and you’ll want to make sure it fits your needs.
3. Avoid impulse buying. You’ll be more motivated to use an asset if you buy it when you need it and then implement it, then having a library of 100s of assets you intend to use one day.
4. If a product has few reviews (like less than 10) Click on a seller before buying an item and see if they have overall good reviews on their products.
5. Check when a product was last updated. If it’s art and it wasn’t updated in the last couple years, it probably doesn’t look as good (for more realistic art). It may also have broken shaders and other scripts. If it’s script/code, it probably means the project is abandoned and you will get zero support from the developer if anything goes wrong (and no refund).

“Tools” Assets Most Popular and What they Do
1. Odin: You know how certain fields show up in Unity from scripts? Well, not all Types show up. Odin makes it so those Types DO show up.
2. Umotion Pro & Very Animation: In Unity animation editor. Blender is free and more powerful, but harder to learn.
3. RayFire: Breaks solid meshes up into smaller ones, procedurally.
4. Splines/Path Makers/R.A.M. All of these use a concept called splines that allows you to make curving “chains.” Good for rivers & roads, in particular. Can also be used for things like a swinging rope or a tentacle.
5. Sculpting Pro & UModeler: In Unity model editor. Blender is free and more powerful, but harder to learn. SP can edit skinned meshes (things with bones). UModeler cannot, but a bit easier to use.
6. Digger & Digger Pro: Lets you create overhangs and tunnels in Unity terrain by making voxel based “meshes.”
7. Anything voxel related: There’s no great voxel “world” assets on the store, except if you want minecraft blocks, Voxel Play is excellent. Subnautica and it’s sequel used a mixture of Voxeland and meshes. Those games did not have runtime editing (except by console command).
8. Voxel Farm middleware: 7 Days to Die uses a “middleware” solution (not on the asset store) called Voxel Farm. However, it takes a lot of time to get good with it. Also, a lot of “features” of the voxels in 7dtd are not a part of voxel farm, they were added in custom. 1 month free trial, indy license is $300/year last time I checked.
9. Speed Tree: Speed Tree DOES have assets on the asset store. However, they started as a middleware company. They’re a standard in most AAA games, but their assets are expensive. They have some free versions and premade stuff, but their true power comes from the whole “system” they have for trees, and that costs $100s. IIRC each kind of tree is $60 a piece.
10. Rainbow folders. It does what it says, lets you make colorful folder and/or folder icons. Organizational.
11. Rewired. It dramatically simplifies input and different controllers. For the moment, it is probably better than the new "input system."


I do not recommend trying to add other templates and systems to Opsive unless you know what you’re doing. Also, I would first recommend becoming very comfortable with it, so you don’t try and pointlessly replicate what is already IN Opsive. For example, don’t buy a “weapon zoom & sights” tool, just modify the “Aim” ability.

I recommend avoiding integrations and systems until you are 100% sure you know you need them. For example, "Final IK" or "Cinemachine" may be totally unneeded in your project. Even if you do later need them, in the meantime, it's one less thing to mess with.
 
Last edited:

DavidC

Active member
Discords
Opsive Official
Unity Official
UMA Official
MLAPI Official
Brackeys

Learning Resources
Opsive On Youtube
Scott Lily's "Learn C# by Building a Simple RPG"
Animations & Avatar Controllers by IHeartGameDev
new "Input System" // this is a little hacky. It's good for adding input fast & dirty on the side of Opsive's integration, but it doesn't "mesh" with the overall intended workflow.
Dapper Dino's MLAPI (Multiplayer in Unity 2021.1) Tutorials. // there are also older mirror networking tutorials, don't confuse the two.

Time Savers
Github Gitignore template for Unity projects Github Gitignore template for Unity projects

Unity Workflow Tricks
Readonly Inspector Fields

My Favorite Unity / Game Design Youtubers (no particular order)
* Brackeys (early beginner level) // Avoid very old tutorials, or use old versions of unity while doing them, IE 2019 or earlier.
* Justin Weimann (beginner to expert level depending on tutorial) // Also sells a very expensive ($700 with once a week chats, or $2800 with tutoring hours) but very well regarded "Master Course" I have not taken it, but I'm in the discord for people who are taking it or have taken it ($1 a month on Patreon).
* Code Monkey // Uses some custom code "helper" scripts that you can download on his website for free. Mostly watch his stuff for the asset reviews
* Game Maker's Toolbox (Design Theory)
* razbuten (Design Theory)
* Thomas Brush // I enjoy putting on his stuff in the background while I work. Kind of a "study with me" type thing. ATM, his "Master Course" comes bundled with Justin Weimann's
* Secret Anorak (UMA tutorials)
* OneWheelStudio (Especially Extension Methods video)
* Sykoo (Unity, but in particular, level design)
* TheMessyCoder (Asset reviews, mostly)
* LowLevelLemmy (Quick concepts for people with ADD)
* ChargerGames
* GameDev.tv
* Infallible Code
* WarWolfeX (Very good local musician near me, if you like his music you can probably commission or license him fairly inexpensively)
 
Last edited:

fopsive

New member
Very concise and hugely helpful. Somehow seems like 10 pages worth of information condensed down into a handy cheat-sheet. That takes skill and time. Thanks!
 
Top