JG — Jondob Games logo Jondob Games · JIS

Every interaction.Every kind of game.

2D· 2.5D· 3D· Easy to use· Zero dependencies

JIS does all of it. Build any interaction you can think of using conditions and reactions that run in sequence or parallel. And it slots into your own game with no effort.

What can you do?
  • A door that unlocks once the right thing happens
  • Spawning enemies at the right moment
  • A collectible that triggers a reward
  • A cutscene that pauses at the right beat
  • Music that swaps with the room
  • A level transition that plays out on cue
  • Routes that branch on a player’s choice

Every game’s list is different. Build yours.

Features

Built to fit the game you’re already making.

Flexible, light, and out of your way. JIS gives you the pieces to compose any interaction.

Any game, on any platform

2D, 2.5D and 3D. A shooter, a strategy game, a roguelike deckbuilder, a quiet narrative game, any genre you can name. New project or one you’re deep in. JIS is flexible and light, so it won’t cost you performance, and it ships everywhere Godot does: desktop, mobile, console, and web.

An editor that’s actually fun

Want a new condition or flag? An animation on cue, a wave of enemies, a few explosions the moment a conversation ends? It’s all a few clicks away. Drag to reorder, pick from an organized reaction list, reach your flags in a tap, add as many as you want, and there’s more. Import your art, wire it up, and you’ve got something playable in minutes.

It works with your code, not against it

JIS does not try to take over your project. It works with what you’ve already built.

  • Easy to extend and integrate: your reactions, your player controls, almost any system you already have.
  • Hook it up to your player by extending one script.
  • Write a reaction that activates, controls, or modifies your existing systems, also from a single script, and your code becomes part of the same flow and sequencing as everything else.
  • It’s all just data. Every flag, every variable, every interaction is json, and one function call hands you the whole thing as a json string.

Fire it however you need

Walk into a zone, press a key, or call it straight from code. Point as many triggers as you like at one interaction.

An asset that keeps growing

Every update brings more. New reactions, new integrations with other tools. You buy JIS once, and every update after is free.

The editor

Author it right in the inspector.

No separate tool, no code for the basics. Build your interactions from conditions and reactions, and run them in parallel or in sequence, all in an easy-to-use inspector.

Interactable Interactable_LevelStart 2D3D
SETTINGS
Max Interactions Count
-1
Lock Till Done
On
PAGESselect a page to edit it
Default
1  No Sword×
+
NO SWORD — CONDITIONS1 condition
Operator
ANDOR
has_sword = false ×
+ Add Condition
NO SWORD — REACTION LIST3 reactions
R_UpdateCondition has_sword = true
R_DebugMessage "You picked up the sword."
R_SetNodeVisibility visible: false
+ Add Reaction × drag to reorder
Runs the first page whose conditions pass. Default is the fallback if none match.
Add Reaction No Sword ×
Filter reactions…
1 2
STATE2 reactions
R_CallMethod
Calls a method on a target node.
R_UpdateCondition
Updates condition's value.
DEBUG2 reactions
R_DebugMessage
Prints a message to the console.
R_LabelMessage
Writes text into a label.
ANIMATION1 reaction
R_PlayAnim
Plays an animation.
SCENE2 reactions
R_SetNodeVisibility
Shows or hides an object in the scene.
R_SpawnPackedScene
Spawns a copy of a scene into the world.
FLOW2 reactions
R_EmitSignal
Emits a signal on a target node.
R_Wait
Pauses the reaction list for the configured duration.
res://addons/jondob_interaction_system/runtime/reactions/r_update_condition.gd CloseInsert
Add Condition No Sword · AND ×
Filter conditions…
ALL BOOL INT FLOAT
DEMO_CONDITIONSres://demos/shared/conditions/demo_conditions.tres4 conds
door_openBOOL=false
npc_quest_startedBOOL=false
npc_itemsINT=0
npc_quest_completeBOOL=false
+ New condition…opens Conditions Editor ›
GLOBAL_LEVEL_CONDITIONSres://demos/shared/conditions/global_level_conditions.tres2 conds
level_startedBOOL=false
has_swordBOOL=false
+ New condition…opens Conditions Editor ›
has_sword=false CloseInsert
Demos

Demos to explore.

Six scenes that each show one idea end to end. Open any of them, read the setup, and take it apart.

01 · hello_world
jis-demo-hello_world.png

Hello world

Walk up to the pedestal, press a key, and it fires back a message, a sound, and a burst of sparkles all at once. Your first interaction in a single scene.

02 · door
jis-demo-door.png

A door that remembers

Interact to open it, interact again to close it. A single flag remembers which state it’s in.

03 · npc_quest
jis-demo-npc_quest.png

Branching NPC

One NPC changes lines. ‘Help me find 5 cogs’ becomes ‘keep it up,’ then ‘you got them all,’ then a reward. One scene, different pages.

04 · cutscene
jis-demo-cutscene.png

Cutscene zone

The camera zooms in on an angry Nem, lightning cracks, and the room goes up in smoke and fire. Walk into the flames and it reads ‘This is fine.’

05 · custom_reaction
jis-demo-custom_reaction.png

Your own reaction

Touch the strange device and it rattles and flashes through random colors. When the built-ins run out, you write your own reaction, like this one.

06 · mini_game
jis-demo-mini_game.png

A mini-game

Keep the Nems safe: batteries power a tower that shoots the attackers, buttons raise the bridge. A whole mini-game in one scene.

Getting started

You are minutes from your first interaction.

Grab JIS, drop it into your project, place your first Interactable, and run a page. The getting started guide walks you through the rest.

Coming Soon Getting started
FAQ

Common questions.

Basics

What is JIS and what does it do?

JIS, the Jondob Interaction System, is a data driven interaction system for Godot 4. You place Interactables in your scene, give them Reactions to play, gate them with Conditions and fire them with Triggers, all authored in the inspector. It powers doors, chests, NPCs, cutscenes, quests and any other interaction your game needs.

How do I make doors, chests and NPC dialogue in Godot without a script per object?

One Interactable replaces the per object script. Give it Reactions from the built in library (animation, sound, movement, spawning, scene control and more), gate them with Conditions and pick a Trigger. For dialogue, JIS orchestrates the flow, which branch plays and when, while your own text UI or a dialogue addon renders it; asset integrations keep expanding over time.

Is there a no code interaction system for Godot 4?

JIS is authored in the Godot inspector with a custom editor. Reactions, conditions and triggers are configured, not coded. When you do need custom behavior, you extend a single class (JISReaction) and it shows up in the editor automatically.

Which Godot versions does JIS support?

JIS supports Godot 4.6 and newer. It is pure GDScript, so there are no native extensions to match to your engine build.

Can I add JIS to an existing project?

Yes. JIS is a self contained addon: drop the addons folder into your project, enable the plugin, and it works alongside your existing scenes and scripts without restructuring anything.

Features

Does JIS work in 2D and 3D?

Yes. JIS supports 2D, 2.5D and 3D games with the same workflow. It is pure GDScript with zero external dependencies, so it runs on every platform Godot exports to.

How do interactions react to game state, like keys, switches or quest progress?

Every Interactable can hold multiple pages, and Conditions decide which page runs. A locked and an unlocked door are one Interactable with two pages. Reactions can update conditions as they run, so interactions drive each other.

Can reactions run in sequence or in parallel?

Both, in the same list. Each reaction has a wait mode (fire and continue, wait a fixed time, or wait until it finishes), so a single reaction list can mix parallel and sequential steps.

Does interaction state survive scene changes and save games?

State persists across scene changes by default. Across game runs, saving is in your hands: extract the current state as data, store it in your own save system, and load it back later. Nothing persists between runs unless you save it.

Does JIS work in multiplayer games?

Yes. JIS was built with ease of use in multiplayer in mind. You integrate it based on your game's networking and requirements, so you stay in control of what runs where, and it sits naturally next to JMB, our multiplayer backend for Godot.

Pricing & support

Do updates cost extra, and what do they add?

No. JIS is a one time purchase with free updates forever, and it keeps growing: new reactions join the built in library over time, and integrations with popular assets are planned.

Can I use JIS in commercial games, and how does the license work?

Yes. JIS is royalty free and made for commercial games. The indie license is 50 USD and covers teams of up to 9 people. Teams of 10 or more need the pro license, 300 USD, which covers the entire studio. No royalties, no recurring fees.

What is the fastest way to learn JIS?

Six demo scenes ship with it (a hello world, a door, an NPC quest, a cutscene, a custom reaction and a mini game), and the getting started guide ends with a quick reference of the public API.

Where do I get help?

Start with the getting started guide. For anything else, ask in the Discord or email info@jondobgames.com. Support comes straight from the developer and is included with the purchase.

Get notified.

Our latest games, tools, beta programs and news, straight to your inbox.