The Editor
A tour of the Editor — shapes, text, images, particles, widgets with settings, variables, effects, animation, the timeline, and saving your work.
The Editor lets you design your own overlays and widgets from scratch (or start from a template) and animate everything on them. It runs in your browser, saves automatically, and the result is a normal ForgeCast overlay or widget that shows up in your library next to the ready-made ones and runs in OBS from the app (see Widgets, overlays and themes).
Pro and Ultimate
The editor is part of the Pro and Ultimate plans. Free accounts use the ready-made overlays. If you downgrade, your overlays are kept and unlock again when you upgrade. See Account & plans.
Open the editor
Go to My overlays and press New overlay.
Pick a starting point: a blank canvas, an animated lower third, a "Starting soon" screen, an alert card, or a chat and goal HUD. Give it a name if you like.
The editor opens. Everything you do is saved automatically a moment after you stop.
You can also press Customize on any ready-made overlay in your library to get your own editable copy of it.
Use a desktop browser
The editor needs a screen at least 1024 pixels wide. On a phone or small tablet it shows a note instead.
The editor at a glance
| Area | What it does |
|---|---|
| Top bar | Overlay name and save status, tools, undo and redo, snapping, grid, zoom, Preview, export and import |
| Left panel | Add text, shapes, icons, social logos, widgets and images. Layers lists everything on the canvas, top layer first, with groups you can open and close |
| Canvas | Your overlay, drawn at its real size. Scroll with Ctrl to zoom, hold Space and drag to pan |
| Right panel | Design (position, size, colors, text, effects) and Animate for the selected layer. With nothing selected it shows the canvas size and background |
| Timeline | Every animation as a colored bar. Drag the playhead to scrub, press P to play |
Adding things
Use the Add tab, or draw directly on the canvas with the tools in the top bar (T text, R rectangle, O ellipse, L line). Click once for a default size, or drag to draw exactly what you want.
| Kind | Notes |
|---|---|
| Text | Double-click any text on the canvas to edit it in place. Pick from 16 fonts, set size, weight, alignment, spacing, outline and shadow |
| Shapes | Rectangle, rounded, ellipse, triangle, star, hexagon, ring, arrow, chevron, plus, heart, speech bubble, line and corner brackets. Every shape takes a solid color or gradient, an outline and a glow |
| Icons | Small vector icons that scale to any size without getting blurry |
| Social & brand icons | 75 logos in their brand colors: YouTube, Twitch, Discord, X, Instagram, TikTok, Kick, Spotify, Patreon, GitHub and more. Search by name. They are vectors, so you can recolor, resize, outline, glow and animate them like any shape |
| Widgets | Live chat, alert box, goal bar, recent events, latest-member label and timer. In the editor they show sample data. In the ForgeCast app they are filled with your real YouTube events. Default style (at the top of a widget's settings) draws it in one of the app's widget styles, filling the box you gave it; streamers can still pick another for your overlay in the app (how it is chosen) |
| Particles | An emitter that fires particles from inside its box: sparkles, confetti, snow, petals, embers, bubbles, particles you make yourself, or your own pictures. See Particles |
| Your pictures | Upload a picture from your computer (PNG, JPG, GIF or WebP). It is added at its own shape, and kept in Your pictures to use again. You can also drag image files onto the canvas or paste one (Ctrl+V). See Pictures |
| More images | A public https:// link, art that ships with ForgeCast, or a picture setting the streamer chooses from their own PC in the app |
About brand logos
The logos come from the open Simple Icons collection. They are trademarks of their owners. Use them to point viewers to your own channels, and not in a way that suggests the company endorses you.
Why only https image links?
Overlays run on your own PC inside OBS. ForgeCast only allows images from public https addresses, so an overlay can never be used to reach into your home network. Links to localhost, IP addresses and private names are rejected.
Selecting, moving and arranging
- Click a layer to select it, Shift+click to add more, or drag on empty canvas to box-select. Clicking something inside a group selects the whole group.
- Drag to move. Guides appear when edges and centers line up with the canvas or other layers. Hold Ctrl to move without snapping, Shift to lock to one axis.
- Drag a handle to resize (the opposite corner stays put, even on rotated layers). Hold Shift to keep proportions and Alt to resize from the center.
- Drag the round handle above a layer to rotate. Hold Shift to snap to 15 degrees.
- Arrow keys nudge by 1 pixel, Shift+arrows by 10.
- With several layers selected, the right panel offers align and distribute tools.
- In Layers, drag a row to reorder (drop it on a group to put it inside), double-click to rename, and use the eye and lock icons to hide or protect a layer.
Groups
Select two or more layers and press Ctrl+G (or Group in the Layers toolbar or the right panel) to tie them together. A group moves, rotates, resizes, fades and animates as one thing, and everything inside keeps its place relative to the others. Groups can hold other groups, up to 4 levels deep.
- Click anything in a group to select the whole group. Double-click to step inside and select the layer under the pointer, or Ctrl+click to jump straight to it. Esc steps back out.
- Resize a group and everything inside it scales with it. Rotate it and the contents turn together.
- A group's own animations (a slide, a pop, a fade) carry everything inside it. Layers inside can also have their own animations, which play on top of the group's. The starter Social links bar does exactly that: the whole pill fades out while each icon pops in on its own.
- Ungroup with Ctrl+Shift+G. The layers stay exactly where they are on the canvas.
- Copy, paste and duplicate take the whole group, and hiding or locking a group hides or locks everything inside it.
- In the timeline and in Layers, click the arrow beside a group to fold it away.
- The group's frame always hugs its contents. That frame is the group's pivot, so if you move a layer far outside a group, the pivot moves with it.
Styling
- Colors are solid, linear gradient or radial gradient, with any number of stops (up to 8) and transparency.
- Effects apply to the whole layer: blur, brightness, contrast, saturation, hue, grayscale, a drop shadow, and glass blur that frosts whatever is behind the layer.
- Blend modes (multiply, screen, overlay and more) mix a layer with what's beneath it.
- Opacity, flip and skew are in the Design tab.
Looks (Ultimate)
Looks give a layer motion of its own with nothing to set up on the timeline: pick one under Design → Looks and set its Strength and Speed.
- Neon: a glow in the colour you pick that slowly breathes.
- Hologram: colours that keep shifting.
- Glitch: a short burst of red and blue split and jitter every few seconds.
- 3D tilt: a slow sway in space, as if the layer hung in the air.
- Drift: floats gently up and down.
A look moves on stream and while the preview plays, and works alongside the layer's own animations and effects. The lighter performance modes in the app tone looks down (Saver keeps them still). Looks come with Ultimate. On other plans the panel shows them but can't add or change one; a layer that already has a look (from a ready-made overlay, or from before a change of plan) keeps it, and None takes it off.
Outlines
Text, shapes and pictures take an outline (pictures call it a border). Besides its colour, opacity and width you choose:
| Option | Choices |
|---|---|
| Position | Outside (the whole line outside the edge, nothing of the letters or shape is covered), Center (half in, half out) or Inside (the whole line inside the edge) |
| Corners | Smooth (rounded), Sharp (pointed) or Bevel (cut off flat) |
| Style | Solid, Dashed or Dotted (shapes and pictures) |
Text outlines are drawn around the letters as they look on screen, so they come out the same with every font (no stray lines where a font's letter parts overlap), with gradient text, and in OBS. On a rectangle, ellipse or picture a dashed or dotted line keeps whole dashes and dots in every position; on other shapes, dots placed outside or inside show cut in half, so use Center for those.
Outlines made before these options existed look exactly as they did until you change one.
Variables in text
Type a variable between double curly braces, or pick one from Insert variable. In the editor it shows a sample value; in the app it shows the live one.
| Variable | Shows |
|---|---|
{{viewers}}, {{subscribers}}, {{likes}}, {{members}} | Channel numbers |
{{latest.member.name}}, {{latest.subscriber.name}} | Newest member / subscriber |
{{latest.superchat.name}}, {{latest.superchat.amount}}, {{latest.superchat.message}} | Newest Super Chat |
{{goal.current}}, {{goal.target}} | Goal progress |
{{plugin.<plugin id>.<name>}} | A value one of your plugins shows (a timer, a score, an answer), from its overlay.set. Nothing while the plugin is off. See Overlays in the plugin reference. |
An unknown variable stays visible as typed, so typos are easy to spot.
Add |compact to shorten a big number ({{subscribers|compact}} shows 12K) or |raw to show it without thousands separators.
Smart Scale
Turn on Smart Scale under a text layer's font size and the text always stays inside its box: when it would spill out, its letters get smaller until every line fits. Words are kept whole instead of being split across lines. The font size becomes the largest the text gets, so short text keeps it.
The text fits again whenever it changes: while you type, when you resize the box, and on stream when a variable fills in. A long name in Thanks {{latest.subscriber.name}}! shrinks to fit, and the next short one is back at full size. In OBS, an overlay with Smart Scale needs an up-to-date ForgeCast app; an older one asks you to update it.
Overlay or widget, and its size
With nothing selected, the right panel is the document's own settings. Type says what you are making:
- An overlay dresses a whole scene (a frame, arrows, a starting screen).
- A widget is one small live piece placed on top of a scene (a sub goal, a counter). Make its canvas just big enough for it: in OBS it is placed on the scene at that size, in any of nine places, and the streamer can move it.
Canvas takes a preset (1920 × 1080 and the usual sizes) or any width and height from 1 to 8192 pixels, so a widget can be 760 × 140. Layers keep their positions when you change it.
The starting points in New overlay or widget include a Sub goal widget (a goal bar with a target, a title and a colour the streamer can change) and a Sub counter widget (text that shows {{subscribers}} / {{goal}}).
Settings and variables
A setting is something the streamer changes in the app without touching the editor: a goal number, a title, a colour, a picture, a switch, a countdown's length, a button, a sound. Under Settings in the document panel (click an empty spot on the canvas), add one of these kinds:
| Kind | The streamer sees | In the design |
|---|---|---|
| Text | A text box (up to the length you set) | {{title}} in a text |
| Number | A number box (with the smallest and largest value you allow) | {{goal}} in a text, or linked to a layer's size, a bar's target, a chat's text size |
| Colour | A colour picker | Linked to a layer's colour |
| Picture | A button to choose an image or GIF from their PC | An Image layer, a background, or a particle emitter's pictures |
| Switch | An on/off switch | Show only when on any layer: it appears or disappears in OBS |
| Choice | A row of options (or a list, for more than four) | Show only when a layer should show for one option; {{style}} shows the chosen option's label |
| Time | Minutes and seconds | A timer's length ({{length}} shows it as 05:00) |
| Button | A button to press | A layer's Starts (Animate tab): its animation replays, a timer restarts, an emitter fires, each time it is pressed |
| Sound | A sound from their Sound Library, or none | Plays when something happens: an alert shows, a goal is reached, a countdown ends, a button is pressed, or the widget comes on |
Each setting has a name (what you write between the curly braces: letters and digits, starting with a lowercase letter), a label the streamer sees, an optional line of help, and a default. Renaming a setting renames it everywhere it is used. A setting something depends on (a picture that shows it, a layer that starts on its button or is shown by its switch, a sound played by its button) can't be deleted until that is changed.
Try the buttons
While a widget has Button settings, the canvas shows Try the buttons: press one to see what happens in OBS when the streamer presses it in the app.
Using a setting
- In text: type
{{goal}}(or pick it from Insert variable). A goal widget that says{{subscribers}} / {{goal}}shows the real number of subscribers over the goal the streamer chose. - In a layer's look: select the layer, open Link to a setting at the bottom of the Design tab and choose a setting (or a live number such as subscribers) for a colour, a size, a goal's target or progress, a timer's length, a chat's text size or message count, a particle emitter's rate. The value drawn in the editor is used when nothing is linked.
- To show or hide a layer: Show only when in the Design tab picks a switch (on or off) or one option of a choice. A goal widget can hold three goal bars, one per metric, and a Counts choice shows the right one.
- For a timer: in the Timer section, Let the streamer set the length in the app adds a Time setting the countdown follows. Under Starts, pick a Button setting to let the streamer restart it from the app.
The names viewers, likes, subscribers, members, name, amount and message belong to the live data and can't be used for a setting.
Particles
Add a particle emitter from Add → Particles (Sparkles, Confetti, Snow, Petals, Embers, Bubbles) and select it to change everything about it. Particles are born inside the emitter's box and fly out.
| Section | What you set |
|---|---|
| Emitter | Start from a preset; where particles are born (a point, a line across the middle, anywhere in the box, anywhere in a circle); a steady stream or bursts; how many per second or per burst; the most alive at once; whether it starts already running |
| Particle maker | Make your own particles: an icon, an emoji or a few letters (up to 8 characters, such as GG or +1), or a shape you draw with the mouse or a pen (as a line, or filled in). Each one takes the emitter's colours unless you give it a colour of its own; an emoji keeps its own colours. Up to 6 |
| Pictures | Use pictures instead of a shape: an upload, a link, art from ForgeCast, or a picture setting the streamer chooses (up to 6). Each particle takes one of the made particles or pictures at random |
| Look | Shape (circle, soft glow, square, star, heart, spark), colour at birth and at the end, size at birth and at the end, opacity, fade in, spin, and a glow that adds light to what is behind |
| Motion | How long particles live, their speed, direction and spread, sideways and downward pull, and drag |
An emitter is drawn the same way in the editor, on the website, and in OBS, and costs little: its path is a formula, nothing is simulated step by step. In the editor, press Preview to watch it move.
Pictures
An Image layer, a background and a particle emitter can all take their picture from one of four places:
- Built-in: art that ships with ForgeCast.
- Upload: a picture you uploaded (PNG, JPG, GIF or WebP, up to 5 MB and 8192 pixels a side). Pick one from Your pictures, or upload a new one right there.
- Link: a public
https://address. - Setting: a picture setting, so the streamer picks the file in the app. It is copied into ForgeCast's own folder on their PC and never uploaded; until they choose one, a placeholder (or the emitter's plain shape) shows. Use this for logos, mascots and emotes that differ per streamer.
Uploading pictures
Uploading is part of the Pro and Ultimate plans: Pro keeps up to 100 MB (200 pictures), Ultimate 1 GB (1,000 pictures). The same picture uploaded twice is stored once. What a file is comes from its content, never its name, and SVG is not accepted (it can carry scripts).
- In the Editor: Add → Your pictures → Upload a picture, drop files on the canvas (they land where you drop them), or paste an image you copied.
- On My overlays: Your pictures lists everything you uploaded, how many overlays use each one, and how much room is left. Delete what you no longer need there or in the Editor; an overlay that showed a deleted picture shows nothing in its place.
- In OBS: the ForgeCast app fetches each uploaded picture an overlay uses once and keeps a copy on your PC, so OBS shows it from there (also when the internet is down).
- A picture can't be deleted while a published marketplace item shows it, because everyone who added that item sees it too.
Need artwork? The AssetImages folder in the ForgeCast project has ready-to-use image-generation prompts for whole themes (Sakura, Midnight, Neon Cyberpunk and more): backgrounds, webcam frames, chat panels, alert plaques, particle sprites and icons, with the right sizes.
Add > Images > Picture from a setting
This adds an Image layer together with a picture setting in one go.
Publishing to the marketplace
ForgeCast staff see a Publish button in the top bar. It publishes the saved version as a widget or overlay (whichever you made), with a name, description, category and the plan that unlocks it (Free, Pro or Ultimate). Press it again after more changes to update the same listing. Themes are built from published items in the admin area.
Animating
Everything can move, grow, fade, spin, blur, type itself out, and more. Animation lives on the timeline at the bottom and in the Animate tab on the right.
Select a layer and open the Animate tab.
Choose a type (Entrance, Exit, Loop or Attention) and click a preset such as Pop in, Slide in from left, Typewriter, Pulse or Shake. The preview starts right away.
The animation appears as a bar on the timeline. Drag the bar to change when it starts, drag its edges to change how long it takes.
Select the bar to fine-tune it in the Animate tab: easing, repeat, preset settings, and the keyframes themselves.
Press P or Preview to play everything. Click the canvas once to pause. Esc, or Edit layout instead, takes you back to designing the layout.
Animation presets
| Type | Examples |
|---|---|
| Entrance | Fade, slide in from any side, zoom, pop, elastic pop, bounce, spin, flip, blur in, wipe, typewriter |
| Exit | The mirror image of every entrance |
| Loop | Pulse, float, sway, spin, heartbeat, breathe, glow pulse, wobble. They repeat for as long as the overlay plays |
| Attention | Shake, flash, tada, jello, rubber band, swing: a quick eye-catcher |
Select several layers first and a preset is added to all of them with a stagger between layers. That's how you get a row of items popping in one after another.
Timing, easing and repeat
- Easing shapes the motion: gentle ease in and out, a springy overshoot (Back out), a bounce, an elastic wobble, and more.
- Repeat: once, a number of times, or forever. Play back and forth reverses every other repeat.
- Hold keeps the first pose before an animation starts (so a delayed entrance doesn't flash on early) or the last pose after it ends (so an exit stays gone).
- The timeline Length is the window you edit in. It only decides when layers start over if they follow the timeline (see below).
How each layer plays: once, or on a loop
Every layer keeps its own time. In the Animate tab, How it plays sets it for the selected layer:
| Choice | In OBS |
|---|---|
| Once | Its animations play from when the overlay comes on, then the layer stays exactly as they leave it. It never starts over by itself (an animation set to repeat forever, like a pulse, keeps going) |
| Loop | Its animations start over every time they end, or every few seconds if you set how often it repeats |
| Timeline | It follows the whole overlay's timeline and starts over when the timeline does (how documents made before this behaved) |
A layer gets Once when you give it its first animation. Starts chooses when its clock begins: when the overlay comes on, or every time a Button setting is pressed in the app (until the first press it waits at its start). Preview in the editor shows what OBS will do: layers set to play once stay put after the first pass while the timeline keeps looping.
Timers and particle emitters count on their own clock too: a countdown never resets when the animation timeline loops, and it carries on where it was if OBS reloads the page.
Custom keyframes
Press Custom keyframes, or edit any preset's keyframes by hand. Each animated property (move, scale, rotate, opacity, blur, brightness, reveal and more) has its own list of keyframes with a time (in percent of the animation) and a value. The small graph shows exactly how the value changes. Drag the white diamonds on the selected bar to retime a keyframe.
Animations describe changes from the layer's own position and size, so you can freely move or resize a layer afterwards without breaking its animation.
Add keyframes by hand
You don't have to pick a preset. Pose a layer at two or more moments and ForgeCast animates between the poses.
Select a layer and put the playhead where you want the first pose, for example the start (Home). Press K, or the Add keyframe button in the Animate tab or the timeline. A keyframe of the layer's current pose appears as a gold diamond on its timeline row.
Move the playhead to a later time. Now move the layer: drag it on the canvas, turn or resize it with the handles, nudge it with the arrow keys, or type values in the Animate tab. The editor switches to Animate mode and shows the layer where you put it. Its outline turns gold and a note says Not keyed yet.
Press K again. The new pose is stored as a keyframe at the playhead. Press play: the layer travels from the first pose to the second.
A few things worth knowing:
- Move, then press K, again and again. Every K records what the layer looks like at the playhead. Press K at a time that already has a keyframe and it is updated, not duplicated.
- What gets recorded. The first time you press K on a layer it records move, scale, rotate and opacity. After that it records every property that already has keyframes, plus anything you just changed. For one property only, click the diamond next to its value in the Animate tab. Skew, blur, brightness and reveal are under More properties.
- A single keyframe holds its pose. With only one keyframe the layer stays in that pose for the whole timeline. Add a keyframe at 0.00s to animate into it.
- Moving the playhead leaves an unkeyed pose behind. Press K first to keep it. Esc discards it.
- Jump between keyframes with Alt+Left and Alt+Right. Shift+K removes the keyframes at the playhead.
- On the timeline, click a diamond to jump there and drag it to retime it (Shift for exact times, otherwise it snaps to the playhead and to 50 ms). The Ease to next setting on the selected keyframe shapes the motion toward the following one.
- Keyframes sit on top of any preset animations on the layer, so you can add a hand-made move to a layer that already pops in.
- Several layers selected? K gives each its own keyframe, using its own pose.
- Working on the layout again? Press Esc or Edit layout instead. Dragging in Design mode moves the layer's resting position and never creates keyframes.
Saving, undo and sharing
- Autosave runs a moment after each change. The top bar shows Saved, Unsaved changes or Saving….
- Undo (Ctrl+Z) and Redo (Ctrl+Shift+Z) go back through your whole session. A drag or a slider move counts as one step.
- If the overlay was changed somewhere else (another tab, or the ForgeCast app), the top bar says Changed elsewhere. Reload. ForgeCast never silently overwrites newer work.
- Export downloads the overlay as a
.forgecast.jsonfile; Import loads one. Import replaces the current design, and Undo brings your previous version back. - The same format is available to developers: see the overlay document format.
Keyboard shortcuts
Press ? in the editor for the full list. The essentials:
| Keys | Action |
|---|---|
| V, H, T, R, O, L | Select, hand, text, rectangle, ellipse, line |
| Ctrl+Z, Ctrl+Shift+Z | Undo, redo |
| Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+D | Copy, cut, paste, duplicate (Ctrl+V with an image on the clipboard uploads and adds it) |
| Ctrl+G, Ctrl+Shift+G | Group, ungroup |
| K | Add a keyframe at the playhead (records any unkeyed changes) |
| Shift+K | Remove the keyframes at the playhead |
| Alt+Left, Alt+Right | Jump to the previous or next keyframe |
| Delete | Delete the selection |
| [ and ] | Send backward, bring forward (add Ctrl for back and front) |
| P | Play or pause the animation preview |
| Space + drag, Ctrl + scroll | Pan, zoom |
| Shift + 0 | Fit the canvas in the window |
Limits
| Layers per overlay | 200 |
| Animations per layer | 16, with up to 32 keyframes per property (hand-made keyframes use one of the 16) |
| Group depth | 4 levels |
| Overlay size | 256 KB |
| Custom overlays | 25 on Pro, 200 on Ultimate |
| Canvas size | Presets from 1280 × 720 to 3840 × 2160, or any width and height from 1 to 8192 |
| Uploaded pictures | 5 MB and 8192 pixels a side each; 100 MB (200 pictures) on Pro, 1 GB (1,000) on Ultimate |
| Particles per emitter | Up to 6 made particles and 6 pictures |

