Skip to content

Setting Up Templates

  • If you’re coming from a different mod which has templates, consider checking out our converting tool here!
  • You can also check out our Template Creator here.

Introduction


The template system in Project: Lotus seems quite unapproachable at first, but once you get used to it, it’s quite easy to understand.

Note: It’s recommended you use something better than plain Notepad (Like Notepad++ (Recommended), or Visual Studio Code), as YAML (what templates use) uses Indents.

Setting up your Project: Lotus Templates..

First of all, navigate to your AmongUs/LOTUS_DATA/Templates.yaml file.

Depending on how you installed it, the inside should either be empty or look like this.

# These variables check to see if you have a modifier, and if you do then it'll show it's description during meeting.
# If you don't have one then it won't show anything, useful for keeping your stuff organized!
Variables:
hasModifier:
Text: (${Mods})
Conditions:
- PlayerFlags:
- HasModifier
hasModifierDesc:
Text: |
\n${ModsDescriptive}\n
Condition:
- PlayerFlags:
- HasModifier
Templates:
#The lobby-join tag is shown to anyone who joins your lobby, you can preview it by doing /t lobby-join OR /welcome.
#The meeting-first and meeting-start tags are shown first meeting then only meeting-start is shown at all meetings after,
#The "Aliases" attribute can be used to add custom commands which send that template, for example; lobby-join can be previewed by using /welcome
#You can view more information about Template Customization @ https://lotusau.top/en/guides/templates/
- Tag: lobby-join
Aliases: [welcome, lobbyjoin]
Title: "<color=#d99153>Welcome to</color> <color=#fec5d5>Proj</color><color=#fbcec1>ect:</color> <color=#f9d7ad>Lo</color><color=#f7e099>tus</color>, <color=#f1a6c7>${Name}!</color>"
Text: |
<size=1.8>Your host is</size> <color=#c00065>${Host}</color><size=1.8>, and they are on <color=#c00065>${ModVersion} of Lotus!</color></size>
<size=1.9><color=#d99153><u>Useful Commands!</u></color></size>
<size=1.7><b>/help</b> - Displays all available commands! </size>
<size=1.7><b>/rules</b> - Displays the host's rules! </size>
<size=1.7><b>/r (role)</b> - Displays the role information for the specified role!</size>
<size=1.7><b>/m & /m 2</b> - (IN GAME) Displays your role and information about it!</size>
<u><color=#5865F2><b><size=1.8>Discord:</size></b></color> <size=1.7>discord.gg/projectlotus</size></u>
<u><color=#F795DC><b><size=1.8>Website:</size></b></color> <size=1.7>https://lotusau.top</size></u>
# Sorry for such a mess of styling tags, it looks really good though ingame!
- Tag: meeting-first
Aliases: [meeting-first]
Title: <size=1.9><u>Your Role Information!</u></size>
Text: |
Role: <b>${Role}</b> (<b>${Faction}</b>) <b>${hasModifier}</b>
<i><u>${Blurb}</u></i>
${Description}<u>${hasModifierDesc}</u>
- Tag: meeting-start
Aliases: [meeting-subsequent, subsequent]
Title: <size=1.9><color=#d99153><u>Useful Commands!</u></color></size>
Text: |
<b>/m</b> → Show your current role & modifier description
<b>/m 2</b> → View your current role and modifier options
<b>/r [role]</b> → View other roles' description & options
<b>/desc</b> → View the message from the first meeting.
<b>/help</b> → Shows all the commands you can do!
# You should change this to your liking if possible. Disclaimer that default AU <size> is 2.
- Tag: rules
Aliases: [rules]
Title: "<size=1.8><color=#d99153><u>Here are </color><b><color=#fec5d5>${Host}'s</color></b> <color=#d99153>lobby rules!</u></color></size>"
Text: |
<size=1.8>1. Please be respectful at all times to everyone in the lobby.</size>
<size=1.8>2. Make sure to not reveal your role unless forced to!</size>
<size=1.8>3. Don't afk kill! It's not fun for others!</size>
<size=1.8>4. Don't close cafe doors (on Skeld) after meeting!</size>

We’re going to ignore the Variables: part for now, and focus on the Templates: part.

Note: If this file is empty, or doesn’t exist. I recommend downloading the pre-made default file from here.

Templates are structured as follows:

  • - Tag: (tagName) REQUIRED* - The tag of your template, whatever you enter after - Tag: can be used with the command /t (tagName).
    • For example - Tag: rules can be used in-game as /t rules.
    • Please note that the - is required before Tag
  • Aliases: [(alias1), (alias2)] - The Aliases of your tag, these are what are turned into commands ingame.
    • For Example: Aliases: [chickenbeef] would be usable as /chickenbeef
    • You can have multiple Aliases as shown, or none at all.
  • Title: (tagTitle) is the Title of your template, this is shown at the top of your template when using it in-game.
    • Example: Title: Welcome to the lobby! would show “Welcome to the lobby!” at the top of your template, replacing your name.
    • Note: If you want, this doesn’t have to be on one line. You can use Title: | or Title: >
    • Note 2: Titles are the only part of a template which renders colour for Vanilla players, due to limitations.
  • Text: (text) REQUIRED - is finally, the text part of your template.
    • Example: Text: "Hello, welcome to my Lobby! shows as… well… that.
    • Note: You can use HTML tags (“<color=#123456>, <b>”, etc) in your templates to spice them up. You can see a preview of this in the template example we’ve provided above.
    • Note 2: Once again, you can also use Text: | or Text: > to put your text on multiple lines, like such.
- Tag: rules
Aliases: [rules]
Title: "<size=1.8><color=#d99153><u>Here are </color><b><color=#fec5d5>${Host}'s</color></b> <color=#d99153>lobby rules!</u></color></size>"
Text: |
<size=1.8>1. Please be respectful at all times to everyone in the lobby.</size>
<size=1.8>2. Make sure to not reveal your role unless forced to!</size>
<size=1.8>3. Don't afk kill! It's not fun for others!</size>
<size=1.8>4. Don't close cafe doors (on Skeld) after meeting!</size>

These will automatically line break after every line, similar to \n or <br>

Quick Explanation: Variables

Variables are another way of spicing up your templates even more, using in-game data in your templates. You can find a full list of them here., but we’ll only be covering a few of them right now.

Variables use the syntax ${variable}, this is different from other mods, which use {{variable}}.
Variables are also usable in every part of your Title/Template, which means you can do stuff like…

Title: Hey ${Name}, welcome to ${HostName}'s lobby!

It’s also possible to make your own custom variables, as showcased in the big Template example.

Variables:
hasModifier:
Text: (${Mods})
Conditions:
- PlayerFlags:
- HasModifier
hasModifierDesc:
Text: |
\n${ModsDescriptive}\n
Condition:
- PlayerFlags:
- HasModifier

These would return the Variables ${hasModifier} and ${hasModifierDesc}. The PlayerFlags condition mean these would only trigger when the player viewing the template has a modifier. But that’s to explain another time.

Conclusion

Project: Lotus’ Template System seems complex, but it really isn’t. If you need a TLDR then..

- Tag: "Required" # You can trigger your template with '/t (tagname)'
Aliases: [Alias1] # These power the custom commands. You can now trigger this template with '/Alias1'
Title: "Welcome to my lobby, ${Name}!" # This is the title of your template, and ${Name} is a variable which shows the viewer's name.
Text: | # This is the text of the template, and the "|" allows you to use multiple lines without having to put \n every line.
Welcome!
I hope you enjoy my (${HostName}'s) lobby!

If you need any more resources, I recommend checking out Features: Templates and Template Creator. Have fun!