Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. We are looking for your feedback about Templates! Tell us about your experiences by taking our survey.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Assets Llama Chat - Chat+Social Platform for Unity

Discussion in 'Works In Progress' started by ChrisKurhan, Aug 14, 2018.

  1. ChrisKurhan


    Dec 28, 2015
    Thread moved to:
    Hello all,

    I have been working on a new robust chat system for Unity, built on UNET for a while and am looking for feedback on features. I've submitted to the asset store as well.

    Why another chat system? There are so many already
    There are many chat systems on the Unity Asset store today, however these all come with some strong limitations. My own included :). Most appear to rely on SyncList<struct>, or an external IRC type setup. For SyncList<struct> we have some limitations and baggage associated with it such as syncing all messages to all clients, having a complex/convoluted setup to support cross-scene messaging, difficult to set up direct/private messages, etc.. and IRC requires external libraries/applications running.

    What's different with Llama Chat?
    With Llama Chat I am utilizing UNET Network Messaging
    The benefits here are clear: Only interested clients will be notified of messages, saving on network bandwidth. Additional features such as direct messaging, world space chat bubbles, and private chat channels become much simpler.
    In addition to the technical benefits, it's more than just a chat system. It supports advanced features like friends list, private channels, guilds, block/ignore, chat commands, and more!


    Current features in 1.0 (requires Unity 2017.1+:
    • 100% Unity/UNET - no external networking library
    • Tying users to an account
    • Server driven, dynamic channels.
    • Global chat channels
    • Multi-threaded message dispatching - free up the main Unity thread to do other important work
    • Chat retained on level loading
    • "Regional" Chat channels - only show some chat channel if players are within some zone
    • "Guild Chat" support
    • User channels persisted on Server
    • "Friends" List
      • Friend Online/Offline Status
      • Persists across sessions
    • Direct player messaging / whisper
    • World Space Chat bubbles - e.g. so you type in "Say" channel "hello!" and you get "hello!" above your head and others see it there too
    • Customizable Player Context Menu on right click (can be built in Inspector, but actions to be taken must be written in code by you)
      • Demo Includes:
      • Whisper
      • Add Friend
      • Mute/Ignore
    • Customizable Language Filter
    • Customizable chat format - modify the order/hide any
      • Timestamp
      • Channel
      • Sender Name
      • Message
    • Custom text color per channel
    • Word Filters
    • Commands
    • Dynamic joining/leaving channels
    • Many Custom Inspectors
    • Help/Documentation

    The goal is to have as little coding as required. For many use cases I think there will be almost none required. However the following are areas I think will require some:
    • Chat Actions that are not demoed. For example Context Menu items, it will be hard to do some action if it is not defined somehow.
    • Chat Commands. You will need to specify what you want to happen. For example, If you want /ping to return your ping to the server, you will need to write that code and expose some function so we can execute it from the ChatPanel.
    • Account setup - I have provided a demo that handles it, but different types of games have very different needs, so most projects that intend to use the social aspect will need to do some integration work.
    Please let me know your thoughts, suggestions, and any questions you have. I'm really interested to hear your feedback.

    Is this something you would even be interested in?
    Does it fulfill a need?
    Is there a feature not included on this list that you expected to see?

    Last edited: Sep 5, 2018