Background
Images used by Background and Overlay nodes, runtime menu presentation, and parallax background layers.
Nodes do not silently create the images or sounds they need. That is intentional. You choose assets first, then point nodes at them from Properties.
This keeps larger projects easier to repair. If a background, sprite, portrait, or sound is missing, the warning points at the field that needs attention.
When the runtime is installed, imported runtime resources are copied into ReplicatedStorage.VisualNovelCreatorRuntime.StoryAssets. A StoryAssets key is the stable asset key VNC stores for one imported resource.
StoryAssets keys are exact and case-sensitive. Numeric names and any case of
none overlap with asset-reference controls, so VNC rewrites a new import with
one of those names to a safe category-prefixed key, such as background_123 or
audio_none. The import confirmation shows the final key. Existing projects
that already contain an ambiguous key remain compatible: VNC checks the exact
registered key before interpreting a direct Roblox ID or none.
Background
Images used by Background and Overlay nodes, runtime menu presentation, and parallax background layers.
Sprite Image
Character sprite images. Importing one can also create a sprite asset entry for you.
Portrait
Small character portraits used by dialog and portrait links.
Audio
Music, ambience, one-shot sounds, and cue sounds.
Scroll Sound
Typing sound sets used while dialog text appears.
rbxassetid:// value, or Roblox asset URL.The importer accepts plain digits, rbxassetid://123456789, and Roblox URLs that contain an asset ID. If you leave the name blank, VNC tries to use the Roblox asset name. If that is unavailable, it creates a readable ID from the category and number.
VNC checks the Roblox asset before it creates a StoryAssets entry. Background, sprite, and portrait imports need a Roblox Image asset. Audio and scroll sound imports need a Roblox Audio asset. If the asset cannot be verified, is the wrong kind, is private, or cannot be loaded, the import stops with a warning instead of creating an invisible or silent asset.
If you are starting from a Decal, paste the decal’s image content ID instead of the Decal asset ID.
If the same Roblox content ID is already in that StoryAssets category, VNC reuses the existing entry instead of creating a duplicate.
Importing new StoryAssets content requires Studio undo history because the operation changes Instances in the place. If you disabled that setting, VNC leaves the import untouched and asks you to enable it first. The import, any matching sprite definition, and their undo or redo remain one Studio-recorded operation. Changing between Studio and plugin-local history resets the current undo/redo sequence so the two histories cannot replay different document states.
The Assets tab also shows StoryAssets Media for reusable image and audio media currently available in the installed runtime. Those rows refresh when runtime assets are created, renamed, edited, or deleted in Studio.
A sprite image is the raw image that can appear on screen. A sprite asset is the story-level character sprite that owns poses.
When you import a Sprite Image, VNC creates the image entry and can create a matching sprite asset entry. After that, Sprite Enter and Sprite Update nodes can choose the sprite asset, then choose a pose.
Parallax Background presets live with your project assets. From the Assets tab context menu, choose Add Parallax Background, then add layers under that preset and choose a Background Image for each layer.
| Asset type | Used by |
|---|---|
| Background | Background nodes, Overlay image mode, Parallax Background layers, runtime menu imagery |
| Sprite Image | Sprite asset poses |
| Portrait | Dialog portrait override, Character defaults, Portrait Link |
| Audio | Audio nodes, SFX nodes, dialog cues, runtime menu sounds |
| Scroll Sound | Project and Character defaults, Dialog override, Scroll Sound Link |
| Warning situation | What to do |
|---|---|
| A Background node has no background asset | Import a background, then select it in Background. |
| A Parallax Background has no layers or a layer has no image | Add a layer, then choose a Background Image for the layer. |
| A Sprite Enter node has no sprite | Create or import a sprite asset, then select it in Sprite. |
| A pose is missing | Add the pose back under the sprite asset or choose a different pose. |
| An Audio or SFX node has no audio | Import an audio asset, then select it in the node. |
| A portrait or scroll sound link points nowhere | Choose an existing character and an existing portrait or scroll sound set. |
| Import says the asset is the wrong kind | Pick the matching import category, or use an Image asset for visual assets and Audio for sound assets. |
| Import says a Decal cannot be imported directly | Use the Decal’s image content ID instead. |
| Import says the asset could not be loaded | Check that the Roblox asset is public, approved, and usable in Studio. |
The safest habit is to import and name assets before wiring many nodes to them. You can still sketch first, but clear the warnings before runtime testing.