Quest System Setup Checklist
✅ Step-by-Step Setup Guide
1. Create Your Test Quest
- Right-click in Project window →
Create → RPG → Quest
- Name it something like "TestQuest"
- Important: Place it in
Assets/Resources/Quests/ folder (create this folder if it doesn't exist)
- Configure the quest:
- Set
questTitle (e.g., "Kill 5 Skeletons")
- Set
questDescription
- Set
difficulty (e.g., "Easy")
- Set
goldReward and renownReward
- Set
timeLimitDays and timeLimitHours
- Add quest goals with
targetCount
2. Setup AdventurersGuild Component
- Find your town GameObject in the scene
- Add
AdventurersGuild component
- DO NOT add quests to
availableQuests array - they will be loaded automatically from Resources
- Configure other settings:
- Set
guildLevel (1-5)
- Set
questRefreshRate (hours between refresh)
- Enable
enableDebugLogs for testing
3. Verify Scene Setup
- Ensure your town has
TownShopManager component
- Make sure
townUI field is assigned to your UIDocument
- AdventurersGuild component should be on the same GameObject or findable in scene
4. Test the Setup
- Play the scene
- Check Console for debug messages:
- "🏛️ AdventurersGuild initialized with X available quests"
- "📋 Available quests:" (lists loaded quests)
- Click on the town
- Click "Adventurer's Guild" button
🐛 Troubleshooting
If No Quests Show Up:
- Check if quest is in
Assets/Resources/Quests/ folder
- Verify quest ScriptableObject has proper title and description
- Look for debug messages about loaded quests
If Guild UI Doesn't Open:
- Check Console for error messages
- Verify
AdventurersGuildUI.uxml exists in Assets/Resources/UI/Town/
- Ensure
TownShopManager has townUI assigned
If NullReference Errors:
- QuestManager will be created automatically
- Wait one frame for initialization (handled by coroutine)
🔍 Debug Information
Enable debug logs on AdventurersGuild component to see:
- How many quests were loaded
- List of available quest names
- Guild initialization status
📁 Required File Structure
Assets/
├── Resources/
│ ├── Quests/
│ │ └── TestQuest.asset
│ └── UI/
│ └── Town/
│ ├── AdventurersGuildUI.uxml
│ └── AdventurersGuildUI_Fixed.uss
└── Scripts/
├── Town/
│ ├── AdventurersGuild.cs
│ └── TownShopManager.cs
└── Objects/
└── Quests/
└── Quest.cs