Jump to content

How to use the Workshop

Jun 17 2014 01:12 AM | Josh Klint
This tutorial will teach you how to subscribe to Workshop items, and how to publish assets and games to the Leadwerks Workshop on Steam.


The Leadwerks Workshop on Steam is a system that allows distribution of game-ready content and easy collaboration.  You can subscribe to items in the Workshop to use them in your games.  You can also publish your own items for others to use.  You can even use the Workshop to publish games to Steam without going through Greenlight.


To use the Leadwerks Workshop, you must have Leadwerks on Steam, and SteamCloud must be enabled for your account.  To enable SteamCloud, select the View > Settings menu in the Steam interface and enable it under the Cloud settings:

Attached Image: Image1.png

Subscribing to Items

To subscribe to items on Steam, first you need to open the Leadwerks Workshop.  You can do this by selecting the Workshop > Browse Workshop menu item.  This will open the Steam interface with the Leadwerks Workshop page, which will look something like this:

Attached Image: Image1.jpg

To subscribe to an item, just click on the green "+" button in the lower-right hand corner of any items's thumbnail:

Attached Image: Image3.png

You can also press the larger "Subscribe" button found on the item's page:

Attached Image: Image5.png

Once you do this, you are now subscribed to the item and will receive updates for it.  Restart Leadwerks and you will see that the item has been added to the asset browser, under the "Workshop" folder.  The items within the item's folder can now be dragged into your map, just like any other assets in Leadwerks:

Attached Image: Image7.jpg

Using the Game Player

Most items in the Workshop are assets, content used to make games.  However, the Workshop also supports distribution of Lua games.  When you subscribe to an item with the "Game" tag, it will appear in the game player.  To open the game player, select the Workshop > Play Games menu item.  The game player shows a list of available games you are subscribed to.  To play a game just select it in the list and press the Play button.

Attached Image: Image8.jpg

Publishing Items

You can publish your own items to the Workshop.  Select the Workshop > Publish File menu item to open the Publish File dialog:

Attached Image: Image9.jpg

The following fields must be filled in before you can publish your item:
  • Title: This is the title that will be shown in the Workshop.  It's best to keep this simple and avoid too much extra information.
  • Preview: This is a small preview image to show in the Workshop.  Square images around 200x200 pixels work best.
  • Folder: This is the folder containing your files to include in the package.  All allowed files in the folder will be put into the package.
  • Visibility: You can choose to make your item publish, private, or share it with just your friends on Steam.
  • Type: Indicates whether you are publishing an asset or an entire game.
  • Description: A brief description of your item and what it is for.

Once these are filled in, press the Publish button and wait a few moments for your package to update.  When complete, the Steam interface will be opened and your item will be displayed in the Workshop.

If you want to publish a game, just select your game's project folder.  Don't forget to select "Game" in the "Type" dropdown box.

Please see the Leadwerks End User License Agreement before publishing items to the Workshop.

Updating Items

One of the great things about the Workshop is ease of updating.  You can update any of your items at any time, and your changes will be pushed out to everyone subscribed to your item.  To update an existing item, select the Update tab in the Publish File dialog.  Add a comment describing your changes and then choose a new preview image, a folder containing your new files, or both.  Press Publish to update your item, and your changes will go out to everyone subscribed to that item the next time they start Leadwerks.

If you want to change the item name or add more screenshots and videos to your item's page, you can do this within the Steam interface.

Be thoughtful of your subscribers when updating items.  It's generally a bad idea to remove files or change file names within the package.  If you want to make drastic changes to your item, it might be a better idea to publish a new item and name it "Version 2" rather than disrupting your subscribers' work.

Derivative Works

With most content stores "ripping off" other people's work is looked down on.  The Leadwerks Workshop is different because derivative works are actually encouraged.  You can freely use Workshop items to make new published items.  Any files you use will be traced back to their original author and automatically downloaded, so your usage of the items will actually get them more subscribers.  In this way, the Leadwerks Workshop helps us all share our effort while respecting individual intellectual property rights.


Any idea when the workshop will be available?
It will be announced when it's ready. :)
Very cool to see The Zone assets back in business! It's hard to argue with the convenience of built-in Workshop support.
Josh, I have updated to 3.2 and have the menu for the workshop. But all is grayed out, not accessible. I have the non-steam full version of leadwerks. Is there a way to have access to this while developing?
Workshop relies on the Steam infrastructure and cannot be used in the standalone version.
How do you access items from the workshop in LUA? I found your post on doing this with Texture::Load method:


But I'm trying to load a workshop post process shader (Camera::AddPostEffect), and this method only allows a path parameter. I can load post process shaders from the local shader folder without issue, but I don't know how to specify the workshop path.

I tried this...
self.camera:AddPostEffect("Workshop/Post Process Shaders (shadmar)/20_pp_nightvision.shader")

I can copy the workshop cache to my project folders to make this work, just wondering if there is a programmatic path for the workshop.

There's an optional fileid parameter you can add in the call after the file path:



 • Editor
 • Lua Scripting
 • C++ Programming
 • Game Art

Latest Tutorials

Importing Models into Leadwerks
Dec 21 2014 08:06 PM | Josh Klint
Waypoints and Simple AI
Nov 18 2014 11:01 PM | nick.ace
Isometric Camera Template
Nov 09 2014 11:32 AM | randomkeyhits
A simple Lua text requester
Nov 04 2014 02:02 PM | randomkeyhits
All About Functions
Nov 20 2014 07:44 PM | Josh Klint
Animated Models
Sep 13 2014 09:48 PM | AggrorJorn
Importing Assets
Sep 13 2014 01:37 AM | AggrorJorn
Third person template
Sep 12 2014 06:30 AM | YouGroove

Latest Comments

Getting Started with C++
Jan 02 2015 04:23 PM | PoussinJoyeux
Moving Platforms
Jan 02 2015 01:54 PM | abyssus
Introduction to Lua Scripting
Jan 15 2015 03:45 AM | liamgibbins
Creating Your First Object Script
Jan 05 2015 09:40 PM | TheElement
Importing Models into Leadwerks
Dec 27 2014 04:55 PM | MarkusR
Introduction to Lua Scripting
Dec 18 2014 03:26 AM | WindraX
Getting Started with C++
Jan 06 2015 07:51 AM | Captain Howdy
Waypoints and Simple AI
Nov 17 2014 06:10 AM | Bomberman