[HOWTO] How To: Set Up Invector Integration (Minimal)
Posted: Wed Jan 06, 2021 11:09 pm
Here are minimal steps to get Quest Machine working with Invector. Full instructions, which includes setting up the save system, etc., are in the Invector Integration tutorial video on the Video Tutorials page.
1. First make sure Quest Machine's basic demo scene works. (Plugins / Pixel Crushers / Quest Machine / Demo / Demo) If you haven't already, select menu item Tools > Pixel Crushers > Common > Misc > Enable Physics2D Support before playing the Demo.
2. Imported both Invector Support unitypackages, located in Plugins / Pixel Crushers / Common / Third Party Support and Plugins / Pixel Crushers / Quest Machine / Third Party Support. The PDF manual will be in Pixel Crushers / Quest Machine / Third Party Support / Invector Support. Make sure the Invector integration demo scene works. (Pixel Crushers / Quest Machine / Third Party Support / Invector Support / Example / Shooter Example) If both of those are working, then Quest Machine, Invector, and the Invector integration are probably all installed correctly.
3. Next, if you haven't gone through a few of the introductory Quest Machine tutorials, I recommend watching at least Tutorial 1: Scene Setup.
4. Select menu item Edit > Project Settings. In the Player section, scroll down to Other Settings. Add "USE_INVECTOR_INVENTORY" to the Scripting Define Symbols:
5. Open the scene Invector-3rdPersonController / Shooter > DemoScenes / Invector_ShooterMelee.
6. Add the prefab Plugins / Pixel Crushers / Quest Machine / Prefabs / Input Device Manager to the scene. Untick its Control Cursor State checkbox.
7. Add the prefab Plugins / Pixel Crushers / Quest Machine / Prefabs / Quest Machine to the scene.
8. Locate the quest database named "Example Quest Database" in Pixel Crushers / Quest Machine / Third Party Support / Invector Support / Example / Quests. Assign it to the Quest Machine GameObject's Quest Databases > Element 0 in place of "Demo Quest Database".
9. Add a Quest Journal component to the vShooterMeleeController GameObject (i.e., the player). The tutorial has you create an empty GameObject for Quest Journal, but I'm simplifying the steps here.
10. Add a Quest Machine Pause Player component to vShooterMeleeController.
11. Let's just set up a cube to act as the NPC quest giver.
Now play the scene and walk into the cube. You should see the quest dialogue UI. Click Accept to accept the quest.
1. First make sure Quest Machine's basic demo scene works. (Plugins / Pixel Crushers / Quest Machine / Demo / Demo) If you haven't already, select menu item Tools > Pixel Crushers > Common > Misc > Enable Physics2D Support before playing the Demo.
2. Imported both Invector Support unitypackages, located in Plugins / Pixel Crushers / Common / Third Party Support and Plugins / Pixel Crushers / Quest Machine / Third Party Support. The PDF manual will be in Pixel Crushers / Quest Machine / Third Party Support / Invector Support. Make sure the Invector integration demo scene works. (Pixel Crushers / Quest Machine / Third Party Support / Invector Support / Example / Shooter Example) If both of those are working, then Quest Machine, Invector, and the Invector integration are probably all installed correctly.
3. Next, if you haven't gone through a few of the introductory Quest Machine tutorials, I recommend watching at least Tutorial 1: Scene Setup.
4. Select menu item Edit > Project Settings. In the Player section, scroll down to Other Settings. Add "USE_INVECTOR_INVENTORY" to the Scripting Define Symbols:
5. Open the scene Invector-3rdPersonController / Shooter > DemoScenes / Invector_ShooterMelee.
6. Add the prefab Plugins / Pixel Crushers / Quest Machine / Prefabs / Input Device Manager to the scene. Untick its Control Cursor State checkbox.
7. Add the prefab Plugins / Pixel Crushers / Quest Machine / Prefabs / Quest Machine to the scene.
8. Locate the quest database named "Example Quest Database" in Pixel Crushers / Quest Machine / Third Party Support / Invector Support / Example / Quests. Assign it to the Quest Machine GameObject's Quest Databases > Element 0 in place of "Demo Quest Database".
9. Add a Quest Journal component to the vShooterMeleeController GameObject (i.e., the player). The tutorial has you create an empty GameObject for Quest Journal, but I'm simplifying the steps here.
10. Add a Quest Machine Pause Player component to vShooterMeleeController.
11. Let's just set up a cube to act as the NPC quest giver.
- Add a cube to the scene. Make sure it's some place where the player can walk into it.
- Tick its Box Collider's Is Trigger checkbox.
- Add a Trigger Event component. Notice that the Tag Mask is set to Player. This matches the vShooterMeleeController's tag (Player).
- Add a Quest Journal component. Set the ID > Id field to "NPC".
- In the Quests section, click the "+" to add an empty element. Then assign the "Get Shotgun Quest" asset from Pixel Crushers / Quest Machine / Third Party Support / Invector Support / Example / Quests.
- On the Trigger Event component, click the "+" under the OnTriggerEnter() block.
Now play the scene and walk into the cube. You should see the quest dialogue UI. Click Accept to accept the quest.