```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE, eval = FALSE) ``` Though you can use the assets in Shiny just as demonstrated in the [examples](assets.html), for performance reason you are better off following the methodology described in this document. The idea is fairly simple. Copy the asset(s) into your `www` directory and source them in `echarts4r`. The `ea_copy` function will copy the file to your `www` and prompt you to create the directory if is not existing. The function also checks whether the file is already copied before doing so. **Remember to pass `session` to your server function** ```{r} library(shiny) library(echarts4r) library(echarts4r.assets) # copy ea_copy("world") ui <- fluidPage( echarts4rOutput("globe") ) server <- function(input, output, session){ # you MUST pass session output$globe <- renderEcharts4r({ e_charts() %>% e_rm_axis("x") %>% e_rm_axis("y") %>% e_globe( base.texture = ea_source("world") # source ) }) } shinyApp(ui, server) ``` This will be much more performant and will work with any asset.