Michsky – Docs Michsky – Docs
  • Home 
  • Documentation 
    • Hex UI 
    • Beam UI 
    • Reach UI 
    • Heat UI 
    • DreamOS 
    • Modern UI Pack 
    • Loading Screen Studio 
    • Dark UI 
    • Motion Titles Pack 
  • Contact 
Michsky – Docs Michsky – Docs
Michsky – Docs
  • Home 
  • Documentation 
    • Hex UI 
    • Beam UI 
    • Reach UI 
    • Heat UI 
    • DreamOS 
    • Modern UI Pack 
    • Loading Screen Studio 
    • Dark UI 
    • Motion Titles Pack 
  • Contact 

Beam UI

  • Quick Start
  • Animations
  • Controller & Input
    • Controller Manager
    • Controller Presets
    • Hotkey Event
    • UI Navigation
  • Handlers & Managers
    • Achievements
    • Audio
    • Chapters
    • Credits
    • Effects
    • In-Game
  • Localization
    • Getting Started
    • Localization Settings
    • Localization Manager
    • Localized Object
  • UI Elements
    • Button
    • Dropdown
    • Modal Window
    • Notifications
    • Panel Manager
    • Progress Bar
    • Selectors
    • Sidebar
    • Slider
    • Switch
    • Timer
    • Widgets
    • Others
  • UI Manager
  • Others & Add-ons
  • FAQs
  1. Home
  2. Beam UI
  3. UI Elements
  4. Sidebar
Updated on January 23, 2024

Beam UI

  • Quick Start
  • Animations
  • Controller & Input
    • Controller Manager
    • Controller Presets
    • Hotkey Event
    • UI Navigation
  • Handlers & Managers
    • Achievements
    • Audio
    • Chapters
    • Credits
    • Effects
    • In-Game
  • Localization
    • Getting Started
    • Localization Settings
    • Localization Manager
    • Localized Object
  • UI Elements
    • Button
    • Dropdown
    • Modal Window
    • Notifications
    • Panel Manager
    • Progress Bar
    • Selectors
    • Sidebar
    • Slider
    • Switch
    • Timer
    • Widgets
    • Others
  • UI Manager
  • Others & Add-ons
  • FAQs

Sidebar

Author: admin 50 views

Workflow

A fully customizable component that can be used for pretty much anything. It is widely used for showcasing friends and lobbies, as seen in popular games such as Counter-Strike and Valorant.

You can select the object and start tweaking the component. Make sure to add the new header objects to the ‘Headers’ list and the individual objects to the ‘Individuals’ list. The default ‘Interact Type’ is hover. Feel free to adjust it according to your needs. You can add any UI objects under the ‘Content’ child object. You can also see the demo scene for a live demonstration.

Sidebar Header

Allows to enabling or disabling of specific parent objects. It requires a gameobject to work, so make sure to assign a valid object to the ‘Target Content’ field.

Sidebar Individual

This UI element is used to showcase platform friends (e.g. Steam). It has 4 different status states (Online, Away, Offline, Custom) and a context menu system. While this element is easy to use, you need to use scripting as it relies on the given input. You can see the ‘SidebarIndividualCalls’ method in the scripting section to see how to trigger the provided functions.

Scripting

				
					using UnityEngine;
using Michsky.UI.Beam; // Namespace

public class SampleClass : MonoBehaviour
{
    [SerializeField] private SidebarAnimator sidebar;
    [SerializeField] private SidebarHeader sidebarHeader;
    [SerializeField] private SidebarIndividual sidebarIndividual;

    void SidebarCalls()
    {
        // Animate, open or close
        sidebar.Animate();
        sidebar.Open();
        sidebar.Close();
    }

    void SidebarHeaderCalls()
    {
        // If you're creating the header during runtime
        sidebar.headers.Add(sidebarHeader);

        // Expand or minimize headear content
        sidebarHeader.ExpandItem();
        sidebarHeader.MinimizeItem();
    }

    void SidebarIndividualCalls()
    {
        // If you're creating the header during runtime
        sidebar.individuals.Add(sidebarIndividual);

        // Set info
        sidebarIndividual.SetProfileName("Profile Name");
        sidebarIndividual.SetProfilePicture(targetSprite);

        // Set state
        sidebarIndividual.SetState(SidebarIndividual.IndividualState.Away);

        // Set custom state
        sidebarIndividual.SetState(SidebarIndividual.IndividualState.Custom);
        sidebarIndividual.SetCustomStatus("Custom state text");

        // Open or close context menu
        sidebarIndividual.contextMenu.Open();
        sidebarIndividual.contextMenu.Close();

        // Create a new context menu separator
        sidebarIndividual.contextMenu.CreateSeparator();

        // Create a new context menu button
        sidebarIndividual.contextMenu.CreateButton(targetSprite, "Item Text");

        // Add new event to an existing context menu item
        sidebarIndividual.contextMenu.menuItems[0].onClick.AddListener(() => TestMethod());
    }

    void TestMethod()
    {
        Debug.Log("Triggered the test method!");
    }
}
				
			

Limitations

This component is not made or optimized for gamepad inputs. Please contact me if you need gamepad support for the sidebar and its elements.

How can we help?

A premium WordPress theme with an integrated Knowledge Base,
providing 24/7 community-based support.

© 2024 Michsky