Detailed Setup

Quick Tips & Troubleshooting

QUICK START: You can add the Door Kit - Demo Scene - Prefab to your project, to get a quick start with every part connected.

TextMeshPro Required

  • Please note that TMP will appear as a popup if not installed in your project

  • Click Import TMP Essentials to use the system fully

Door Prefab Rotation

  • Some door objects may appear flat when dragged from the prefabs folder

    • Set X rotation to -90 to fix this issue

System Setup

Step 1 - Setting Up The Player

  1. Make sure you have a FPSController

  2. Add a DoorInteractor script (This may be on the Main Camera already)

    1. Ray Distance: This is how far you can interact with objects

    2. Interaction Key: What key should we use for interaction clicks. Default: Mouse 0

Step 2 - Door Inventory Setup

  1. Add a DoorInventory object from the prefabs folder (Details are explained below)

Inventory Key

What key press do we need to open the inventory

Key List

Will fill when you collect object (Leave blank)

Key Events

You can add the Door UI Manager to both slots and find the method (At the top of the list) for AddInventorySlot & RemoveInventorySlot to the respective area

Persistence

  1. Choose whether you want this object to save between scenes

  2. Whether you want to enable automatic saving (Remember all Key ScriptableObjects need to be in the resources folder to save correctly)

Debugs

Using the custom editor buttons will allow you to check for a saved file, delete it or search the location for a saved file

Details about the JSON Saving system can be found on the page linked

Step 3 - Door UI Manager Setup

  1. Add a DoorUIManager object from the prefabs folder (If not already added & Details are explained below)

Object Interaction Prompts

  • InteractTextBG: UI background for interaction text

  • Interaction UI: UI interactionnametext object

  • IconImage: UI - Icon that can be displayed

  • KeyPromptUI: For the key prompts when collecting, using or removing

Notification UI

  • NotificationTextUI: Notification TextMeshPro gameobject from the UI

  • NotificationUIBG: The background UI object

Notification UI - Text Customisation:

Set the size, type, style and colour

Inventory Fields

  • Add the Inventory slot prefab from the prefabs folder

  • Add the Inventory Panel UI object

  • Fading duration when opening and closing the inventory

Timer

The timers for showing the popup UI of notifications on screen

Crosshair U

Add the Crosshair UI here

Step 4 - Door Audio Manager Setup

  1. Add a Door Audio Manager object to your scene (If not already)

You can add the Sounds - ScriptableObjects to this to make them playable

More information on Audio Scriptables here

Step 5 - Adding Doors

  1. Add a Door object to your project - This will require the following components

    1. Box Collider

    2. InteractablePrompt script (Optional Component)

    3. DoorInteractable script

Step 5.1 - Interactable Prompt Settings (Optional Component)

More information on the Interactable Prompt here

Enable Prompt

Whether you want to interact prompt to show

Icon Parameters

Enable whether you want to show the icon from the UI manager

Key Prompt Parameters

  • Whether you want to show the KeyPromptText

  • Add text below to prompt for the player

Interaction Name Parameters:

  • Whether you want to show some kind of interaction text

  • Add the interaction text to this field

Step 5.2 - DoorInteractable Settings

Interactable Type

Select a Door or Drawer

Door Transform

Add the door to this slot here or the pivot point (If you're using a parent object)

Door Opening Settings

Set the angle, axis, speeds for opening and closing

Sound Delay Settings

Add the sounds scriptable objects and delay the audio if you like

Plank Settings

If you want to use planks over the doors to block it. Show it and set how many are above (Adding 1 or more to the plank count will make this become active)

Lock Settings

  • Choose whether to enable locking, set the text to appear via notification for when this is locked or unlocked.

  • Choose to remove the key and the SO

Spawning Items

Choose an item you want to appear at a spawn location - More information here

Step 6 - Creating Keys

  1. Add a 3D object of a key to your scene and make sure it is setup as below:

    1. Box Collider

    2. InteractablePrompt script (Optional Component)

    3. Key Collectable script

      1. KeyScriptable: Add the relevant ScriptableObject to this slot

      2. PickupSound: Add a pickup sound of your choice

More information can be found on this page

Step 7 - Spawning Objects

Spawning Objects Suggestion:

Spawning items in drawers, make sure the drawer has a mesh collider because you don't want another collider blocking the interaction

  • Box Colliders have a larger area and can block more precise interactions

  • Box colliders are good for general interactions

  • Mesh colliders are more expensive but required when doing things like items in drawers

Last updated